Skip to contentSkip to conversation

x86/platform changes for v4.7

GIT PULL Ingo Molnar 1 participant 1 message May 16, 2016

Subsystems (4)
lore
Share & tools
lore
#0 lore raw

Linus,

Please pull the latest x86-platform-for-linus git tree from:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-platform-for-linus

# HEAD: 3cd0b53553ce28da6fc828c601041c974e1c4dde Merge branch 'x86/urgent' into x86/platform, to resolve conflict

The main change is the addition of SGI/UV4 support.

out-of-topic modifications in x86-platform-for-linus:
-------------------------------------------------------
drivers/misc/sgi-gru/grukservices.c# 40bfb8eedf1e: x86/platform/UV: Remove Obso

Thanks,

Ingo

------------------>
Alex Thorlton (1):
x86/platform/uv: Disable UV BAU by default

Dimitri Sivanich (2):
x86/platform/UV: Remove Obsolete GRU MMR address translation x86/platform/UV: Fix incorrect nodes and pnodes for cpuless and memoryless nodes

Guenter Roeck (1):
x86/platform: Remove unused get_bios_ebda_length() function

Mike Travis (18):
x86/platform/UV: Add Initial UV4 definitions
x86/platform/UV: Add UV Architecture Defines
x86/platform/UV: Add UV4 Specific Defines
x86/platform/UV: Add UV MMR Illegal Access Function x86/platform/UV: Prep for UV4 MMR updates
x86/platform/UV: Add UV4 Specific MMR definitions x86/platform/UV: Clean up redunduncies after merge of UV4 MMR definitions x86/platform/UV: Update MMIOH setup function to work for both UV3 and UV4 x86/platform/UV: Create per cpu info structs to replace per hub info structs x86/platform/UV: Move scir info to the per cpu info struct x86/platform/UV: Move blade local processor ID to the per cpu info struct x86/platform/UV: Allocate common per node hub info structs on local node x86/platform/UV: Fold blade info into per node hub info structs x86/platform/UV: Add UV4 addressing discovery function x86/platform/UV: Add obtaining GAM Range Table from UV BIOS x86/platform/UV: Support UV4 socket address changes x86/platform/UV: Build GAM reference tables
x86/platform/UV: Update physical address conversions for UV4

 Documentation/kernel-parameters.txt |    8 +
 arch/x86/include/asm/bios_ebda.h    |   21 -
 arch/x86/include/asm/uv/bios.h      |   59 +-
 arch/x86/include/asm/uv/uv_bau.h    |    2 +-
 arch/x86/include/asm/uv/uv_hub.h    |  409 +++++--
 arch/x86/include/asm/uv/uv_mmrs.h   | 2207 ++++++++++++++++++++++++++++-------
 arch/x86/kernel/apic/x2apic_uv_x.c  |  850 +++++++++++---
 arch/x86/platform/uv/bios_uv.c      |   48 +-
 arch/x86/platform/uv/tlb_uv.c       |   38 +-
 arch/x86/platform/uv/uv_sysfs.c     |    2 +-
 arch/x86/platform/uv/uv_time.c      |    6 +-
 drivers/misc/sgi-gru/grukservices.c |   38 +-
 12 files changed, 2895 insertions(+), 793 deletions(-)
Documentation/kernel-parameters.txt +8 -0
index 0b3de80ec8f6..8ba7f82f472c 100644
@@ -131,6 +131,7 @@ the beginning of each description states the restrictions within which a
 			More X86-64 boot options can be found in
 			Documentation/x86/x86_64/boot-options.txt .
 	X86	Either 32-bit or 64-bit x86 (same as X86-32+X86-64)
+	X86_UV	SGI UV support is enabled.
 	XEN	Xen support is enabled
 
 In addition, the following text indicates that the option:
@@ -542,6 +543,13 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 			Format: <int> (must be >=0)
 			Default: 64
 
+	bau=		[X86_UV] Enable the BAU on SGI UV.  The default
+			behavior is to disable the BAU (i.e. bau=0).
+			Format: { "0" | "1" }
+			0 - Disable the BAU.
+			1 - Enable the BAU.
+			unset - Disable the BAU.
+
 	baycom_epp=	[HW,AX25]
 			Format: <io>,<mode>
 
arch/x86/include/asm/bios_ebda.h +0 -21
index aa6a3170ab5a..2b00c776f223 100644
@@ -17,27 +17,6 @@ static inline unsigned int get_bios_ebda(void)
 	return address;	/* 0 means none */
 }
 
-/*
- * Return the sanitized length of the EBDA in bytes, if it exists.
- */
-static inline unsigned int get_bios_ebda_length(void)
-{
-	unsigned int address;
-	unsigned int length;
-
-	address = get_bios_ebda();
-	if (!address)
-		return 0;
-
-	/* EBDA length is byte 0 of the EBDA (stored in KiB) */
-	length = *(unsigned char *)phys_to_virt(address);
-	length <<= 10;
-
-	/* Trim the length if it extends beyond 640KiB */
-	length = min_t(unsigned int, (640 * 1024) - address, length);
-	return length;
-}
-
 void reserve_ebda_region(void);
 
 #ifdef CONFIG_X86_CHECK_BIOS_CORRUPTION
arch/x86/include/asm/uv/bios.h +57 -2

86 lines not on this page · raw message

arch/x86/include/asm/uv/uv_bau.h +1 -1
index fc808b83fccb..cc44d926c17e 100644
@@ -598,7 +598,7 @@ struct bau_control {
 	int			timeout_tries;
 	int			ipi_attempts;
 	int			conseccompletes;
-	short			nobau;
+	bool			nobau;
 	short			baudisabled;
 	short			cpu;
 	short			osnode;
arch/x86/include/asm/uv/uv_hub.h +304 -105

629 lines not on this page · raw message

arch/x86/include/asm/uv/uv_mmrs.h +1782 -425

2,230 lines not on this page · raw message

arch/x86/kernel/apic/x2apic_uv_x.c +667 -183

850 lines not on this page · raw message

arch/x86/platform/uv/bios_uv.c +23 -25

48 lines not on this page · raw message

arch/x86/platform/uv/tlb_uv.c +27 -11
index 3b6ec42718e4..fdb4d42b4ce5 100644

Lines of this file are not shown. View the raw message.

arch/x86/platform/uv/uv_sysfs.c +1 -1
index 5d4ba301e776..e9da9ebd924a 100644

Lines of this file are not shown. View the raw message.

arch/x86/platform/uv/uv_time.c +3 -3
index 2b158a9fa1d7..b333fc45f9ec 100644

Lines of this file are not shown. View the raw message.

drivers/misc/sgi-gru/grukservices.c +22 -16
index 967b9dd24fe9..030769018461 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.