aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/mtrr.h
diff options
context:
space:
mode:
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-11-29 10:09:43 +0000
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>2004-11-29 10:09:43 +0000
commitd053e605831b1d58ab951db9347a83694581338f (patch)
treec4b80e5a52619049454115e7ba0e77a6c81bdb6b /xen/include/asm-x86/mtrr.h
parent001350e508669e1688464cccd55919ef4b80b6c3 (diff)
downloadxen-d053e605831b1d58ab951db9347a83694581338f.tar.gz
xen-d053e605831b1d58ab951db9347a83694581338f.tar.bz2
xen-d053e605831b1d58ab951db9347a83694581338f.zip
bitkeeper revision 1.1159.187.32 (41aaf567IYxx6S0v45_yrK6nVpncuA)
Pull Linux MTRR driver into Xen. This ensures that MTRRs are consistent across all CPUs at boot time. We still need to export MTRR setting via the control interface, and virtualise the XenLinux MTRR driver.
Diffstat (limited to 'xen/include/asm-x86/mtrr.h')
-rw-r--r--xen/include/asm-x86/mtrr.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/xen/include/asm-x86/mtrr.h b/xen/include/asm-x86/mtrr.h
new file mode 100644
index 0000000000..8f615809c7
--- /dev/null
+++ b/xen/include/asm-x86/mtrr.h
@@ -0,0 +1,22 @@
+#ifndef __ASM_X86_MTRR_H__
+#define __ASM_X86_MTRR_H__
+
+#include <xen/config.h>
+
+/* These are the region types. They match the architectural specification. */
+#define MTRR_TYPE_UNCACHABLE 0
+#define MTRR_TYPE_WRCOMB 1
+#define MTRR_TYPE_WRTHROUGH 4
+#define MTRR_TYPE_WRPROT 5
+#define MTRR_TYPE_WRBACK 6
+#define MTRR_NUM_TYPES 7
+
+extern int mtrr_add(unsigned long base, unsigned long size,
+ unsigned int type, char increment);
+extern int mtrr_add_page(unsigned long base, unsigned long size,
+ unsigned int type, char increment);
+extern int mtrr_del(int reg, unsigned long base, unsigned long size);
+extern int mtrr_del_page(int reg, unsigned long base, unsigned long size);
+extern void mtrr_centaur_report_mcr(int mcr, u32 lo, u32 hi);
+
+#endif /* __ASM_X86_MTRR_H__ */