Removes the option ENABLE_MP_TABLES
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 20 Jan 2015 20:50:53 +0000 (15:50 -0500)
committerBarret Rhoden <brho@cs.berkeley.edu>
Tue, 20 Jan 2015 20:50:53 +0000 (15:50 -0500)
Everyone should be saying 'Y' at this point, so much so that I don't want to
support the old style.  ENABLE_MP_TABLES was also a catch-all for anything
related to mptables, acpi, msi-x, etc.

config-default
kern/arch/x86/Kconfig
kern/arch/x86/apic.c
kern/arch/x86/smp_boot.c
kern/arch/x86/trap.c

index 57a2f2f..2128bca 100644 (file)
@@ -16,7 +16,6 @@ CONFIG_X86_64=y
 # x86 Hacks
 #
 CONFIG_NOMTRRS=y
-# CONFIG_ENABLE_MPTABLES is not set
 # CONFIG_KB_CORE0_ONLY is not set
 CONFIG_NETWORKING=y
 CONFIG_SOCKET=y
index bfc769e..20cd789 100644 (file)
@@ -55,13 +55,6 @@ config NOMTRRS
                Old debug option from when we were having issues with MTRRs.  If your
                machine won't boot, try turning this on.
 
-config ENABLE_MPTABLES
-       bool "Enable MP Tables"
-       default n
-       help
-               Turns on basic MP tables support.  If you want to route IRQs, you'll
-               need this, until we get around to parsing ACPI tables.
-
 config KB_CORE0_ONLY
        bool "Keyboard from core0 only"
        default n
index c3effdd..b975bc1 100644 (file)
 
 bool lapic_check_spurious(int trap_nr)
 {
-#ifndef CONFIG_ENABLE_MPTABLES
-       /* no MP tables doesn't use the new spurious vec */
-       return FALSE;
-#endif
        /* FYI: lapic_spurious is 255 on qemu and 15 on the nehalem..  We actually
         * can set bits 4-7, and P6s have 0-3 hardwired to 0.  YMMV.  NxM seems to
         * say the lower 3 bits are usually 1.  We'll see if the assert trips.
index 2900e41..62cceaa 100644 (file)
@@ -309,18 +309,7 @@ uintptr_t smp_main(void)
        // Loads the same IDT used by the other cores
        asm volatile("lidt %0" : : "m"(idt_pd));
 
-#ifdef CONFIG_ENABLE_MPTABLES
        apiconline();
-#else
-       // APIC setup
-       // set LINT0 to receive ExtINTs (KVM's default).  At reset they are 0x1000.
-       write_mmreg32(LAPIC_LVT_LINT0, 0x700);
-       // mask it to shut it up for now.  Doesn't seem to matter yet, since both
-       // KVM and Bochs seem to only route the PIC to core0.
-       mask_lapic_lvt(LAPIC_LVT_LINT0);
-       // and then turn it on
-       lapic_enable();
-#endif
 
        // set a default logical id for now
        lapic_set_logid(lapic_get_id());
index 51aa6fd..10526be 100644 (file)
@@ -165,7 +165,6 @@ void idt_init(void)
        pic_remap();
        pic_mask_all();
 
-#ifdef CONFIG_ENABLE_MPTABLES
        int ncleft = MAX_NUM_CPUS;
 
        ncleft = mpsinit(ncleft);
@@ -174,12 +173,6 @@ void idt_init(void)
 
        apiconline();
        ioapiconline();
-#else
-       // set LINT0 to receive ExtINTs (KVM's default).  At reset they are 0x1000.
-       write_mmreg32(LAPIC_LVT_LINT0, 0x700);
-       lapic_enable();
-       unmask_lapic_lvt(LAPIC_LVT_LINT0);
-#endif
 
        /* the lapic IRQs need to be unmasked on a per-core basis */
        register_irq(IdtLAPIC_TIMER, timer_interrupt, NULL,