aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-01-30 07:33:19 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:33:19 -0500
commit4c9890c246121d070deb8cf5cf53e80caffc4dde (patch)
tree155d9b1bb978ed421a1485e235be39c0948ecdca /include
parent046627130591993fd04acef9aebccf70fdad3702 (diff)
x86: puts read and write cr8 into pv_cpu_ops
This patch adds room for read and write_cr8 functions back in pv_cpu_ops struct Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/paravirt.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index c56b17a5eba0..73547acbbbf5 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -101,6 +101,11 @@ struct pv_cpu_ops {
101 unsigned long (*read_cr4)(void); 101 unsigned long (*read_cr4)(void);
102 void (*write_cr4)(unsigned long); 102 void (*write_cr4)(unsigned long);
103 103
104#ifdef CONFIG_X86_64
105 unsigned long (*read_cr8)(void);
106 void (*write_cr8)(unsigned long);
107#endif
108
104 /* Segment descriptor handling */ 109 /* Segment descriptor handling */
105 void (*load_tr_desc)(void); 110 void (*load_tr_desc)(void);
106 void (*load_gdt)(const struct desc_ptr *); 111 void (*load_gdt)(const struct desc_ptr *);
@@ -614,6 +619,16 @@ static inline void write_cr4(unsigned long x)
614 PVOP_VCALL1(pv_cpu_ops.write_cr4, x); 619 PVOP_VCALL1(pv_cpu_ops.write_cr4, x);
615} 620}
616 621
622static inline unsigned long read_cr8(void)
623{
624 return PVOP_CALL0(unsigned long, pv_cpu_ops.read_cr8);
625}
626
627static inline void write_cr8(unsigned long x)
628{
629 PVOP_VCALL1(pv_cpu_ops.write_cr8, x);
630}
631
617static inline void raw_safe_halt(void) 632static inline void raw_safe_halt(void)
618{ 633{
619 PVOP_VCALL0(pv_irq_ops.safe_halt); 634 PVOP_VCALL0(pv_irq_ops.safe_halt);