diff options
Diffstat (limited to 'sys/amd64/include/mptable.h')
-rw-r--r-- | sys/amd64/include/mptable.h | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/amd64/include/mptable.h b/sys/amd64/include/mptable.h index 50d1ce7..61c5ecf 100644 --- a/sys/amd64/include/mptable.h +++ b/sys/amd64/include/mptable.h @@ -487,8 +487,6 @@ init_secondary(void) common_tssd = *tss_gdt; ltr(gsel_tss); - load_cr0(0x8005003b); /* XXX! */ - pmap_set_opt(); } @@ -623,13 +621,6 @@ mp_enable(u_int boot_addr) /* start each Application Processor */ start_all_aps(boot_addr); - - /* - * The init process might be started on a different CPU now, - * and the boot CPU might not call prepare_usermode to get - * cr0 correctly configured. Thus we initialize cr0 here. - */ - load_cr0(rcr0() | CR0_WP | CR0_AM); } @@ -2375,8 +2366,8 @@ ap_init() printf("SMP: AP CPU #%d Launched!\n", cpuid); - /* XXX FIXME: i386 specific, and redundant: Setup the FPU. */ - load_cr0((rcr0() & ~CR0_EM) | CR0_MP | CR0_NE | CR0_TS); + /* set up CPU registers and state */ + cpu_setregs(); /* set up FPU state on the AP */ npxinit(__INITIAL_NPXCW__); |