Commit graph android_kernel_sony_sdm845/arch
Message SHA1
x86: move mp_ioapics to io_apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
9f640ccbc6
x86: don't set io apic features if io-apic is not enabled, fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
ba1ce61ff2
x86: don't set IO APIC features if IO APIC is not enabled
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
61048c6328
x86: move x86_bios_cpu_apicid_init to smpboot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
16ecf7a47c
x86: move x86_cpu_to_apicid_init to smpboot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
708650afe9
x86: move phys_cpu_present_map to setup.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
0fc0906e59
x86: move x86_cpu_to_apicid to setup.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
76eb41319d
x86: move x86_bios_cpu_apicid to io_apic_64.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
af926a5830
x86: 4kstacks default
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
d61ecf0b53
x86: fix VisualWS and Voyager kexec build failures
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>

Randy Dunlap   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
f408b43cee
x86: MPSC should use P6 NOPs
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>

Hugh Dickins   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
d2b3bab63b
x86: debug Store - call kfree if only we really need it
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>

Cyrill Gorcunov   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
431ef7a2a4
x86: improve default idle
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
13af4836b3
x86: support for new UV apic, fix
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
f5149a49f9
x86: set_cyc2ns_scale() remove prev scale
Peter Zijlstra pointed out that it's unused.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
1725037f72
x86: clean up non-smp usage of cpu maps
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>

Mike Travis   authored and   Ingo Molnar   commited 2008-04-17 17:41:34 +02:00
b447a468fc
x86: support for new UV apic
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
ac23d4ee3f
x86: support for new UV apic, prepare
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
570da318cf
x86: parsing for ACPI "SAPIC" table
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
ac049c1db7
x86: increase size of APICID
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
a65d1d644c
x86: add functions to determine if platform is a UV platform
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
ae26186865
x86: change GET_APIC_ID() from an inline function to an out-of-line function
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>

Jack Steiner   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
05f2d12c35
x86: replace most VM86 flags with flags from processor-flags.h
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

gorcunov@gmail.com   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
a5c15d419d
x86: cleanup - rename VM_MASK to X86_VM_MASK
This patch renames VM_MASK to X86_VM_MASK (which
in turn defined as alias to X86_EFLAGS_VM) to better
distinguish from virtual memory flags. We can't just
use X86_EFLAGS_VM instead because it is also used
for conditional compilation

Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

gorcunov@gmail.com   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
6b6891f9c5
x86: cleanup replace most vm86 flags with flags from processor-flags.h, fix
- fix build error
- fix CONFIG_HEADERS_CHECK error

Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
6093015db2
x86: paravirt_ops: don't steal memory resources in paravirt_disable_iospace
The memory resource is also used for main memory, and we need it to
allocate physical addresses for memory hotplug.  Knobbling io space is
enough to get the job done anyway.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Jeremy Fitzhardinge   authored and   Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
f7743fe676
x86: mpparse: 64-bit fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:33 +02:00
e937fcf2fa
x86: change naming of cpu_initialized_mask for xen
xen does not use the global cpu_initialized mask, but rather,
a specific one. So we change its name so it won't conflict with the upcoming
movement of cpu_initialized_mask from smp_64.h to smp_32.h.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
CC: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Glauber Costa   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
ecaa6c9de7
x86: microcode: show results on success too
Report when microcode was successfully updated. It used to be there but
now with DEBUG unset it becomes very silent. Also some cosmetic fixes.

Signed-off-by: Ben Castricum <lk08@bencastricum.nl>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ben Castricum   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
fe176de0ff
x86: move generic_processor_info to apic_64.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
be8a5685e4
x86: move boot_cpu_physical_apicid to apic_64.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
86cc0d916a
x86: move disabled_cpus to smpboot.c (64bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
3103623eed
x86: move num_processors to smpboot.c (64 bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
7b8cbd2c2f
x86: move phys_cpu_present_map to smpboot.c (64bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
1d85543265
x86: move phys cpu present map to smpboot.c, 64-bit, prepare
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
7abb3cca33
x86: move mp_lapic_addr to apic_64.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
3f530709d9
x86: don't use MP_processor_info for ACPI mode (64bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
468e85b959
x86: separate generic_processor_info into its own function (64bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
0e01c00c1f
x86: don't call MP_processor_info for disabled cpu (64bit)
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:32 +02:00
8ccab29ca8
x86: move generic_processor_info to apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
903dcb5a1b
x86: move x86_bios_cpu_apicid to apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
acff5a7689
x86: mpparse, move boot cpu physical apicid to apic_32.c, fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
fae9811b77
x86: move boot_cpu_physical_apicid to apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
837e0e7a7f
x86: move def_to_bigsmp to setup_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
0c254e38d2
x86: mpparse, move disabled cpus to smpboot.c, fix
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
059c9640b5
x86: move disabled_cpus to smpboot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
53c4c793b3
x86: move num_processors to smpboot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
2bb9e9d7c1
x86: move phys_cpu_present_map to smpboot.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
40014bace1
x86: move mp_lapic_addr to apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
8f6e2ca9f8
x86: move apic_ver array to apic_32.c
Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

Alexey Starikovskiy   authored and   Ingo Molnar   commited 2008-04-17 17:41:31 +02:00
e81b2c62d6