diff options
Diffstat (limited to 'sys/ia64')
-rw-r--r-- | sys/ia64/ia64/interrupt.c | 6 | ||||
-rw-r--r-- | sys/ia64/ia64/mp_machdep.c | 2 | ||||
-rw-r--r-- | sys/ia64/include/cpu.h | 2 | ||||
-rw-r--r-- | sys/ia64/include/globaldata.h | 1 | ||||
-rw-r--r-- | sys/ia64/include/pcpu.h | 1 |
5 files changed, 6 insertions, 6 deletions
diff --git a/sys/ia64/ia64/interrupt.c b/sys/ia64/ia64/interrupt.c index 698b46c..fc2f84a 100644 --- a/sys/ia64/ia64/interrupt.c +++ b/sys/ia64/ia64/interrupt.c @@ -78,8 +78,10 @@ static u_int schedclk2; void interrupt(u_int64_t vector, struct trapframe *framep) { - atomic_add_int(PCPU_PTR(intr_nesting_level), 1); + struct proc *p; + p = curproc; + atomic_add_int(&p->p_intr_nesting_level, 1); switch (vector) { case 240: /* clock interrupt */ CTR0(KTR_INTR, "clock interrupt"); @@ -104,7 +106,7 @@ interrupt(u_int64_t vector, struct trapframe *framep) panic("unexpected interrupt: vec %ld\n", vector); /* NOTREACHED */ } - atomic_subtract_int(PCPU_PTR(intr_nesting_level), 1); + atomic_subtract_int(&p->p_intr_nesting_level, 1); } diff --git a/sys/ia64/ia64/mp_machdep.c b/sys/ia64/ia64/mp_machdep.c index 486d0aa..aa42156 100644 --- a/sys/ia64/ia64/mp_machdep.c +++ b/sys/ia64/ia64/mp_machdep.c @@ -772,7 +772,7 @@ smp_handle_ipi(struct trapframe *frame) if ((frame->tf_cr_ipsr & IA64_PSR_CPL) == IA64_PSR_CPL_USER) checkstate_cpustate[cpuno] = CHECKSTATE_USER; - else if (PCPU_GET(intr_nesting_level) == 1) + else if (curproc->p_intr_nesting_level == 1) checkstate_cpustate[cpuno] = CHECKSTATE_SYS; else checkstate_cpustate[cpuno] = CHECKSTATE_INTR; diff --git a/sys/ia64/include/cpu.h b/sys/ia64/include/cpu.h index d581447..ff36f05 100644 --- a/sys/ia64/include/cpu.h +++ b/sys/ia64/include/cpu.h @@ -67,7 +67,7 @@ struct clockframe { #define CLKF_BASEPRI(framep) \ (((framep)->cf_tf.tf_cr_ipsr & IA64_PSR_I) == 0) #define CLKF_PC(framep) ((framep)->cf_tf.tf_cr_iip) -#define CLKF_INTR(framep) (PCPU_GET(intr_nesting_level) >= 2) +#define CLKF_INTR(framep) (curproc->p_intr_nesting_level >= 2) /* * Preempt the current process if in interrupt from user mode, diff --git a/sys/ia64/include/globaldata.h b/sys/ia64/include/globaldata.h index 6068bd1..91c7fff 100644 --- a/sys/ia64/include/globaldata.h +++ b/sys/ia64/include/globaldata.h @@ -56,7 +56,6 @@ struct globaldata { struct pmap *gd_current_pmap; /* which pmap is active */ u_int32_t gd_next_asn; /* next ASN to allocate */ u_int32_t gd_current_asngen; /* ASN rollover check */ - u_int32_t gd_intr_nesting_level; /* interrupt recursion */ u_int gd_astpending; SLIST_ENTRY(globaldata) gd_allcpu; diff --git a/sys/ia64/include/pcpu.h b/sys/ia64/include/pcpu.h index 6068bd1..91c7fff 100644 --- a/sys/ia64/include/pcpu.h +++ b/sys/ia64/include/pcpu.h @@ -56,7 +56,6 @@ struct globaldata { struct pmap *gd_current_pmap; /* which pmap is active */ u_int32_t gd_next_asn; /* next ASN to allocate */ u_int32_t gd_current_asngen; /* ASN rollover check */ - u_int32_t gd_intr_nesting_level; /* interrupt recursion */ u_int gd_astpending; SLIST_ENTRY(globaldata) gd_allcpu; |