[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 4/5 gnumach] kdb: Fix ON_INT_STACK() macro to be cpu_number a
From: |
Samuel Thibault |
Subject: |
Re: [PATCH 4/5 gnumach] kdb: Fix ON_INT_STACK() macro to be cpu_number aware |
Date: |
Wed, 1 Feb 2023 18:59:41 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Damien Zammit, le mer. 01 févr. 2023 10:06:05 +0000, a ecrit:
> ---
> i386/i386/db_trace.c | 3 ++-
> i386/i386at/model_dep.h | 4 ++--
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/i386/i386/db_trace.c b/i386/i386/db_trace.c
> index 99cb8c48..04c868af 100644
> --- a/i386/i386/db_trace.c
> +++ b/i386/i386/db_trace.c
> @@ -37,6 +37,7 @@
> #include <machine/machspl.h>
> #include <machine/db_interface.h>
> #include <machine/db_trace.h>
> +#include <machine/cpu_number.h>
> #include <i386at/model_dep.h>
>
> #include <ddb/db_access.h>
> @@ -147,7 +148,7 @@ db_i386_reg_value(
> if (thread == current_thread()) {
> if (ddb_regs.cs & 0x3)
> dp = vp->valuep;
> - else if (ON_INT_STACK(ddb_regs.ebp))
> + else if (ON_INT_STACK(ddb_regs.ebp, cpu_number()))
> db_error("cannot get/set user registers in nested
> interrupt\n");
> }
> } else {
> diff --git a/i386/i386at/model_dep.h b/i386/i386at/model_dep.h
> index df327ca2..3d5b6645 100644
> --- a/i386/i386at/model_dep.h
> +++ b/i386/i386at/model_dep.h
> @@ -27,8 +27,8 @@
> */
> extern vm_offset_t int_stack_top[NCPUS], int_stack_base[NCPUS];
>
> -/* Check whether P points to the interrupt stack. */
> -#define ON_INT_STACK(P) (((P) & ~(INTSTACK_SIZE-1)) ==
> int_stack_base[0])
> +/* Check whether P points to the per-cpu interrupt stack. */
> +#define ON_INT_STACK(P, CPU) (((P) & ~(INTSTACK_SIZE-1)) ==
> int_stack_base[CPU])
>
> extern vm_offset_t timemmap(dev_t dev, vm_offset_t off, vm_prot_t prot);
>
> --
> 2.34.1
>
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.