4c73609012
22998-x86-get_page_from_l1e-retcode.patch 22999-x86-mod_l1_entry-retcode.patch 23000-x86-mod_l2_entry-retcode.patch 23096-x86-hpet-no-cpumask_lock.patch 23099-x86-rwlock-scalability.patch 23103-x86-pirq-guest-eoi-check.patch 23127-vtd-bios-settings.patch 23153-x86-amd-clear-DramModEn.patch 23154-x86-amd-iorr-no-rdwr.patch 23199-amd-iommu-unmapped-intr-fault.patch 23200-amd-iommu-intremap-sync.patch 23228-x86-conditional-write_tsc.patch - update xenalyze to revision 98 * Unify setting of vcpu data type * Unify record size checks * Fix cr3_switch not to access hvm struct before it's initialized - add xenalyze.gcc46.patch to fix unused-but-set-variable errors - bnc#688473 - VUL-0: potential buffer overflow in tools cve-2011-1583-4.0.patch - hotplug.losetup.patch correct dev:inode detection and use variable expansion OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=115
52 lines
1.8 KiB
Diff
52 lines
1.8 KiB
Diff
# 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>
|
|
|
|
--- a/xen/arch/x86/cpu/mtrr/generic.c
|
|
+++ b/xen/arch/x86/cpu/mtrr/generic.c
|
|
@@ -116,20 +116,6 @@ void mtrr_wrmsr(unsigned int msr, uint64
|
|
}
|
|
|
|
/**
|
|
- * 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)
|
|
-{
|
|
- uint64_t msr_content;
|
|
-
|
|
- rdmsrl(MSR_K8_SYSCFG, msr_content);
|
|
- mtrr_wrmsr(MSR_K8_SYSCFG, msr_content
|
|
- | K8_MTRRFIXRANGE_DRAM_ENABLE
|
|
- | K8_MTRRFIXRANGE_DRAM_MODIFY);
|
|
-}
|
|
-
|
|
-/**
|
|
* 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
|
|
@@ -145,10 +131,6 @@ static void set_fixed_range(int msr, int
|
|
val = ((uint64_t)msrwords[1] << 32) | msrwords[0];
|
|
|
|
if (msr_content != val) {
|
|
- 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, val);
|
|
*changed = TRUE;
|
|
}
|