aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/system.h
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-02-14 19:43:45 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-02-14 19:43:45 +0100
commit84e877b23386eead61d5daaa9043282e32c3170f (patch)
tree03ad90f89a80245a28165f29c36e80f0d419ca49 /xen/include/asm-x86/system.h
parentf25330e8694f5507e6b922641ef553303a3c0976 (diff)
downloadxen-84e877b23386eead61d5daaa9043282e32c3170f.tar.gz
xen-84e877b23386eead61d5daaa9043282e32c3170f.tar.bz2
xen-84e877b23386eead61d5daaa9043282e32c3170f.zip
Fix segment-register dumping in show_registers().
Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'xen/include/asm-x86/system.h')
-rw-r--r--xen/include/asm-x86/system.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/xen/include/asm-x86/system.h b/xen/include/asm-x86/system.h
index cb5f64d001..7e6b95a050 100644
--- a/xen/include/asm-x86/system.h
+++ b/xen/include/asm-x86/system.h
@@ -5,6 +5,12 @@
#include <xen/types.h>
#include <asm/bitops.h>
+#define read_segment_register(name) \
+({ u16 __sel; \
+ __asm__ __volatile__ ( "movw %%" STR(name) ",%0" : "=r" (__sel) ); \
+ __sel; \
+})
+
/* Clear and set 'TS' bit respectively */
#define clts() __asm__ __volatile__ ("clts")
#define stts() write_cr0(X86_CR0_TS|read_cr0())