From 5505e112c4396c1b94b39f2341d0b696a49e9570 Mon Sep 17 00:00:00 2001 From: Stephanie Brink Date: Mon, 5 Feb 2024 16:50:46 -0800 Subject: [PATCH] add allowlist for AMD Zen3 --- allowlists/al_19_1 | 326 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 326 insertions(+) create mode 100644 allowlists/al_19_1 diff --git a/allowlists/al_19_1 b/allowlists/al_19_1 new file mode 100644 index 0000000..6d007eb --- /dev/null +++ b/allowlists/al_19_1 @@ -0,0 +1,326 @@ +## This file contains the model-specific registers available in AMD processors of Architecture Zen3 +## based on a close reading of Processor Programming Reference (PPR) for AMD Family 19h Model 01h, Revision B1 Processors (May 28 2021) +## Uncommenting allows reading a particular MSR. +## Modifying the write mask allows writing to those particular bits. +## Be sure to cat the modified list into /dev/cpu/msr_allowlist. +## See the README file for more details. +## +## MSR # Write Mask # Comment +# 0x00000010 0x0000000000000000 # Time Stamp Counter +# 0x0000001B 0x0000000000000000 # APIC Base Address +# 0x0000002A 0x0000000000000000 # Cluster ID +# 0x00000048 0x0000000000000000 # Speculative Control +# 0x00000049 0x0000000000000000 # Prediction Command +# 0x0000008B 0x0000000000000000 # Patch Level +# 0x000000E7 0x0000000000000000 # Max Performance Frequency Clock Count +# 0x000000E8 0x0000000000000000 # Actual Performance Frequency Clock Count +# 0x000000FE 0x0000000000000000 # MTRR Capabilities +# 0x00000174 0x0000000000000000 # SYSENTER CS +# 0x00000175 0x0000000000000000 # SYSENTER ESP +# 0x00000176 0x0000000000000000 # SYSENTER EIP +# 0x00000179 0x0000000000000000 # Global Machine Check Capabilities +# 0x0000017A 0x0000000000000000 # Global Machine Check Status +# 0x0000017B 0x0000000000000000 # Global Machine Check Exception Reporting Control +# 0x000001D9 0x0000000000000000 # Debug Control +# 0x000001DB 0x0000000000000000 # Last Branch From IP +# 0x000001DC 0x0000000000000000 # Last Branch To IP +# 0x000001DD 0x0000000000000000 # Last Exception From IP +# 0x000001DE 0x0000000000000000 # Last Exception To IP +# 0x00000200 0x0000000000000000 # Variable-Size MTRRs Base +# 0x00000201 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x00000202 0x0000000000000000 # Variable-Size MTRRs Base +# 0x00000203 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x00000204 0x0000000000000000 # Variable-Size MTRRs Base +# 0x00000205 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x00000206 0x0000000000000000 # Variable-Size MTRRs Base +# 0x00000207 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x00000208 0x0000000000000000 # Variable-Size MTRRs Base +# 0x00000209 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x0000020A 0x0000000000000000 # Variable-Size MTRRs Base +# 0x0000020B 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x0000020C 0x0000000000000000 # Variable-Size MTRRs Base +# 0x0000020D 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x0000020E 0x0000000000000000 # Variable-Size MTRRs Base +# 0x0000020F 0x0000000000000000 # Variable-Size MTRRs Mask +# 0x00000250 0x0000000000000000 # Fixed-Size MTRRs +# 0x00000258 0x0000000000000000 # Fixed-Size MTRRs +# 0x00000259 0x0000000000000000 # Fixed-Size MTRRs +# 0x00000268 0x0000000000000000 # Fixed-Size MTRRs +# 0x00000269 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026A 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026B 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026C 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026D 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026E 0x0000000000000000 # Fixed-Size MTRRs +# 0x0000026F 0x0000000000000000 # Fixed-Size MTRRs +# 0x00000277 0x0000000000000000 # Page Attribute Table +# 0x000002FF 0x0000000000000000 # MTRR Default Memory Type +# 0x000006A0 0x0000000000000000 # User CET +# 0x000006A2 0x0000000000000000 # Supervisor CET +# 0x000006A4 0x0000000000000000 # PL0 Shadow Stack Pointer +# 0x000006A5 0x0000000000000000 # PL1 Shadow Stack Pointer +# 0x000006A6 0x0000000000000000 # PL2 Shadow Stack Pointer +# 0x000006A7 0x0000000000000000 # PL3 Shadow Stack Pointer +# 0x000006A8 0x0000000000000000 # Interrupt SSP Table Address +# 0x00000802 0x0000000000000000 # APIC ID +# 0x00000803 0x0000000000000000 # APIC Version +# 0x00000808 0x0000000000000000 # Task Priority +# 0x00000809 0x0000000000000000 # Arbitration Priority +# 0x0000080A 0x0000000000000000 # Processor Priority +# 0x0000080B 0x0000000000000000 # End Of Interrupt +# 0x0000080D 0x0000000000000000 # Logical Destination Register +# 0x0000080F 0x0000000000000000 # Spurious Interrupt Vector +# 0x00000810 0x0000000000000000 # In Service Register +# 0x00000811 0x0000000000000000 # In Service Register +# 0x00000812 0x0000000000000000 # In Service Register +# 0x00000813 0x0000000000000000 # In Service Register +# 0x00000814 0x0000000000000000 # In Service Register +# 0x00000815 0x0000000000000000 # In Service Register +# 0x00000816 0x0000000000000000 # In Service Register +# 0x00000817 0x0000000000000000 # In Service Register +# 0x00000818 0x0000000000000000 # Trigger Mode Register +# 0x00000819 0x0000000000000000 # Trigger Mode Register +# 0x0000081A 0x0000000000000000 # Trigger Mode Register +# 0x0000081B 0x0000000000000000 # Trigger Mode Register +# 0x0000081C 0x0000000000000000 # Trigger Mode Register +# 0x0000081D 0x0000000000000000 # Trigger Mode Register +# 0x0000081E 0x0000000000000000 # Trigger Mode Register +# 0x0000081F 0x0000000000000000 # Trigger Mode Register +# 0x00000820 0x0000000000000000 # Interrupt Request Register +# 0x00000821 0x0000000000000000 # Interrupt Request Register +# 0x00000822 0x0000000000000000 # Interrupt Request Register +# 0x00000824 0x0000000000000000 # Interrupt Request Register +# 0x00000825 0x0000000000000000 # Interrupt Request Register +# 0x00000826 0x0000000000000000 # Interrupt Request Register +# 0x00000827 0x0000000000000000 # Interrupt Request Register +# 0x00000828 0x0000000000000000 # Error Status Register +# 0x00000830 0x0000000000000000 # Interrupt Command +# 0x00000832 0x0000000000000000 # LVT Timer +# 0x00000833 0x0000000000000000 # LVT Thermal Sensor +# 0x00000834 0x0000000000000000 # LVT Performance Monitor +# 0x00000835 0x0000000000000000 # LVT LINT[1:0] +# 0x00000836 0x0000000000000000 # LVT LINT[1:0] +# 0x00000837 0x0000000000000000 # LVT Error +# 0x00000838 0x0000000000000000 # Timer Initial Count +# 0x00000839 0x0000000000000000 # Timer Current Count +# 0x0000083E 0x0000000000000000 # Timer Divide Configuration +# 0x0000083F 0x0000000000000000 # Self IPI +# 0x00000840 0x0000000000000000 # Extended APIC Feature +# 0x00000841 0x0000000000000000 # Extended APIC Control +# 0x00000842 0x0000000000000000 # Specific End Of Interrupt +# 0x00000848 0x0000000000000000 # Interrupt Enable 0 +# 0x00000849 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084A 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084B 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084C 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084D 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084E 0x0000000000000000 # Interrupt Enable 7..1 +# 0x0000084F 0x0000000000000000 # Interrupt Enable 7..1 +# 0x00000850 0x0000000000000000 # Extended Interrupt Local Vector Table +# 0x00000851 0x0000000000000000 # Extended Interrupt Local Vector Table +# 0x00000852 0x0000000000000000 # Extended Interrupt Local Vector Table +# 0x00000853 0x0000000000000000 # Extended Interrupt Local Vector Table +# 0x00000C81 0x0000000000000000 # L3 QoS Configuration +# 0x00000C8D 0x0000000000000000 # Monitoring Event Select +# 0x00000C8E 0x0000000000000000 # QOS L3 Counter +# 0x00000C8F 0x0000000000000000 # Resource Association +# 0x00000C90 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C91 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C92 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C93 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C94 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C95 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C96 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C97 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C98 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C99 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9A 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9B 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9C 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9D 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9E 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000C9F 0x0000000000000000 # L3 QOS Allocation Mask +# 0x00000DA0 0x0000000000000000 # Extended Supervisor State +# 0xC0000080 0x0000000000000000 # Extended Feature Enable +# 0xC0000081 0x0000000000000000 # SYSCALL Target Address +# 0xC0000082 0x0000000000000000 # Long Mode SYSCALL Target Address +# 0xC0000083 0x0000000000000000 # Compatibility Mode SYSCALL Target Address +# 0xC0000084 0x0000000000000000 # SYSCALL Flag Mask +# 0xC00000E7 0x0000000000000000 # Read-Only Max Performance Frequency Clock Count +# 0xC00000E8 0x0000000000000000 # Read-Only Actual Performance Frequency Clock Count +# 0xC00000E9 0x0000000000000000 # Instructions Retired Performance Count +# 0xC0000100 0x0000000000000000 # FS Base +# 0xC0000101 0x0000000000000000 # GS Base +# 0xC0000102 0x0000000000000000 # Kernel GS Base +# 0xC0000103 0x0000000000000000 # Auxiliary Time Stamp Counter +# 0xC0000104 0x0000000000000000 # Time Stamp Counter Ratio +# 0xC0000108 0x0000000000000000 # Prefetch Control +# 0xC000010F 0x0000000000000000 # Debug Extension Configuration +# 0xC0000200 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000201 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000202 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000203 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000204 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000205 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000206 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000207 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000208 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000209 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020A 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020B 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020C 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020D 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020E 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC000020F 0x0000000000000000 # L3 QOS Bandwidth Control +# 0xC0000410 0x0000000000000000 # MCA Interrupt Configuration +# 0xC0010000 0x0000000000000000 # Performance Event Select 0 +# 0xC0010001 0x0000000000000000 # Performance Event Select 1 +# 0xC0010002 0x0000000000000000 # Performance Event Select 2 +# 0xC0010003 0x0000000000000000 # Performance Event Select 3 +# 0xC0010004 0x0000000000000000 # Performance Event Counter [3:0] +# 0xC0010005 0x0000000000000000 # Performance Event Counter [3:0] +# 0xC0010006 0x0000000000000000 # Performance Event Counter [3:0] +# 0xC0010007 0x0000000000000000 # Performance Event Counter [3:0] +# 0xC0010010 0x0000000000000000 # System Configuration +# 0xC0010015 0x0000000000000000 # Hardware Configuration +# 0xC0010016 0x0000000000000000 # IO Range Base +# 0xC0010017 0x0000000000000000 # IO Range Mask +# 0xC0010018 0x0000000000000000 # IO Range Base +# 0xC0010019 0x0000000000000000 # IO Range Mask +# 0xC001001A 0x0000000000000000 # Top Of Memory +# 0xC001001D 0x0000000000000000 # Top Of Memory 2 +# 0xC0010022 0x0000000000000000 # Machine Check Exception Redirection +# 0xC0010030 0x0000000000000000 # Processor Name String +# 0xC0010031 0x0000000000000000 # Processor Name String +# 0xC0010032 0x0000000000000000 # Processor Name String +# 0xC0010033 0x0000000000000000 # Processor Name String +# 0xC0010034 0x0000000000000000 # Processor Name String +# 0xC0010035 0x0000000000000000 # Processor Name String +# 0xC0010050 0x0000000000000000 # IO Trap +# 0xC0010051 0x0000000000000000 # IO Trap +# 0xC0010052 0x0000000000000000 # IO Trap +# 0xC0010053 0x0000000000000000 # IO Trap +# 0xC0010054 0x0000000000000000 # IO Trap Control +# 0xC0010055 0x0000000000000000 # Reserved. +# 0xC0010056 0x0000000000000000 # SMI Trigger IO Cycle +# 0xC0010058 0x0000000000000000 # MMIO Configuration Base Address +# 0xC0010061 0x0000000000000000 # P-state Current Limit +# 0xC0010062 0x0000000000000000 # P-state Control +# 0xC0010063 0x0000000000000000 # P-state Status +# 0xC0010064 0x0000000000000000 # P-state [7:0] +# 0xC0010065 0x0000000000000000 # P-state [7:0] +# 0xC0010066 0x0000000000000000 # P-state [7:0] +# 0xC0010067 0x0000000000000000 # P-state [7:0] +# 0xC0010068 0x0000000000000000 # P-state [7:0] +# 0xC0010069 0x0000000000000000 # P-state [7:0] +# 0xC001006A 0x0000000000000000 # P-state [7:0] +# 0xC001006B 0x0000000000000000 # P-state [7:0] +# 0xC0010073 0x0000000000000000 # C-state Base Address +# 0xC0010074 0x0000000000000000 # CPU Watchdog Timer +# 0xC0010111 0x0000000000000000 # SMM Base Address +# 0xC0010112 0x0000000000000000 # SMM TSeg Base Address +# 0xC0010113 0x0000000000000000 # SMM TSeg Mask +# 0xC0010114 0x0000000000000000 # Virtual Machine Control +# 0xC0010115 0x0000000000000000 # IGNNE +# 0xC0010116 0x0000000000000000 # SMM Control +# 0xC0010117 0x0000000000000000 # Virtual Machine Host Save Physical Address +# 0xC0010118 0x0000000000000000 # SVM Lock Key +# 0xC001011A 0x0000000000000000 # Local SMI Status +# 0xC001011B 0x0000000000000000 # AVIC Doorbell +# 0xC001011E 0x0000000000000000 # VM Page Flush +# 0xC0010130 0x0000000000000000 # Guest Host Communication Block +# 0xC0010131 0x0000000000000000 # SEV Status +# 0xC0010132 0x0000000000000000 # RMP Base +# 0xC0010133 0x0000000000000000 # RMP End +# 0xC0010140 0x0000000000000000 # OS Visible Work-around Length +# 0xC0010141 0x0000000000000000 # OS Visible Work-around Status +# 0xC0010200 0x0000000000000000 # Performance Event Select 0 +# 0xC0010201 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC0010202 0x0000000000000000 # Performance Event Select 1 +# 0xC0010203 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC0010204 0x0000000000000000 # Performance Event Select 2 +# 0xC0010205 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC0010206 0x0000000000000000 # Performance Event Select 3 +# 0xC0010207 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC0010208 0x0000000000000000 # Performance Event Select 4 +# 0xC0010209 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC001020A 0x0000000000000000 # Performance Event Select 5 +# 0xC001020B 0x0000000000000000 # Performance Event Counter [5:0] +# 0xC0010230 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC0010231 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC0010232 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC0010233 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC0010234 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC0010235 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC0010236 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC0010237 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC0010238 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC0010239 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC001023A 0x0000000000000000 # L3 Performance Event Select [5:0] +# 0xC001023B 0x0000000000000000 # L3 Performance Event Counter [5:0] +# 0xC0010240 0x0000000000000000 # Data Fabric Performance Event Select [3:0] +# 0xC0010241 0x0000000000000000 # Data Fabric Performance Event Counter [3:0] +# 0xC0010242 0x0000000000000000 # Data Fabric Performance Event Select [3:0] +# 0xC0010243 0x0000000000000000 # Data Fabric Performance Event Counter [3:0] +# 0xC0010244 0x0000000000000000 # Data Fabric Performance Event Select [3:0] +# 0xC0010245 0x0000000000000000 # Data Fabric Performance Event Counter [3:0] +# 0xC0010246 0x0000000000000000 # Data Fabric Performance Event Select [3:0] +# 0xC0010247 0x0000000000000000 # Data Fabric Performance Event Counter [3:0] +# 0xC0010299 0x0000000000000000 # RAPL Power Unit +# 0xC001029A 0x0000000000000000 # Core Energy Status +# 0xC001029B 0x0000000000000000 # Package Energy Status +# 0xC00102F0 0x0000000000000000 # Protected Processor Inventory Number Control +# 0xC00102F1 0x0000000000000000 # Protected Processor Inventory Number +# 0xC0010300 0x0000000000000000 # Sample Branch From +# 0xC0010301 0x0000000000000000 # Sample Branch To +# 0xC0010302 0x0000000000000000 # Sample Branch From +# 0xC0010303 0x0000000000000000 # Sample Branch To +# 0xC0010304 0x0000000000000000 # Sample Branch From +# 0xC0010305 0x0000000000000000 # Sample Branch To +# 0xC0010306 0x0000000000000000 # Sample Branch From +# 0xC0010307 0x0000000000000000 # Sample Branch To +# 0xC0010308 0x0000000000000000 # Sample Branch From +# 0xC0010309 0x0000000000000000 # Sample Branch To +# 0xC001030A 0x0000000000000000 # Sample Branch From +# 0xC001030B 0x0000000000000000 # Sample Branch To +# 0xC001030C 0x0000000000000000 # Sample Branch From +# 0xC001030D 0x0000000000000000 # Sample Branch To +# 0xC001030E 0x0000000000000000 # Sample Branch From +# 0xC001030F 0x0000000000000000 # Sample Branch To +# 0xC0010310 0x0000000000000000 # Sample Branch From +# 0xC0010311 0x0000000000000000 # Sample Branch To +# 0xC0010312 0x0000000000000000 # Sample Branch From +# 0xC0010313 0x0000000000000000 # Sample Branch To +# 0xC0010314 0x0000000000000000 # Sample Branch From +# 0xC0010315 0x0000000000000000 # Sample Branch To +# 0xC0010316 0x0000000000000000 # Sample Branch From +# 0xC0010317 0x0000000000000000 # Sample Branch To +# 0xC0010318 0x0000000000000000 # Sample Branch From +# 0xC0010319 0x0000000000000000 # Sample Branch To +# 0xC001031A 0x0000000000000000 # Sample Branch From +# 0xC001031B 0x0000000000000000 # Sample Branch To +# 0xC001031C 0x0000000000000000 # Sample Branch From +# 0xC001031D 0x0000000000000000 # Sample Branch To +# 0xC001031E 0x0000000000000000 # Sample Branch From +# 0xC001031F 0x0000000000000000 # Sample Branch To +# 0xC0011002 0x0000000000000000 # CPUID Features for CPUID Fn00000007_E[A,B]X +# 0xC0011003 0x0000000000000000 # Thermal and Power Management CPUID Features +# 0xC0011004 0x0000000000000000 # CPUID Features for CPUID Fn00000001_E[C,D]X +# 0xC0011005 0x0000000000000000 # CPUID Features for CPUID Fn80000001_E[C,D]X +# 0xC0011019 0x0000000000000000 # Address Mask For DR1 Breakpoint +# 0xC001101A 0x0000000000000000 # Address Mask For DR2 Breakpoint +# 0xC001101B 0x0000000000000000 # Address Mask For DR3 Breakpoint +# 0xC0011027 0x0000000000000000 # Address Mask For DR0 Breakpoints +# 0xC0011030 0x0000000000000000 # IBS Fetch Control +# 0xC0011031 0x0000000000000000 # IBS Fetch Linear Address +# 0xC0011032 0x0000000000000000 # IBS Fetch Physical Address +# 0xC0011033 0x0000000000000000 # IBS Execution Control +# 0xC0011034 0x0000000000000000 # IBS Op RIP +# 0xC0011035 0x0000000000000000 # IBS Op Data +# 0xC0011036 0x0000000000000000 # IBS Op Data 2 +# 0xC0011037 0x0000000000000000 # IBS Op Data 3 +# 0xC0011038 0x0000000000000000 # IBS DC Linear Address +# 0xC0011039 0x0000000000000000 # IBS DC Physical Address +# 0xC001103A 0x0000000000000000 # IBS Control +# 0xC001103B 0x0000000000000000 # IBS Branch Target Address +# 0xC001103C 0x0000000000000000 # IBS Fetch Control Extended \ No newline at end of file