From 17763efe4dd154d5e01ec6cfda0f8f5f3e850373 Mon Sep 17 00:00:00 2001 From: Dave Hansen Date: Tue, 22 Sep 2026 20:35:01 -0700 Subject: [PATCH 04/75] x86/platform/uv: Remove leftover SCIR definitions The System Controller Interface Registers were a per-cpu byte window at the top of the UV local MMR space that the kernel used to poke with a heartbeat and an idle/busy indicator so the system controller could watch the OS. The kernel side of that went away five years ago in commit c4d98077443a ("x86/platform/uv: Remove SCIR MMR references for UV systems") but the register layout defines - SCIR_WINDOW_COUNT, SCIR_LOCAL_MMR_BASE, SCIR_CPU_HEARTBEAT, SCIR_CPU_ACTIVITY, SCIR_CPU_HB_INTERVAL - and the LOCAL_BUS_BASE/LOCAL_BUS_SIZE pair they were built from stayed behind. Nothing references them. The byte-wide local MMR accessors uv_read_local_mmr8() and uv_write_local_mmr8() existed for the same purpose and have had no callers since either; the SCIR window was the only sub-word thing in local MMR space. Remove all of it. No functional change intended. --- arch/x86/include/asm/uv/uv_hub.h | 34 -------------------------------- 1 file changed, 34 deletions(-) diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h index 765abfec7311b..831643a1caba6 100644 --- a/arch/x86/include/asm/uv/uv_hub.h +++ b/arch/x86/include/asm/uv/uv_hub.h @@ -345,30 +345,6 @@ union uvh_apicid { #define UVH_APICID 0x002D0E00L #define UV_APIC_PNODE_SHIFT 6 -/* Local Bus from cpu's perspective */ -#define LOCAL_BUS_BASE 0x1c00000 -#define LOCAL_BUS_SIZE (4 * 1024 * 1024) - -/* - * System Controller Interface Reg - * - * Note there are NO leds on a UV system. This register is only - * used by the system controller to monitor system-wide operation. - * There are 64 regs per node. With Nehalem cpus (2 cores per node, - * 8 cpus per core, 2 threads per cpu) there are 32 cpu threads on - * a node. - * - * The window is located at top of ACPI MMR space - */ -#define SCIR_WINDOW_COUNT 64 -#define SCIR_LOCAL_MMR_BASE (LOCAL_BUS_BASE + \ - LOCAL_BUS_SIZE - \ - SCIR_WINDOW_COUNT) - -#define SCIR_CPU_HEARTBEAT 0x01 /* timer interrupt */ -#define SCIR_CPU_ACTIVITY 0x02 /* not idle */ -#define SCIR_CPU_HB_INTERVAL (HZ) /* once per second */ - /* Loop through all installed blades */ #define for_each_possible_blade(bid) \ for ((bid) = 0; (bid) < uv_num_possible_blades(); (bid)++) @@ -469,16 +445,6 @@ static inline void uv_write_local_mmr(unsigned long offset, unsigned long val) writeq(val, uv_local_mmr_address(offset)); } -static inline unsigned char uv_read_local_mmr8(unsigned long offset) -{ - return readb(uv_local_mmr_address(offset)); -} - -static inline void uv_write_local_mmr8(unsigned long offset, unsigned char val) -{ - writeb(val, uv_local_mmr_address(offset)); -} - /* Blade-local cpu number of current cpu. Numbered 0 .. <# cpus on the blade> */ static inline int uv_blade_processor_id(void) { -- 2.43.0