Ingo Molnar [Wed, 28 Jan 2009 18:14:52 +0000 (19:14 +0100)]
x86, smp: remove mach_ipi.h
Move mach_ipi.h definitions into genapic.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 18:19:12 +0000 (19:19 +0100)]
x86, bigsmp: consolidate header code
Move all the asm/bigsmp/*.h definitions into bigsmp_32.c.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 18:04:37 +0000 (19:04 +0100)]
x86, bigsmp: consolidate code
Move all code to arch/x86/kernel/bigsmp_32.c.
With this it ceases to rely on any build-time subarch features.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 18:01:05 +0000 (19:01 +0100)]
x86, NUMAQ: Consolidate code
Move all NUMAQ code into arch/x86/kernel/numaq.c.
With this it ceases to rely on any build-time subarch features.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 18:01:05 +0000 (19:01 +0100)]
x86, ES7000: Consolidate code
Move all ES7000 code into arch/x86/kernel/es7000_32.c.
With this it ceases to rely on any build-time subarch features.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Suresh Siddha [Thu, 29 Jan 2009 01:52:57 +0000 (17:52 -0800)]
x86: remove mach_apic.h, fix
Use apic_read() instead of open-coded mmio.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:55:37 +0000 (17:55 +0100)]
x86: remove mach_apic.h
Spread mach_apic.h definitions into genapic.h. (with some knock-on effects
on smp.h and apic.h.)
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Thu, 29 Jan 2009 10:29:22 +0000 (11:29 +0100)]
x86, summit: consolidate code, fix
Build fix for !NUMA Summit.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 17:49:31 +0000 (18:49 +0100)]
x86, summit: consolidate code
Consolidate all the Summit code into a single file:
arch/x86/kernel/summit_32.c.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 17:47:24 +0000 (18:47 +0100)]
x86, numaq: consolidate code
Move all the NUMAQ subarch definitions into numaq.c. With this it
ceases to depend on build-time subarch features.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:50:18 +0000 (17:50 +0100)]
x86, smp: refactor ->wake_cpu
- remove macro wrappers
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:36:56 +0000 (17:36 +0100)]
x86: remove mach_apicdef.h
Move its definitions into apic.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:36:56 +0000 (17:36 +0100)]
x86: remove mach_mpspec.h
Move its definitions into mpspec.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:29:27 +0000 (17:29 +0100)]
x86: eliminate asm/mach-*/mach_mpparse.h
Move the definition to mpparse.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:16:25 +0000 (17:16 +0100)]
x86, smp: eliminate asm/mach-default/mach_wakecpu.h
Spread mach_wakecpu.h's definitions into apic.h and genapic.h
and remove mach_wakecpu.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 16:09:58 +0000 (17:09 +0100)]
x86, ES7000: consolidate the APIC code
Consolidate all the ES7000 APIC code into arch/x86/mach-generic/es7000.c.
With this ES7000 ceases to rely on any subarchitecture include files.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:31:52 +0000 (16:31 +0100)]
x86, smp: refactor ->inquire_remote_apic() methods
Nothing exciting - a few subarches dont want APIC remote reads to
be performed - the others are content with the default method.
- extend the generic code to handle NULL methods
- clear out dummy methods and replace them with NULL
- clean up: remove wrapper macros, etc.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:43:47 +0000 (16:43 +0100)]
x86, smp: remove ->restore_NMI_vector()
Nothing actually restores the NMI vector - so remove this
logic altogether.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:31:52 +0000 (16:31 +0100)]
x86, smp: refactor ->store/restore_NMI_vector() methods
Only NUMAQ does something substantial here, because it initializes
via NMIs (not via INIT as standard SMP startup) - so it needs to
store and restore the NMI vector.
- extend the generic code to handle NULL methods
- clear out dummy methods and replace them with NULL
- clean up: remove wrapper macros, etc.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:31:52 +0000 (16:31 +0100)]
x86, smp: refactor ->smp_callin_clear_local_apic() methods
Only NUMAQ does something substantial here, because it initializes
via NMIs (not via INIT as standard SMP startup) - so it needs to
reset the APIC.
- extend the generic code to handle NULL methods
- clear out dummy methods and replace them with NULL
- clean up: remove wrapper macros, etc.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:21:32 +0000 (16:21 +0100)]
x86, smp: refactor ->wait_for_init_deassert()
- spread out the namespace on a per APIC driver basis
- handle a NULL ->wait_for_init_deassert() as a 'dont wait' default method
- remove NUMAQ and Summit handlers
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:15:16 +0000 (16:15 +0100)]
x86: set ->trampoline_phys_low/high on 64-bit too
64-bit x86 has zero for ->trampoline_phys_low/high, but the smpboot
code can use these values - so it's better to set them up to their
correct values.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 15:09:23 +0000 (16:09 +0100)]
x86, smp: clean up ->trampoline_phys_low/high handling
- spread out the namespace on a per apic driver basis
- remove wrapper macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 14:42:24 +0000 (15:42 +0100)]
x86, apic: untangle the send_IPI_*() jungle
Our send_IPI_*() methods and definitions are a twisted mess: the same
symbol is defined to different things depending on .config details,
in a non-transparent way.
- spread out the quirks into separately named per apic driver methods
- prefix the standard PC methods with default_
- get rid of wrapper macro obfuscation
- clean up various details
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 14:20:18 +0000 (15:20 +0100)]
x86, apic: refactor ->cpu_mask_to_apicid*()
- spread out the namespace on a per driver basis
- clean up the functions
- get rid of macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 14:08:53 +0000 (15:08 +0100)]
x86, apic: get rid of *_APIC_ID_MASK definitions
Impact: cleanup
Remove the *_APIC_ID_MASK subarch definitions and move them straight
to the genapic driver initialization code.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 13:59:17 +0000 (14:59 +0100)]
x86, apic: refactor ->apic_id_mask & APIC_ID_MASK
- spread out the namespace on a per driver basis
- get rid of wrapper macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 13:08:38 +0000 (14:08 +0100)]
x86, apic: refactor ->get_apic_id() & GET_APIC_ID()
- spread out the namespace on a per driver basis
- get rid of macro wrappers
- small cleanups
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:44:32 +0000 (13:44 +0100)]
x86: consolidate the ->mps_oem_check() code
- spread out the mps_oem_check() namespace on a per APIC driver basis
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:54:56 +0000 (13:54 +0100)]
x86, mpparse: call the generic quirk handlers early
Call all the registered MPS quirk handlers early. These methods scan
low RAM typically for specific signatures so are safe to be called
early.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:47:42 +0000 (13:47 +0100)]
x86, smp: clean up mps_oem_check()
Impact: cleanup
- allow NULL ->mps_oem_check() entries
- clean up the code flow
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:24:54 +0000 (13:24 +0100)]
x86, apic: refactor ->phys_pkg_id()
Refactor the ->phys_pkg_id() methods:
- namespace separation
- macro wrapper removal
- open-coded calls to the methods in the generic code
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:31:22 +0000 (13:31 +0100)]
x86, apic: unify phys_pkg_id()
- unify the call signature of 64-bit to that of 32-bit
- clean up the types all around
- clean up namespace contamination
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 12:15:06 +0000 (13:15 +0100)]
x86, es7000: clean up es7000_enable_apic_mode()
- eliminate the needless es7000_enable_apic_mode() complication which
was not apparent prior the namespace cleanups
- clean up the control flow in es7000_enable_apic_mode()
- other cleanups
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->enable_apic_mode() subarch methods
Only ES7000 has a real ->enable_apic_mode() 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.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->check_phys_apicid_present() subarch methods
- 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>
Ingo Molnar [Wed, 28 Jan 2009 11:43:18 +0000 (12:43 +0100)]
x86: refactor ->setup_portio_remap() subarch methods
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>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_cpu_present()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_present_to_apicid()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->cpu_to_logical_apicid()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->apicid_to_node()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 06:17:26 +0000 (07:17 +0100)]
x86, apic: streamline the ->multi_timer_check() quirk
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>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->setup_apic_routing()
- separate the namespace
- remove macros
- remove namespace clash on 64-bit
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->ioapic_phys_id_map()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->init_apic_ldr()
- separate the namespace
- remove macros
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 05:50:47 +0000 (06:50 +0100)]
x86, apic: clean up ->vector_allocation_domain()
- 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>
Ingo Molnar [Wed, 28 Jan 2009 04:57:56 +0000 (05:57 +0100)]
x86, apic: remove no_balance_irq and no_ioapic_check flags
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>
Ingo Molnar [Wed, 28 Jan 2009 04:41:42 +0000 (05:41 +0100)]
x86, apic: clean up check_apicid*() callbacks
Clean up these methods - to make it clearer which function is
used in which case.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 04:29:25 +0000 (05:29 +0100)]
x86, apic: rename genapic::apic_destination_logical to genapic::dest_logical
This field name was unreasonably long - shorten it.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 04:13:04 +0000 (05:13 +0100)]
x86: clean up the APIC_DEST_LOGICAL logic
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>
Ingo Molnar [Wed, 28 Jan 2009 04:08:44 +0000 (05:08 +0100)]
x86: rename ->ESR_DISABLE to ->disable_esr
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>
Ingo Molnar [Wed, 28 Jan 2009 04:01:41 +0000 (05:01 +0100)]
x86: clean up esr_disable() methods
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>
Ingo Molnar [Wed, 28 Jan 2009 03:32:51 +0000 (04:32 +0100)]
x86, apic: clean up / remove TARGET_CPUS
Impact: cleanup
use apic->target_cpus() directly instead of the TARGET_CPUS wrapper.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 03:30:40 +0000 (04:30 +0100)]
x86, apic: clean up target_cpus methods
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>
Ingo Molnar [Wed, 28 Jan 2009 03:24:16 +0000 (04:24 +0100)]
x86, apic: remove IRQ_DEST_MODE
Remove leftover definition.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove ES7000_IRQ_DELIVERY_MODE and ES7000_IRQ_DEST_MODE
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>
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove BIGSMP_IRQ_DELIVERY_MODE and BIGSMP_IRQ_DEST_MODE
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>
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove NUMAQ_IRQ_DELIVERY_MODE and NUMAQ_IRQ_DEST_MODE
Impact: cleanup
They were only used in a single place and obscured the apic_numaq template.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove SUMMIT_IRQ_DELIVERY_MODE and SUMMIT_IRQ_DEST_MODE
Impact: cleanup
They were only used in a single place and obscured the apic_summit template.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 03:16:01 +0000 (04:16 +0100)]
x86, apic: remove DEFAULT_IRQ_DELIVERY_MODE and DEFAULT_IRQ_DEST_MODE
Impact: cleanup
They were only used in a single place and obscured the apic_default template.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Wed, 28 Jan 2009 03:09:58 +0000 (04:09 +0100)]
x86, apic: remove IRQ_DEST_MODE / IRQ_DELIVERY_MODE
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>
Ingo Molnar [Wed, 28 Jan 2009 03:02:31 +0000 (04:02 +0100)]
x86, genapic: rename int_delivery_mode, et. al.
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>
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->apic_id_registered() methods
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>
Ingo Molnar [Wed, 28 Jan 2009 02:43:47 +0000 (03:43 +0100)]
x86: clean up apic->acpi_madt_oem_check methods
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>
Ingo Molnar [Wed, 28 Jan 2009 02:18:13 +0000 (03:18 +0100)]
x86: remove APIC_INIT / APICFUNC / IPIFUNC
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>
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_summit template
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>
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_es7000 template
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>
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_numaq template
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>
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_bigsmp template
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>
Ingo Molnar [Wed, 28 Jan 2009 02:32:03 +0000 (03:32 +0100)]
x86, genapic: cleanup 32-bit apic_default template
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>
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_cluster
- 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>
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_phys
- 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>
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up apic_x2apic_uv_x
- 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>
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_phys_flat
- 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>
Ingo Molnar [Wed, 28 Jan 2009 01:37:01 +0000 (02:37 +0100)]
x86: clean up genapic_flat
- 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>
Ingo Molnar [Tue, 27 Jan 2009 23:14:11 +0000 (00:14 +0100)]
x86: rename 'genapic' to 'apic'
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>
Ingo Molnar [Tue, 27 Jan 2009 22:54:23 +0000 (23:54 +0100)]
x86, genapic: provide IPI callbacks unconditionally
64-bit x86 uses the IPI callbacks even on UP - so provide them
generally.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Tue, 27 Jan 2009 22:23:22 +0000 (23:23 +0100)]
x86, genapic: cleanups
Unify genapic.h some more.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Tue, 27 Jan 2009 22:15:06 +0000 (23:15 +0100)]
x86, genapic: finish unification
Unify remaining bits of genapic_32/64.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Tue, 27 Jan 2009 22:12:02 +0000 (23:12 +0100)]
x86, genapic: unify struct genapic
Move over the (now identical) struct genapic definitions from
genapic_32/64.h to genapic.h.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_32.h
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>
Ingo Molnar [Tue, 27 Jan 2009 22:07:42 +0000 (23:07 +0100)]
x86, genapic: refactor genapic_64.h
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>
Ingo Molnar [Wed, 28 Jan 2009 22:13:53 +0000 (23:13 +0100)]
Merge branches 'x86/asm', 'x86/cleanups', 'x86/cpudetect', 'x86/debug', 'x86/doc', 'x86/header-fixes', 'x86/mm', 'x86/paravirt', 'x86/pat', 'x86/setup-v2', 'x86/subarch', 'x86/uaccess' and 'x86/urgent' into x86/core
Ingo Molnar [Wed, 28 Jan 2009 22:12:55 +0000 (23:12 +0100)]
Merge branch 'core/percpu' into x86/core
Conflicts:
kernel/irq/handle.c
Linus Torvalds [Wed, 28 Jan 2009 18:49:30 +0000 (10:49 -0800)]
Linux 2.6.29-rc3
Linus Torvalds [Wed, 28 Jan 2009 17:01:42 +0000 (09:01 -0800)]
Merge branch 'merge' of git://git./linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
powerpc/pseries: Correct VIO bus accounting problem in CMO env.
powerpc: More printing warning fixes for the l64 to ll64 conversion
powerpc: Remove arch/ppc cruft from Kconfig
powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c
powerpc/embedded6xx: Update defconfigs
powerpc/8xx: Update defconfigs
powerpc/86xx: Update defconfigs
powerpc/83xx: Update defconfigs
powerpc/85xx: Update defconfigs
powerpc/mpc8313erdb: fix kernel panic because mdio device is not probed
powerpc/4xx: Update multi-board PowerPC 4xx defconfigs
powerpc/44x: Update PowerPC 44x defconfigs
powerpc/40x: Update PowerPC 40x defconfigs
powerpc/85xx: Fix typo in mpc8572ds dts
powerpc/44x: Warp patches for the new NDFC driver
powerpc/4xx: DTS: Add Add'l SDRAM0 Compatible and Interrupt Info
Linus Torvalds [Wed, 28 Jan 2009 16:41:57 +0000 (08:41 -0800)]
Merge branch 'for-linus' of git://git./linux/kernel/git/gerg/m68knommu
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68knommu: fix 5329 ColdFire periphal addressing
uclinux: add process name to allocation error message
m68knommu: correct the mii calculations for 532x ColdFire FEC
m68knommu: add ColdFire M532x to the FEC configuration options
m68knommu: fix syscall restarting
m68knommu: remove the obsolete and long unused comempci chip support
m68knommu: remove the no longer used PCI support option
m68knommu: remove obsolete and unused eLIA board
m68knommu: set NO_DMA
m68knommu: fix cache flushing for the 527x ColdFire processors
m68knommu: fix ColdFire 5272 serial baud rates in mcf.c
m68knommu: use one exist from execption
Kumar Gala [Wed, 28 Jan 2009 06:07:20 +0000 (00:07 -0600)]
dmi: Fix build breakage
Commit
d7b1956fed33d30c4815e848fd7a143722916868 ("DMI: Introduce
dmi_first_match to make the interface more flexible") introduced compile
errors like the following when !CONFIG_DMI
drivers/ata/sata_sil.c: In function 'sil_broken_system_poweroff':
drivers/ata/sata_sil.c:713: error: implicit declaration of function 'dmi_first_match'
drivers/ata/sata_sil.c:713: warning: initialization makes pointer from integer without a cast
We just need a dummy version of dmi_first_match() to fix this all up.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Eric Anholt [Wed, 28 Jan 2009 05:19:41 +0000 (21:19 -0800)]
drm: Rip out the racy, unused vblank signal code.
Schedule a vblank signal, kill the process, and we'll go walking over freed
memory. Given that no open-source userland exists using this, nor have I
ever heard of a consumer, just let this code die.
Signed-off-by: Eric Anholt <eric@anholt.net>
Requested-by: Linus Torvalds <torvalds@linux-foundation.org>
Acked-by: Dave Airlie <airlied@linux.ie>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Gerhard Pircher [Fri, 23 Jan 2009 06:51:28 +0000 (06:51 +0000)]
powerpc/mm: Fix handling of _PAGE_COHERENT in BAT setup code
_PAGE_COHERENT is now always set in _PAGE_RAM resp. PAGE_KERNEL.
Thus it has to be masked out, if the BAT mapping should be non
cacheable or CPU_FTR_NEED_COHERENT is not set.
This will work on normal SMP setups because we force-set
CPU_FTR_NEED_COHERENT as part of CPU_FTR_COMMON on SMP.
Signed-off-by: Gerhard Pircher <gerhard_pircher@gmx.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Robert Jennings [Thu, 22 Jan 2009 09:40:00 +0000 (09:40 +0000)]
powerpc/pseries: Correct VIO bus accounting problem in CMO env.
In the VIO bus code the wrappers for dma alloc_coherent and free_coherent
calls are rounding to IOMMU_PAGE_SIZE. Taking a look at the underlying
calls, the actual mapping is promoted to PAGE_SIZE. Changing the
rounding in these two functions fixes under-reporting the entitlement
used by the system. Without this change, the system could run out of
entitlement before it believes it has and incur mapping failures at the
firmware level.
Also in the VIO bus code, the wrapper for dma map_sg is not exiting in
an error path where it should. Rather than fall through to code for the
success case, this patch adds the return that is needed in the error path.
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Stephen Rothwell [Wed, 21 Jan 2009 13:16:28 +0000 (13:16 +0000)]
powerpc: More printing warning fixes for the l64 to ll64 conversion
These are all powerpc specific drivers.
res.start in fsl_elbc_nand.c needs to be cast since it may be either 32
or 64 bit. Thanks to Scott Wood for noticing.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Acked-by: Arnd Bergmann <arnd@arndb.de> call_edac bits in particular
Acked-by: Olof Johansson <olof@lixom.net> pasemi_nand peices
Acked-by: Scott Wood <scottwood@freescale.com> fsl_elbc fixes
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Josh Boyer [Tue, 20 Jan 2009 05:16:36 +0000 (05:16 +0000)]
powerpc: Remove arch/ppc cruft from Kconfig
Remove some leftover cruft from the arch/ppc days
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Acked-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Stephen Rothwell [Sun, 18 Jan 2009 23:33:38 +0000 (23:33 +0000)]
powerpc: Printing fix for l64 to ll64 conversion: phyp_dump.c
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Benjamin Herrenschmidt [Wed, 28 Jan 2009 06:15:34 +0000 (17:15 +1100)]
Merge commit 'jwb/jwb-merge' into merge
Manual merge of:
arch/powerpc/configs/44x/warp_defconfig
Benjamin Herrenschmidt [Wed, 28 Jan 2009 06:14:54 +0000 (17:14 +1100)]
Merge commit 'kumar/kumar-merge' into merge
Casey Schaufler [Wed, 28 Jan 2009 03:56:30 +0000 (19:56 -0800)]
smackfs load append mode fix
Given just how hard it is to find the code that uses MAY_APPEND
it's probably not a big surprise that this went unnoticed for so
long. The Smack rules loading code is incorrectly setting the
MAY_READ bit when MAY_APPEND is requested.
Signed-off-by: Casey Schaufler <casey@schaufler-ca.com>
Reviewed-by: James Morris <jmorris@namei.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Linus Torvalds [Wed, 28 Jan 2009 00:08:04 +0000 (16:08 -0800)]
Merge git://git./linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (36 commits)
USB: Driver for Freescale QUICC Engine USB Host Controller
USB: option: add QUANTA HSDPA Data Card device ids
USB: storage: Add another unusual_dev for off-by-one bug
USB: unusual_dev: usb-storage needs to ignore a device
USB: GADGET: fix !x & y
USB: new id for ti_usb_3410_5052 driver
USB: cdc-acm: Add another conexant modem to the quirks
USB: 'option' driver - onda device MT503HS has wrong id
USB: Remove ZTE modem from unusual_devices
USB: storage: support of Dane-Elec MediaTouch USB device
USB: usbmon: Implement compat_ioctl
USB: add kernel-doc for wusb_dev in struct usb_device
USB: ftdi_sio driver support of bar code scanner from Diebold
USB: ftdi_sio: added Alti-2 VID and Neptune 3 PID
USB: cp2101 device
USB: usblp.c: add USBLP_QUIRK_BIDIR to Brother HL-1440
USB: remove vernier labpro from ldusb
USB: CDC-ACM quirk for MTK GPS
USB: cdc-acm: support some gps data loggers
USB: composite: Fix bug: low byte of w_index is the usb interface number not the whole 2 bytes of w_index
...
Anton Vorontsov [Sat, 10 Jan 2009 02:03:21 +0000 (05:03 +0300)]
USB: Driver for Freescale QUICC Engine USB Host Controller
This patch adds support for the FHCI USB controller, as found
in the Freescale MPC836x and MPC832x processors. It can support
Full or Low speed modes.
Quite a lot the hardware is doing by itself (SOF generation, CRC
generation and checking), though scheduling and retransmission is on
software's shoulders.
This controller does not integrate the root hub, so this driver also
fakes one-port hub. External hub is required to support more than
one device.
Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Alex.Cheng@quantatw.com [Thu, 22 Jan 2009 08:01:57 +0000 (16:01 +0800)]
USB: option: add QUANTA HSDPA Data Card device ids
This patch adds the support for the QUANTA Q101 series HSDPA Data Card.
With the vendor and product IDs are set properly,
the data card can be detected and works fine.
Signed-off-by: Alex Cheng <alex.cheng@quantatw.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>