From 7a9d7023a212cc15b5c2add18ecf518a135c56d5 Mon Sep 17 00:00:00 2001 From: John Baldwin Date: Tue, 3 Feb 2004 22:00:42 +0000 Subject: Revert the skipping of segment register reloads as it appears to actually be a pessimization on non Pentium4 CPUs. More importantly, it is buggy as it can cause GPF's when using APM or vm86. --- sys/i386/isa/atpic_vector.s | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'sys/i386/isa') diff --git a/sys/i386/isa/atpic_vector.s b/sys/i386/isa/atpic_vector.s index 4b819ce44688..e3dc38f6f383 100644 --- a/sys/i386/isa/atpic_vector.s +++ b/sys/i386/isa/atpic_vector.s @@ -63,15 +63,12 @@ IDTVEC(vec_name) ; \ pushl %ds ; /* save data and extra segments ... */ \ pushl %es ; \ pushl %fs ; \ - mov %fs,%ax ; /* get current per-cpu selector */ \ - cmp $KPSEL,%ax ; /* are we already in the kernel? */ \ - je 1f ; /* skip expensive segment reloads */ \ mov $KDSEL,%ax ; /* load kernel ds, es and fs */ \ mov %ax,%ds ; \ mov %ax,%es ; \ mov $KPSEL,%ax ; \ mov %ax,%fs ; \ -1: ; \ +; \ FAKE_MCOUNT(13*4(%esp)) ; /* XXX late to avoid double count */ \ pushl $irq_num; /* pass the IRQ */ \ call atpic_handle_intr ; \ -- cgit v1.2.3