summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-01-29x86: refactor ->check_phys_apicid_present() subarch methodsIngo Molnar17-25/+38
- spread out the namespace to per driver methods - extend it to 64-bit as well so that we can use apic->check_phys_apicid_present() unconditionally Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: refactor ->setup_portio_remap() subarch methodsIngo Molnar12-30/+22
Only NUMAQ has a real ->setup_portio_remap() method, the other subarchitectures define it but keep it empty. So mark the vector as NULL, extend the generic code to handle NULL -setup_portio_remap() entries and remove all the empty handlers. Also move the NUMAQ method from the header file into the apic driver .c file. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->apicid_to_cpu_present()Ingo Molnar13-15/+14
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->cpu_present_to_apicid()Ingo Molnar17-17/+34
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->cpu_to_logical_apicid()Ingo Molnar12-25/+25
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->apicid_to_node()Ingo Molnar12-13/+12
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: streamline the ->multi_timer_check() quirkIngo Molnar12-30/+14
only NUMAQ uses this quirk: to prevent the timer IRQ from being added on secondary nodes. All other genapic templates can have a NULL ->multi_timer_check() callback. Also, extend the generic code to treat a NULL pointer accordingly. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->setup_apic_routing()Ingo Molnar17-22/+20
- separate the namespace - remove macros - remove namespace clash on 64-bit Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->ioapic_phys_id_map()Ingo Molnar12-13/+13
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->init_apic_ldr()Ingo Molnar12-15/+13
- separate the namespace - remove macros Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up ->vector_allocation_domain()Ingo Molnar8-24/+24
- separate the namespace - remove macros - move the default vector-allocation-domain to mach-generic - fix whitespace damage Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove no_balance_irq and no_ioapic_check flagsIngo Molnar16-44/+0
These flags are completely unused. (the in-kernel IRQ balancer has been removed from the upstream kernel.) Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up check_apicid*() callbacksIngo Molnar12-27/+29
Clean up these methods - to make it clearer which function is used in which case. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: rename genapic::apic_destination_logical to genapic::dest_logicalIngo Molnar13-20/+20
This field name was unreasonably long - shorten it. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up the APIC_DEST_LOGICAL logicIngo Molnar12-25/+19
Impact: cleanup The bigsmp and es7000 subarchitectures un-defined APIC_DEST_LOGICAL in a rather nasty way by re-defining it to zero. That is infinitely fragile and makes it very hard to see what to code really does in a given context. The very same constant has different meanings and values - depending on which subarch is enabled. Untangle this mess by never undefining the constant, but instead propagating the right values into the genapic driver templates. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: rename ->ESR_DISABLE to ->disable_esrIngo Molnar11-13/+13
the ->ESR_DISABLE shouting variant was used to enable the esr_disable macro wrappers. Those ugly macros are removed now so we can rename ->ESR_DISABLE to ->disable_esr Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up esr_disable() methodsIngo Molnar12-13/+7
Impact: cleanup Most subarchitectures want to disable the APIC ESR (Error Status Register), because they generally have hardware hacks that wrap standard CPUs into a bigger system and hence the APIC bus is quite non-standard and weirdnesses (lockups) have been seen with ESR reporting. Remove the esr_disable macros and put the desired flag into each subarchitecture's genapic template directly. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up / remove TARGET_CPUSIngo Molnar5-17/+14
Impact: cleanup use apic->target_cpus() directly instead of the TARGET_CPUS wrapper. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: clean up target_cpus methodsIngo Molnar10-12/+12
Impact: cleanup Clean up all the target_cpus() namespace overlap that exists between bigsmp, es7000, mach-default, numaq and summit - by separating the different functions into different names. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove IRQ_DEST_MODEIngo Molnar1-1/+0
Remove leftover definition. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODEIngo Molnar2-4/+3
Impact: cleanup They were only used in a single place and obscured the apic_es7000 driver template. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODEIngo Molnar2-4/+3
Impact: cleanup They were only used in a single place and obscured the apic_bigsmp driver template. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODEIngo Molnar2-5/+3
Impact: cleanup They were only used in a single place and obscured the apic_numaq template. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODEIngo Molnar2-5/+3
Impact: cleanup They were only used in a single place and obscured the apic_summit template. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODEIngo Molnar2-4/+3
Impact: cleanup They were only used in a single place and obscured the apic_default template. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODEIngo Molnar12-38/+35
Remove the wrapper macros IRQ_DEST_MODE and IRQ_DELIVERY_MODE. The typical 32-bit and the 64-bit build all dereference via the genapic, so it's pointless to hide that indirection via these ugly macros. Furthermore, it also obscures subarchitecture details. So replace it with apic->irq_dest_mode / etc. accesses. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: rename int_delivery_mode, et. al.Ingo Molnar17-53/+53
int_delivery_mode is supposed to mean 'interrupt delivery mode', but it's quite a misnomer as 'int' we usually think of as an integer type ... The standard naming for such attributes is 'irq' - so rename the following fields and macros: int_delivery_mode => irq_delivery_mode INT_DELIVERY_MODE => IRQ_DELIVERY_MODE int_dest_mode => irq_dest_mode INT_DEST_MODE => IRQ_DEST_MODE Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up apic->apic_id_registered() methodsIngo Molnar12-15/+13
Impact: cleanup x86 subarchitectures each defined a "apic_id_registered()" method, which could be an inline function depending on which subarch we build for, and which was also the name of a genapic field. Untangle this namespace spaghetti by giving each of the instances a separate name. Also remove wrapper macro obfuscation. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up apic->acpi_madt_oem_check methodsIngo Molnar13-30/+29
Impact: refactor code x86 subarchitectures each defined a "acpi_madt_oem_check()" method, which could be an inline function, or an extern, or a static function, and which was also the name of a genapic field. Untangle this namespace spaghetti by setting ->acpi_madt_oem_check() to NULL on those subarchitectures that have no detection quirks, and rename the other ones (summit, es7000) that do. Also change default_acpi_madt_oem_check() to handle NULL entries, and clean its control flow up as well. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: remove APIC_INIT / APICFUNC / IPIFUNCIngo Molnar1-61/+2
The APIC_INIT() / APICFUNC / IPIFUNC macros were ugly and obfuscated the true identity of various APIC driver methods. Now that they are not used anymore, remove them. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanup 32-bit apic_summit templateIngo Molnar1-1/+57
Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanup 32-bit apic_es7000 templateIngo Molnar1-1/+57
Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanup 32-bit apic_numaq templateIngo Molnar1-1/+57
Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanup 32-bit apic_bigsmp templateIngo Molnar1-1/+57
Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanup 32-bit apic_default templateIngo Molnar1-1/+57
Clean up the APIC driver template: - order fields properly - use the macro names explicitly (so that they can be renamed later) - fill in NULL entries as well Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up apic_x2apic_clusterIngo Molnar1-19/+55
- reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up apic_x2apic_physIngo Molnar1-19/+55
- reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up apic_x2apic_uv_xIngo Molnar1-19/+55
- reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up genapic_phys_flatIngo Molnar1-19/+56
- reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: clean up genapic_flatIngo Molnar1-19/+54
- reorder fields so that they appear in struct genapic field ordering - add zero-initialized fields too so that it's apparent which functionality is default / missing. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86: rename 'genapic' to 'apic'Ingo Molnar15-127/+127
Rename genapic-> to apic-> references because in a future chagne we'll open-code all the indirect calls (instead of obscuring them via macros), so we want this reference to be as short as possible. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: provide IPI callbacks unconditionallyIngo Molnar1-2/+1
64-bit x86 uses the IPI callbacks even on UP - so provide them generally. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: cleanupsIngo Molnar1-9/+8
Unify genapic.h some more. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: finish unificationIngo Molnar3-86/+78
Unify remaining bits of genapic_32/64.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: unify struct genapicIngo Molnar3-184/+96
Move over the (now identical) struct genapic definitions from genapic_32/64.h to genapic.h. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: refactor genapic_32.hIngo Molnar1-10/+27
Impact: pre unification cleanup Make genapic_32.h similar to genapic_64.h: reorder fields, unify types and bring in new entries. No existing functionality is affected. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29x86, genapic: refactor genapic_64.hIngo Molnar1-9/+59
Impact: pre unification cleanup Make genapic_64.h similar to genapic_32.h: reorder fields, unify types and bring in new entries. No existing functionality is affected. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-29Merge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', ↵Ingo Molnar36-891/+616
'x86/doc', 'x86/header-fixes', 'x86/mm', 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core
2009-01-29Merge branch 'core/percpu' into x86/coreIngo Molnar168-2342/+2309
Conflicts: kernel/irq/handle.c
2009-01-28Linux 2.6.29-rc3v2.6.29-rc3Linus Torvalds1-1/+1