summaryrefslogtreecommitdiffstats
path: root/arch
Commit message (Collapse)AuthorAgeFilesLines
* x86: use cpu_online()Akinobu Mita2008-04-171-2/+2
| | | | | Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: use cpumask_of_cpu()Akinobu Mita2008-04-172-7/+2
| | | | | | | Use cpumask_of_cpu() rather than the pair of cpus_clear() and cpu_set(). Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove unnecessary tmp local variableAkinobu Mita2008-04-172-4/+2
| | | | | | | There is no reason to use obscurer name. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove unnecessary memset()Akinobu Mita2008-04-171-1/+0
| | | | | | | | No need to clear the memory allocated by alloc_bootmem(). It is already filled with zero. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: use ioapic_read_entry() and ioapic_write_entry()Akinobu Mita2008-04-172-27/+8
| | | | | | | | Remove duplicate code by using ioapic_read_entry() and ioapic_write_entry() in io_apic_{32,64}.c Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: avoid redundant loop in io_apic_level_ack_pending()Akinobu Mita2008-04-171-4/+7
| | | | | | | | If one can find an ack pending pin, there is no need to check the rest of them. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: remove superfluous initialisation in boot code.Alexander van Heukelum2008-04-171-1/+1
| | | | | | | | | | | | | | | | | | In arch/x86/boot/compressed/misc.c, the variable vidmem is the only variable that ends up in de data segment. It's also superfluous, because the first thing the code does is: if (RM_SCREEN_INFO.orig_video_mode == 7) { vidmem = (char *) 0xb0000; vidport = 0x3b4; } else { vidmem = (char *) 0xb8000; vidport = 0x3d4; } This patch removes the initialisation. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: merge mpparse_{32,64}.cAlexey Starikovskiy2008-04-173-1002/+11
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify mp_register_gsiAlexey Starikovskiy2008-04-172-10/+82
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify mp_config_acpi_legacy_irqsAlexey Starikovskiy2008-04-171-4/+16
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify mp_register_ioapicAlexey Starikovskiy2008-04-172-11/+15
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify uniq_io_apic_idAlexey Starikovskiy2008-04-172-1/+21
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify smp_scan_configAlexey Starikovskiy2008-04-172-6/+41
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify get_smp_configAlexey Starikovskiy2008-04-172-10/+20
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify construct_default_ioirq_mptableAlexey Starikovskiy2008-04-172-12/+21
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify smp_read_mpcAlexey Starikovskiy2008-04-172-17/+35
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify mp_bus_infoAlexey Starikovskiy2008-04-172-13/+40
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: unify arch/x86/kernel/mpparse_64.cAlexey Starikovskiy2008-04-172-54/+10
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: add early flags to mpparse_32.cAlexey Starikovskiy2008-04-171-10/+47
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: lindent mpparse_32.cAlexey Starikovskiy2008-04-171-206/+214
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_register_lapic_address to boot.cAlexey Starikovskiy2008-04-173-21/+11
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_register_lapic to boot.cAlexey Starikovskiy2008-04-173-31/+16
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move up & smp variables to setup.cAlexey Starikovskiy2008-04-176-34/+8
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_irqs to io_apic_64.cAlexey Starikovskiy2008-04-172-6/+6
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_irqs to io_apics_32.cAlexey Starikovskiy2008-04-172-6/+6
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_ioapic_routing to boot.cAlexey Starikovskiy2008-04-173-12/+4
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_ioapics to io_apic_64.cAlexey Starikovskiy2008-04-172-4/+4
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move mp_ioapics to io_apic_32.cAlexey Starikovskiy2008-04-172-5/+4
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: don't set io apic features if io-apic is not enabled, fixIngo Molnar2008-04-171-4/+4
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: don't set IO APIC features if IO APIC is not enabledAlexey Starikovskiy2008-04-171-3/+21
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move x86_bios_cpu_apicid_init to smpboot.cAlexey Starikovskiy2008-04-172-7/+1
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move x86_cpu_to_apicid_init to smpboot.cAlexey Starikovskiy2008-04-172-7/+2
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move phys_cpu_present_map to setup.cAlexey Starikovskiy2008-04-174-13/+4
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move x86_cpu_to_apicid to setup.cAlexey Starikovskiy2008-04-172-2/+4
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: move x86_bios_cpu_apicid to io_apic_64.cAlexey Starikovskiy2008-04-173-4/+3
| | | | | Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: 4kstacks defaultIngo Molnar2008-04-171-1/+1
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: fix VisualWS and Voyager kexec build failuresRandy Dunlap2008-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | without this patch: VOYAGER: kernel/built-in.o: In function `crash_kexec': (.text+0x28588): undefined reference to `machine_crash_shutdown' VISWS: kernel/built-in.o: In function `crash_kexec': /next-20080401/kernel/kexec.c:1074: undefined reference to `machine_crash_shutdown' make[1]: *** [.tmp_vmlinux1] Error 1 because arch/x86/kernel/reboot.c isn't built since CONFIG_X86_BIOS_REBOOT=n, so machine_crash_shutdown() isn't available. This patch does seem a small bit odd since the KEXEC help text says that kexec is independent of the system firmware. Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Cc: Eric Biederman <ebiederm@xmission.com> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: MPSC should use P6 NOPsHugh Dickins2008-04-171-1/+1
| | | | | | | | | | | I've now noticed that the machine I call MPENTIUM4 for 32-bit kernels is called MPSC for 64-bit kernels, and in that case it still doesn't get the P6 NOPs it ought to. hpa explains that MK8 should still be excluded, so it's just a matter of including MPSC along with MPENTIUM4. Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: debug Store - call kfree if only we really need itCyrill Gorcunov2008-04-171-4/+4
| | | | | | | | | | We should call for kfree if only we really need it. Though it's safe to call kfree with NULL pointer passed in this code we've already tested the pointer and can eliminate the call Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: improve default idleIngo Molnar2008-04-172-16/+0
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: support for new UV apic, fixJack Steiner2008-04-171-2/+0
| | | | | | | | Yinghai Lu pointed out a bug in the previous patches, fix double-shift of apicid. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: set_cyc2ns_scale() remove prev scaleIngo Molnar2008-04-172-4/+2
| | | | | | Peter Zijlstra pointed out that it's unused. Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: clean up non-smp usage of cpu mapsMike Travis2008-04-172-18/+14
| | | | | | | | | | Cleanup references to the early cpu maps for the non-SMP configuration and remove some functions called for SMP configurations only. Cc: Andi Kleen <ak@suse.de> Cc: Christoph Lameter <clameter@sgi.com> Signed-off-by: Mike Travis <travis@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: support for new UV apicJack Steiner2008-04-176-1/+275
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | UV supports really big systems. So big, in fact, that the APICID register does not contain enough bits to contain an APICID that is unique across all cpus. The UV BIOS supports 3 APICID modes: - legacy mode. This mode uses the old APIC mode where APICID is in bits [31:24] of the APICID register. - x2apic mode. This mode is whitebox-compatible. APICIDs are unique across all cpus. Standard x2apic APIC operations (Intel-defined) can be used for IPIs. The node identifier fits within the Intel-defined portion of the APICID register. - x2apic-uv mode. In this mode, the APICIDs on each node have unique IDs, but IDs on different node are not unique. For example, if each mode has 32 cpus, the APICIDs on each node might be 0 - 31. Every node has the same set of IDs. The UV hub is used to route IPIs/interrupts to the correct node. Traditional APIC operations WILL NOT WORK. In x2apic-uv mode, the ACPI tables all contain a full unique ID (note: exact bit layout still changing but the following is close): nnnnnnnnnnlc0cch n = unique node number l = socket number on board c = core h = hyperthread Only the "lc0cch" bits are written to the APICID register. The remaining bits are supplied by having the get_apic_id() function "OR" the extra bits into the value read from the APICID register. (Hmmm.. why not keep the ENTIRE APICID register in per-cpu data....) The x2apic-uv mode is recognized by the MADT table containing: oem_id = "SGI" oem_table_id = "UV-X" Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: support for new UV apic, prepareIngo Molnar2008-04-171-0/+2
| | | | Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: parsing for ACPI "SAPIC" tableJack Steiner2008-04-171-2/+24
| | | | | | | | | | | | Add kernel support for new ACPI "sapic" tables that contain 16-bit APICIDs. This patch simply adds parsing of an optional SAPIC table if present. Otherwise, the traditional local APIC table is used. Note: the SAPIC table is not a new ACPI table - it exists on other architectures but is not currently recognized by x86_64. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: increase size of APICIDJack Steiner2008-04-173-5/+9
| | | | | | | | | | | | | Increase the number of bits in an apicid from 8 to 32. By default, MP_processor_info() gets the APICID from the mpc_config_processor structure. However, this structure limits the size of APICID to 8 bits. This patch allows the caller of MP_processor_info() to optionally pass a larger APICID that will be used instead of the one in the mpc_config_processor struct. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: add functions to determine if platform is a UV platformJack Steiner2008-04-172-3/+26
| | | | | | | | | Add functions that can be used to determine if an x86_64 system is a SGI "UV" system. UV systems come in 3 types and are identified by the OEM ID in the MADT. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: change GET_APIC_ID() from an inline function to an out-of-line functionJack Steiner2008-04-178-19/+18
| | | | | | | | | | Introduce a function to read the local APIC_ID. This change is in preparation for additional changes to the APICID functions that will come in a later patch. Signed-off-by: Jack Steiner <steiner@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* x86: replace most VM86 flags with flags from processor-flags.hgorcunov@gmail.com2008-04-173-20/+20
| | | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
OpenPOWER on IntegriCloud