diff options
author | jhb <jhb@FreeBSD.org> | 2005-12-05 21:44:47 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2005-12-05 21:44:47 +0000 |
commit | 6df33a8d26246dfd19b65fe387f54ec15efdbaf7 (patch) | |
tree | afc316c1f725b4742e923bcc4536421465d0cb3a /sys/i386/isa | |
parent | 7bb88a772a30446af67a12d5695731078cb24d5a (diff) | |
download | FreeBSD-src-6df33a8d26246dfd19b65fe387f54ec15efdbaf7.zip FreeBSD-src-6df33a8d26246dfd19b65fe387f54ec15efdbaf7.tar.gz |
- Move PUSH_FRAME and POP_FRAME into machine/asmacros.h.
- Add a new SET_KERNEL_SREGS macro that sets up %ds and %es to point to
kernel data and %fs to point to per-CPU data and use the new macro
in several kernel entry points including trap and interrupt handlers.
- Convert the IPI_STOP handler Xcpustop to push a standard trap frame
rather than an application frame.
- Make the TRAP() macro private to exception.s since it is only used
there.
- Move the PCPU_*() macros in asmacros.h out of the middle of the
profiling macros.
Reviewed by: bde
Requested by: bde (4, 5)
Diffstat (limited to 'sys/i386/isa')
-rw-r--r-- | sys/i386/isa/atpic_vector.s | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/i386/isa/atpic_vector.s b/sys/i386/isa/atpic_vector.s index 52aaded..dcf4135 100644 --- a/sys/i386/isa/atpic_vector.s +++ b/sys/i386/isa/atpic_vector.s @@ -47,17 +47,8 @@ .text ; \ SUPERALIGN_TEXT ; \ IDTVEC(vec_name) ; \ - pushl $0 ; /* dummy error code */ \ - pushl $0 ; /* dummy trap type */ \ - pushal ; /* 8 ints */ \ - pushl %ds ; /* save data and extra segments ... */ \ - pushl %es ; \ - pushl %fs ; \ - movl $KDSEL, %eax ; /* reload with kernel's data segment */ \ - movl %eax, %ds ; \ - movl %eax, %es ; \ - movl $KPSEL, %eax ; /* reload with per-CPU data segment */ \ - movl %eax, %fs ; \ + PUSH_FRAME ; \ + SET_KERNEL_SREGS ; \ ; \ FAKE_MCOUNT(TF_EIP(%esp)) ; \ pushl $irq_num; /* pass the IRQ */ \ |