Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:Maintenance:114
xen.openSUSE_Evergreen_11.4
23154-x86-amd-iorr-no-rdwr.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 23154-x86-amd-iorr-no-rdwr.patch of Package xen.openSUSE_Evergreen_11.4
# HG changeset patch # User Wei Huang <wei.huang2@amd.com> # Date 1302076933 -3600 # Node ID 42fa70e0761bbb0596618ca5323664f31a2faa76 # Parent 8fb61c9ebe499b576687907d164da07802414925 x86, amd, MTRR: remove k8_enable_fixed_iorrs() AMD64 defines two special bits (bit 3 and 4) RdMem and WrMem in fixed MTRR type. Their values are supposed to be 0 after BIOS hands the control to OS according to AMD BKDG. Unless OS specificially turn them on, they are kept 0 all the time. As a result, k8_enable_fixed_iorrs() is unnecessary and removed from upstream kernel (see https://patchwork.kernel.org/patch/11425/). This patch does the same thing. Signed-off-by: Wei Huang <wei.huang2@amd.com> Index: xen-4.0.3-testing/xen/arch/x86/cpu/mtrr/generic.c =================================================================== --- xen-4.0.3-testing.orig/xen/arch/x86/cpu/mtrr/generic.c +++ xen-4.0.3-testing/xen/arch/x86/cpu/mtrr/generic.c @@ -116,20 +116,6 @@ void mtrr_wrmsr(unsigned msr, unsigned a } /** - * Enable and allow read/write of extended fixed-range MTRR bits on K8 CPUs - * see AMD publication no. 24593, chapter 3.2.1 for more information - */ -static inline void k8_enable_fixed_iorrs(void) -{ - unsigned lo, hi; - - rdmsr(MSR_K8_SYSCFG, lo, hi); - mtrr_wrmsr(MSR_K8_SYSCFG, lo - | K8_MTRRFIXRANGE_DRAM_ENABLE - | K8_MTRRFIXRANGE_DRAM_MODIFY, hi); -} - -/** * Checks and updates an fixed-range MTRR if it differs from the value it * should have. If K8 extenstions are wanted, update the K8 SYSCFG MSR also. * see AMD publication no. 24593, chapter 7.8.1, page 233 for more information @@ -144,10 +130,6 @@ static void set_fixed_range(int msr, int rdmsr(msr, lo, hi); if (lo != msrwords[0] || hi != msrwords[1]) { - if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD && - boot_cpu_data.x86 == 15 && - ((msrwords[0] | msrwords[1]) & K8_MTRR_RDMEM_WRMEM_MASK)) - k8_enable_fixed_iorrs(); mtrr_wrmsr(msr, msrwords[0], msrwords[1]); *changed = TRUE; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor