diff options
author | jake <jake@FreeBSD.org> | 2000-12-01 02:09:45 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2000-12-01 02:09:45 +0000 |
commit | 198c36b485e44b0ed782f2fbc1109622dec8a13c (patch) | |
tree | bf900fac75d504c9a33119300798441fd1278c70 /sys/amd64 | |
parent | 4b5687e270a11b427d9638ec4ec24e6b00c42807 (diff) | |
download | FreeBSD-src-198c36b485e44b0ed782f2fbc1109622dec8a13c.zip FreeBSD-src-198c36b485e44b0ed782f2fbc1109622dec8a13c.tar.gz |
Change doreti to take a trapframe instead of an intrframe.
Remove associated pushes of dummy units to convert frame.
Reviewed by: jhb
Diffstat (limited to 'sys/amd64')
-rw-r--r-- | sys/amd64/amd64/apic_vector.S | 6 | ||||
-rw-r--r-- | sys/amd64/amd64/exception.S | 8 | ||||
-rw-r--r-- | sys/amd64/amd64/exception.s | 8 | ||||
-rw-r--r-- | sys/amd64/isa/atpic_vector.S | 4 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.S | 4 | ||||
-rw-r--r-- | sys/amd64/isa/icu_vector.s | 4 |
6 files changed, 13 insertions, 21 deletions
diff --git a/sys/amd64/amd64/apic_vector.S b/sys/amd64/amd64/apic_vector.S index 1f80224..adf4c36 100644 --- a/sys/amd64/amd64/apic_vector.S +++ b/sys/amd64/amd64/apic_vector.S @@ -59,7 +59,7 @@ IDTVEC(vec_name) ; \ lock ; \ incl (%eax) ; \ MEXITCOUNT ; \ - jmp doreti_next + jmp _doreti #define IOAPICADDR(irq_num) CNAME(int_to_apicintpin) + 16 * (irq_num) + 8 #define REDIRIDX(irq_num) CNAME(int_to_apicintpin) + 16 * (irq_num) + 12 @@ -231,7 +231,7 @@ __CONCAT(Xresume,irq_num): ; \ APIC_ITRACE(apic_itrace_leave, irq_num, APIC_ITRACE_LEAVE) ; \ ; \ MEXITCOUNT ; \ - jmp doreti_next + jmp _doreti /* * Handle "spurious INTerrupts". @@ -386,7 +386,7 @@ _Xcpuast: lock incl CNAME(cpuast_cnt) MEXITCOUNT - jmp doreti_next + jmp _doreti 1: /* We are already in the process of delivering an ast for this CPU */ POP_FRAME diff --git a/sys/amd64/amd64/exception.S b/sys/amd64/amd64/exception.S index b891c33..99584a6 100644 --- a/sys/amd64/amd64/exception.S +++ b/sys/amd64/amd64/exception.S @@ -183,6 +183,7 @@ IDTVEC(fpu) call _npx_intr call __mtx_exit_giant_def + addl $4,%esp incb _intr_nesting_level MEXITCOUNT jmp _doreti @@ -220,10 +221,8 @@ calltrap: call _trap /* - * Return via _doreti to handle ASTs. Have to change trap frame - * to interrupt frame. + * Return via _doreti to handle ASTs. */ - subl $4,%esp /* dummy unit to finish intr frame */ incb _intr_nesting_level MEXITCOUNT jmp _doreti @@ -265,7 +264,6 @@ IDTVEC(syscall) cli /* atomic astpending access */ cmpl $0,_astpending /* AST pending? */ je doreti_syscall_ret /* no, get out of here */ - subl $4,%esp /* dummy unit for interrupt frame */ movb $1,_intr_nesting_level jmp _doreti @@ -298,7 +296,6 @@ IDTVEC(int0x80_syscall) cli /* atomic astpending access */ cmpl $0,_astpending /* AST pending? */ je doreti_syscall_ret /* no, get out of here */ - subl $4,%esp /* dummy unit for interrupt frame */ movb $1,_intr_nesting_level jmp _doreti @@ -334,7 +331,6 @@ ENTRY(fork_trampoline) /* * Return via _doreti to handle ASTs. */ - subl $4,%esp /* dummy unit to finish intr frame */ movb $1,_intr_nesting_level MEXITCOUNT jmp _doreti diff --git a/sys/amd64/amd64/exception.s b/sys/amd64/amd64/exception.s index b891c33..99584a6 100644 --- a/sys/amd64/amd64/exception.s +++ b/sys/amd64/amd64/exception.s @@ -183,6 +183,7 @@ IDTVEC(fpu) call _npx_intr call __mtx_exit_giant_def + addl $4,%esp incb _intr_nesting_level MEXITCOUNT jmp _doreti @@ -220,10 +221,8 @@ calltrap: call _trap /* - * Return via _doreti to handle ASTs. Have to change trap frame - * to interrupt frame. + * Return via _doreti to handle ASTs. */ - subl $4,%esp /* dummy unit to finish intr frame */ incb _intr_nesting_level MEXITCOUNT jmp _doreti @@ -265,7 +264,6 @@ IDTVEC(syscall) cli /* atomic astpending access */ cmpl $0,_astpending /* AST pending? */ je doreti_syscall_ret /* no, get out of here */ - subl $4,%esp /* dummy unit for interrupt frame */ movb $1,_intr_nesting_level jmp _doreti @@ -298,7 +296,6 @@ IDTVEC(int0x80_syscall) cli /* atomic astpending access */ cmpl $0,_astpending /* AST pending? */ je doreti_syscall_ret /* no, get out of here */ - subl $4,%esp /* dummy unit for interrupt frame */ movb $1,_intr_nesting_level jmp _doreti @@ -334,7 +331,6 @@ ENTRY(fork_trampoline) /* * Return via _doreti to handle ASTs. */ - subl $4,%esp /* dummy unit to finish intr frame */ movb $1,_intr_nesting_level MEXITCOUNT jmp _doreti diff --git a/sys/amd64/isa/atpic_vector.S b/sys/amd64/isa/atpic_vector.S index 7644c03..51b9493 100644 --- a/sys/amd64/isa/atpic_vector.S +++ b/sys/amd64/isa/atpic_vector.S @@ -69,7 +69,7 @@ IDTVEC(vec_name) ; \ movl _intr_countp + (irq_num) * 4,%eax ; \ incl (%eax) ; \ MEXITCOUNT ; \ - jmp doreti_next + jmp _doreti #if 0 ; \ @@ -141,7 +141,7 @@ __CONCAT(Xresume,irq_num): ; \ MEXITCOUNT ; \ /* We could usually avoid the following jmp by inlining some of */ \ /* _doreti, but it's probably better to use less cache. */ \ - jmp doreti_next /* and catch up inside doreti */ + jmp _doreti /* and catch up inside doreti */ MCOUNT_LABEL(bintr) FAST_INTR(0,fastintr0, ENABLE_ICU1) diff --git a/sys/amd64/isa/icu_vector.S b/sys/amd64/isa/icu_vector.S index 7644c03..51b9493 100644 --- a/sys/amd64/isa/icu_vector.S +++ b/sys/amd64/isa/icu_vector.S @@ -69,7 +69,7 @@ IDTVEC(vec_name) ; \ movl _intr_countp + (irq_num) * 4,%eax ; \ incl (%eax) ; \ MEXITCOUNT ; \ - jmp doreti_next + jmp _doreti #if 0 ; \ @@ -141,7 +141,7 @@ __CONCAT(Xresume,irq_num): ; \ MEXITCOUNT ; \ /* We could usually avoid the following jmp by inlining some of */ \ /* _doreti, but it's probably better to use less cache. */ \ - jmp doreti_next /* and catch up inside doreti */ + jmp _doreti /* and catch up inside doreti */ MCOUNT_LABEL(bintr) FAST_INTR(0,fastintr0, ENABLE_ICU1) diff --git a/sys/amd64/isa/icu_vector.s b/sys/amd64/isa/icu_vector.s index 7644c03..51b9493 100644 --- a/sys/amd64/isa/icu_vector.s +++ b/sys/amd64/isa/icu_vector.s @@ -69,7 +69,7 @@ IDTVEC(vec_name) ; \ movl _intr_countp + (irq_num) * 4,%eax ; \ incl (%eax) ; \ MEXITCOUNT ; \ - jmp doreti_next + jmp _doreti #if 0 ; \ @@ -141,7 +141,7 @@ __CONCAT(Xresume,irq_num): ; \ MEXITCOUNT ; \ /* We could usually avoid the following jmp by inlining some of */ \ /* _doreti, but it's probably better to use less cache. */ \ - jmp doreti_next /* and catch up inside doreti */ + jmp _doreti /* and catch up inside doreti */ MCOUNT_LABEL(bintr) FAST_INTR(0,fastintr0, ENABLE_ICU1) |