Skip to content

Commit 8b6591f

Browse files
committed
Merge tag 'x86_platform_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 platform updates from Borislav Petkov: - Cleanup different aspects of the UV code and start adding support for the new UV5 class of systems (Mike Travis) - Use a flexible array for a dynamically sized struct uv_rtc_timer_head (Gustavo A. R. Silva) * tag 'x86_platform_for_v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/platform/uv: Update Copyrights to conform to HPE standards x86/platform/uv: Update for UV5 NMI MMR changes x86/platform/uv: Update UV5 TSC checking x86/platform/uv: Update node present counting x86/platform/uv: Update UV5 MMR references in UV GRU x86/platform/uv: Adjust GAM MMR references affected by UV5 updates x86/platform/uv: Update MMIOH references based on new UV5 MMRs x86/platform/uv: Add and decode Arch Type in UVsystab x86/platform/uv: Add UV5 direct references x86/platform/uv: Update UV MMRs for UV5 drivers/misc/sgi-xp: Adjust references in UV kernel modules x86/platform/uv: Remove SCIR MMR references for UV systems x86/platform/uv: Remove UV BAU TLB Shootdown Handler x86/uv/time: Use a flexible array in struct uv_rtc_timer_head
2 parents 92a0610 + 7a6d94f commit 8b6591f

21 files changed

Lines changed: 4797 additions & 6889 deletions

File tree

arch/x86/include/asm/idtentry.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -591,10 +591,6 @@ DECLARE_IDTENTRY_SYSVEC(CALL_FUNCTION_VECTOR, sysvec_call_function);
591591
#endif
592592

593593
#ifdef CONFIG_X86_LOCAL_APIC
594-
# ifdef CONFIG_X86_UV
595-
DECLARE_IDTENTRY_SYSVEC(UV_BAU_MESSAGE, sysvec_uv_bau_message);
596-
# endif
597-
598594
# ifdef CONFIG_X86_MCE_THRESHOLD
599595
DECLARE_IDTENTRY_SYSVEC(THRESHOLD_APIC_VECTOR, sysvec_threshold);
600596
# endif

arch/x86/include/asm/uv/bios.h

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
/*
66
* UV BIOS layer definitions.
77
*
8-
* Copyright (c) 2008-2009 Silicon Graphics, Inc. All Rights Reserved.
9-
* Copyright (c) Russ Anderson <rja@sgi.com>
8+
* (C) Copyright 2020 Hewlett Packard Enterprise Development LP
9+
* Copyright (C) 2007-2017 Silicon Graphics, Inc. All rights reserved.
10+
* Copyright (c) Russ Anderson <rja@sgi.com>
1011
*/
1112

1213
#include <linux/rtc.h>
@@ -71,6 +72,11 @@ struct uv_gam_range_entry {
7172
u32 limit; /* PA bits 56:26 (UV_GAM_RANGE_SHFT) */
7273
};
7374

75+
#define UV_AT_SIZE 8 /* 7 character arch type + NULL char */
76+
struct uv_arch_type_entry {
77+
char archtype[UV_AT_SIZE];
78+
};
79+
7480
#define UV_SYSTAB_SIG "UVST"
7581
#define UV_SYSTAB_VERSION_1 1 /* UV2/3 BIOS version */
7682
#define UV_SYSTAB_VERSION_UV4 0x400 /* UV4 BIOS base version */
@@ -79,10 +85,14 @@ struct uv_gam_range_entry {
7985
#define UV_SYSTAB_VERSION_UV4_3 0x403 /* - GAM Range PXM Value */
8086
#define UV_SYSTAB_VERSION_UV4_LATEST UV_SYSTAB_VERSION_UV4_3
8187

88+
#define UV_SYSTAB_VERSION_UV5 0x500 /* UV5 GAM base version */
89+
#define UV_SYSTAB_VERSION_UV5_LATEST UV_SYSTAB_VERSION_UV5
90+
8291
#define UV_SYSTAB_TYPE_UNUSED 0 /* End of table (offset == 0) */
8392
#define UV_SYSTAB_TYPE_GAM_PARAMS 1 /* GAM PARAM conversions */
8493
#define UV_SYSTAB_TYPE_GAM_RNG_TBL 2 /* GAM entry table */
85-
#define UV_SYSTAB_TYPE_MAX 3
94+
#define UV_SYSTAB_TYPE_ARCH_TYPE 3 /* UV arch type */
95+
#define UV_SYSTAB_TYPE_MAX 4
8696

8797
/*
8898
* The UV system table describes specific firmware
@@ -133,6 +143,7 @@ extern s64 uv_bios_reserved_page_pa(u64, u64 *, u64 *, u64 *);
133143
extern int uv_bios_set_legacy_vga_target(bool decode, int domain, int bus);
134144

135145
extern int uv_bios_init(void);
146+
extern unsigned long get_uv_systab_phys(bool msg);
136147

137148
extern unsigned long sn_rtc_cycles_per_second;
138149
extern int uv_type;

arch/x86/include/asm/uv/uv.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,8 @@ extern int is_uv_hubbed(int uvtype);
3535
extern void uv_cpu_init(void);
3636
extern void uv_nmi_init(void);
3737
extern void uv_system_init(void);
38-
extern const struct cpumask *uv_flush_tlb_others(const struct cpumask *cpumask,
39-
const struct flush_tlb_info *info);
4038

41-
#else /* X86_UV */
39+
#else /* !X86_UV */
4240

4341
static inline enum uv_system_type get_uv_system_type(void) { return UV_NONE; }
4442
static inline bool is_early_uv_system(void) { return 0; }

0 commit comments

Comments
 (0)