kernel-ark/include
Jack Steiner ac23d4ee3f 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>
2008-04-17 17:41:33 +02:00
..
acpi
asm-alpha alpha: get_current(): don't add zero to current_thread_info()->task 2008-04-02 15:28:20 -07:00
asm-arm spi: spi_s3c24xx must initialize num_chipselect 2008-04-15 19:35:41 -07:00
asm-avr32 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-blackfin kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-cris kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-frv FRV: Don't make smp_{r, w, }mb() interpolate MEMBAR when CONFIG_SMP=n [try #2] 2008-04-10 13:41:29 -07:00
asm-generic kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-h8300 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-ia64 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-m32r kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-m68k kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-m68knommu kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-mips Pb1200/DBAu1200: fix bad IDE resource size 2008-04-17 01:14:33 +02:00
asm-mn10300 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-parisc kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-powerpc kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-ppc
asm-s390 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-sh kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-sparc kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-sparc64 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-um uml: compile error fix 2008-04-15 19:35:40 -07:00
asm-v850 kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
asm-x86 x86: support for new UV apic 2008-04-17 17:41:33 +02:00
asm-xtensa kvm: provide kvm.h for all architecture: fixes headers_install 2008-04-02 15:28:18 -07:00
crypto [CRYPTO] skcipher: Fix section mismatches 2008-03-08 20:29:43 +08:00
keys
linux Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block 2008-04-16 07:45:45 -07:00
math-emu
media
mtd
net [IPV6]: Use appropriate sock tclass setting for routing lookup. 2008-04-13 23:40:51 -07:00
pcmcia
rdma
rxrpc
scsi
sound
video
xen
Kbuild