[Yinghai Lu - Mon, May 11, 2009 at 10:43:33AM -0700] ... | >> | >> x86: apic - fixmap apic address even if apic disabled | >> | >> In case if apic were disabled by boot option | >> we still need read_apic operation. So fixmap | >> a fake apic area if needed. | >> | >> Signed-off-by: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> | >> --- | >> arch/x86/kernel/apic/apic.c | 17 +++++++++-------- | >> 1 file changed, 9 insertions(+), 8 deletions(-) | >> | >> Index: linux-2.6.git/arch/x86/kernel/apic/apic.c | >> ===================================================================== | >> --- linux-2.6.git.orig/arch/x86/kernel/apic/apic.c | >> +++ linux-2.6.git/arch/x86/kernel/apic/apic.c | >> @@ -1591,13 +1591,6 @@ void __init init_apic_mappings(void) | >> } else | >> apic_phys = mp_lapic_addr; | >> | >> - /* lets check if we may NOP'ify apic operations */ | >> - if (!cpu_has_apic) { | >> - pr_info("APIC: disable apic facility\n"); | >> - apic_disable(); | >> - return; | >> - } | >> - | >> /* | >> * acpi lapic path already maps that address in | >> * acpi_register_lapic_address() | >> @@ -1606,7 +1599,15 @@ void __init init_apic_mappings(void) | >> set_fixmap_nocache(FIX_APIC_BASE, apic_phys); | >> | >> apic_printk(APIC_VERBOSE, "mapped APIC to %08lx (%08lx)\n", | >> - APIC_BASE, apic_phys); | >> + APIC_BASE, apic_phys); | >> + | >> + /* lets check if we may NOP'ify apic operations */ | >> + if (!cpu_has_apic) { | >> + pr_info("APIC: disable apic facility\n"); | >> + apic_disable(); | >> + return; | >> + } | >> + | > | > Will check this - thanks. | > | | please check this one instead. | | [PATCH] x86: add native_apic_read_dummy | | when apic is not used ( not there, or disable_apic ), try to install | dummy read too. | | could save 4k in that case. | | [ Impact: fix bug when try to dump APIC reg ] | | Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx> | Cc: Cyrill Gorcunov <gorcunov@xxxxxxxxxx> | Thanks Yinghai, looks really attractive! But would need a good testing (seems we rely on read_apic heavily in smp environment even if it was disabled or not supported). (btw comment about disable_apic now should contain apic->read as well or should be dropped completely since all is selfevidence from code though this is not that important i believe) -- Cyrill -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |