search for: checking_wrmsrl

Displaying 12 results from an estimated 12 matches for "checking_wrmsrl".

2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 16/17] paravirt_ops - touch ups
...ra Costa <gcosta@redhat.com> Index: clean-start/arch/x86_64/ia32/syscall32.c =================================================================== --- clean-start.orig/arch/x86_64/ia32/syscall32.c +++ clean-start/arch/x86_64/ia32/syscall32.c @@ -119,5 +119,5 @@ void syscall32_cpu_init(void) checking_wrmsrl(MSR_IA32_SYSENTER_ESP, 0ULL); checking_wrmsrl(MSR_IA32_SYSENTER_EIP, (u64)ia32_sysenter_target); - wrmsrl(MSR_CSTAR, ia32_cstar_target); + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target); } Index: clean-start/arch/x86_64/mm/pageattr.c =================================================================...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 16/17] paravirt_ops - touch ups
...ra Costa <gcosta@redhat.com> Index: clean-start/arch/x86_64/ia32/syscall32.c =================================================================== --- clean-start.orig/arch/x86_64/ia32/syscall32.c +++ clean-start/arch/x86_64/ia32/syscall32.c @@ -119,5 +119,5 @@ void syscall32_cpu_init(void) checking_wrmsrl(MSR_IA32_SYSENTER_ESP, 0ULL); checking_wrmsrl(MSR_IA32_SYSENTER_EIP, (u64)ia32_sysenter_target); - wrmsrl(MSR_CSTAR, ia32_cstar_target); + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target); } Index: clean-start/arch/x86_64/mm/pageattr.c =================================================================...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 02/17] paravirt_ops - msr
...t;a\"\n" \ - " .align 8\n\t" \ - " .quad 2b,3b\n\t" \ - ".previous" \ - : "=a" (ret__) \ - : "c" (msr), "0" (a), "d" (b), "i" (-EFAULT)); \ - ret__; }) - -#define checking_wrmsrl(msr,val) wrmsr_safe(msr,(u32)(val),(u32)((val)>>32)) - -#define rdmsr_safe(msr,a,b) \ - ({ int ret__; \ - asm volatile ("1: rdmsr\n" \ - "2:\n" \ - ".section .fixup,\"ax\"\n" \ -...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 02/17] paravirt_ops - msr
...t;a\"\n" \ - " .align 8\n\t" \ - " .quad 2b,3b\n\t" \ - ".previous" \ - : "=a" (ret__) \ - : "c" (msr), "0" (a), "d" (b), "i" (-EFAULT)); \ - ret__; }) - -#define checking_wrmsrl(msr,val) wrmsr_safe(msr,(u32)(val),(u32)((val)>>32)) - -#define rdmsr_safe(msr,a,b) \ - ({ int ret__; \ - asm volatile ("1: rdmsr\n" \ - "2:\n" \ - ".section .fixup,\"ax\"\n" \ -...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...syscall32.c linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c --- linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c 2007-01-11 21:51:35.000000000 -0200 +++ linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c 2007-01-09 11:01:19.000000000 -0200 @@ -104,5 +104,5 @@ void syscall32_cpu_init(void) checking_wrmsrl(MSR_IA32_SYSENTER_ESP, 0ULL); checking_wrmsrl(MSR_IA32_SYSENTER_EIP, (u64)ia32_sysenter_target); - wrmsrl(MSR_CSTAR, ia32_cstar_target); + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target); } diff -urp linux-2.6.19-paravirt0/arch/x86_64/kernel/asm-offsets.c linux-2.6.19-paravirt1/arch/x86_64/kernel/as...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...syscall32.c linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c --- linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c 2007-01-11 21:51:35.000000000 -0200 +++ linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c 2007-01-09 11:01:19.000000000 -0200 @@ -104,5 +104,5 @@ void syscall32_cpu_init(void) checking_wrmsrl(MSR_IA32_SYSENTER_ESP, 0ULL); checking_wrmsrl(MSR_IA32_SYSENTER_EIP, (u64)ia32_sysenter_target); - wrmsrl(MSR_CSTAR, ia32_cstar_target); + wrmsrl(MSR_CSTAR, (u64)ia32_cstar_target); } diff -urp linux-2.6.19-paravirt0/arch/x86_64/kernel/asm-offsets.c linux-2.6.19-paravirt1/arch/x86_64/kernel/as...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
..._cpuid /* * Access to machine-specific registers (available on 586 and better only) * Note: the rd* operations modify the parameters directly (without using @@ -43,7 +60,6 @@ : "c" (msr), "0" (a), "d" (b), "i" (-EFAULT)); \ ret__; }) -#define checking_wrmsrl(msr,val) wrmsr_safe(msr,(u32)(val),(u32)((val)>>32)) #define rdmsr_safe(msr,a,b) \ ({ int ret__; \ @@ -66,8 +82,6 @@ #define rdtscl(low) \ __asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx") -#define rdtscp(low,high,aux) \ - asm volatile...
2007 Apr 18
2
[PATCH] x86_64 paravirt_ops port
..._cpuid /* * Access to machine-specific registers (available on 586 and better only) * Note: the rd* operations modify the parameters directly (without using @@ -43,7 +60,6 @@ : "c" (msr), "0" (a), "d" (b), "i" (-EFAULT)); \ ret__; }) -#define checking_wrmsrl(msr,val) wrmsr_safe(msr,(u32)(val),(u32)((val)>>32)) #define rdmsr_safe(msr,a,b) \ ({ int ret__; \ @@ -66,8 +82,6 @@ #define rdtscl(low) \ __asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx") -#define rdtscp(low,high,aux) \ - asm volatile...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...; 32; \ + _err; }) + +#define wrmsr(msr,val1,val2) do { \ + u64 _l = ((u64)(val2) << 32) | (val1); \ + paravirt_ops.write_msr((msr), _l); \ +} while(0) + +#define rdmsrl(msr,val) do { \ + int _err; \ + val = paravirt_ops.read_msr((msr),&_err); \ +} while(0) + +#define checking_wrmsrl(msr,val) (paravirt_ops.write_msr((msr),(val))) + +#define wrmsrl(msr,val) (paravirt_ops.write_msr((msr),(val))) + +#define wrmsr_safe(msr,a,b) ({ \ + u64 _l = ((u64)(b) << 32) | (a); \ + paravirt_ops.write_msr((msr),_l); \ +}) + +#define rdtsc(low,high) do { \ + u64 _l = paravirt_...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...; 32; \ + _err; }) + +#define wrmsr(msr,val1,val2) do { \ + u64 _l = ((u64)(val2) << 32) | (val1); \ + paravirt_ops.write_msr((msr), _l); \ +} while(0) + +#define rdmsrl(msr,val) do { \ + int _err; \ + val = paravirt_ops.read_msr((msr),&_err); \ +} while(0) + +#define checking_wrmsrl(msr,val) (paravirt_ops.write_msr((msr),(val))) + +#define wrmsrl(msr,val) (paravirt_ops.write_msr((msr),(val))) + +#define wrmsr_safe(msr,a,b) ({ \ + u64 _l = ((u64)(b) << 32) | (a); \ + paravirt_ops.write_msr((msr),_l); \ +}) + +#define rdtsc(low,high) do { \ + u64 _l = paravirt_...
2009 Nov 18
5
[PATCH 0/3] Split up pv-ops
Paravirt ops is currently only capable of either replacing a lot of Linux internal code or none at all. The are users that don't need all of the possibilities pv-ops delivers though. On KVM for example we're perfectly fine not using the PV MMU, thus not touching any MMU code. That way we don't have to improve pv-ops to become fast, we just don't compile the MMU parts in! This
2009 Nov 18
5
[PATCH 0/3] Split up pv-ops
Paravirt ops is currently only capable of either replacing a lot of Linux internal code or none at all. The are users that don't need all of the possibilities pv-ops delivers though. On KVM for example we're perfectly fine not using the PV MMU, thus not touching any MMU code. That way we don't have to improve pv-ops to become fast, we just don't compile the MMU parts in! This