search for: native_read_tscp

Displaying 10 results from an estimated 10 matches for "native_read_tscp".

Did you mean: native_read_tsc
2015 Jun 17
0
[PATCH v3 03/18] x86/tsc/paravirt: Remove the read_tsc and read_tscp paravirt hooks
...+#define rdtscl(low) \ > + ((low) = (u32)native_read_tsc()) > + > +#define rdtscll(val) \ > + ((val) = native_read_tsc()) > + > #define rdtscp(low, high, aux) \ > do { \ > unsigned long long _val = native_read_tscp(&(aux)); \ > @@ -202,8 +204,6 @@ do { \ > > #define rdtscpll(val, aux) (val) = native_read_tscp(&(aux)) > > -#endif /* !CONFIG_PARAVIRT */ > - > /* > * 64-bit version of wrmsr_safe(): > */ &g...
2015 Jun 17
0
[PATCH v3 03/18] x86/tsc/paravirt: Remove the read_tsc and read_tscp paravirt hooks
...+#define rdtscl(low) \ > + ((low) = (u32)native_read_tsc()) > + > +#define rdtscll(val) \ > + ((val) = native_read_tsc()) > + > #define rdtscp(low, high, aux) \ > do { \ > unsigned long long _val = native_read_tscp(&(aux)); \ > @@ -202,8 +204,6 @@ do { \ > > #define rdtscpll(val, aux) (val) = native_read_tscp(&(aux)) > > -#endif /* !CONFIG_PARAVIRT */ > - > /* > * 64-bit version of wrmsr_safe(): > */ &g...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...d) asm volatile("wbinvd": : :"memory"); } -static unsigned long native_read_msr(unsigned int msr, int *err) +static u64 native_read_msr(unsigned int msr, int *err) { unsigned long val; @@ -287,6 +290,13 @@ static u64 native_read_tsc(void) return val; } +static u64 native_read_tscp(int *aux) +{ + u64 val; + asm volatile ("rdtscp" : "=A" (val), "=c" (aux)); + return val; +} + static u64 native_read_pmc(void) { unsigned long val; @@ -463,7 +473,8 @@ void native_pmd_clear(pmd_t *pmd) /* These are in entry.S */ extern void native_iret(void);...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...d) asm volatile("wbinvd": : :"memory"); } -static unsigned long native_read_msr(unsigned int msr, int *err) +static u64 native_read_msr(unsigned int msr, int *err) { unsigned long val; @@ -287,6 +290,13 @@ static u64 native_read_tsc(void) return val; } +static u64 native_read_tscp(int *aux) +{ + u64 val; + asm volatile ("rdtscp" : "=A" (val), "=c" (aux)); + return val; +} + static u64 native_read_pmc(void) { unsigned long val; @@ -463,7 +473,8 @@ void native_pmd_clear(pmd_t *pmd) /* These are in entry.S */ extern void native_iret(void);...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...ot;memory"); +} + +static void native_halt(void) +{ + asm volatile("hlt": : :"memory"); +} + +static u64 native_read_tsc(void) +{ + unsigned long a, b; + asm volatile("rdtsc" : "=a" (a), "=d" (b)); + return a | (b << 32); +} + +static u64 native_read_tscp(int *aux) +{ + u64 a, b; + asm volatile ("rdtscp" : "=a" (a), "=b" (b), "=c" (aux)); + return a | (b << 32); +} + +static u64 native_read_pmc(void) +{ + unsigned long a, b; + asm volatile("rdpmc" : "=a" (a), "=b" (b)); + re...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 01/17] paravirt_ops - core changes
...ot;memory"); +} + +static void native_halt(void) +{ + asm volatile("hlt": : :"memory"); +} + +static u64 native_read_tsc(void) +{ + unsigned long a, b; + asm volatile("rdtsc" : "=a" (a), "=d" (b)); + return a | (b << 32); +} + +static u64 native_read_tscp(int *aux) +{ + u64 a, b; + asm volatile ("rdtscp" : "=a" (a), "=b" (b), "=c" (aux)); + return a | (b << 32); +} + +static u64 native_read_pmc(void) +{ + unsigned long a, b; + asm volatile("rdpmc" : "=a" (a), "=b" (b)); + re...
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
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks, With this series, the bulk of the work of pvops64 is done. Here, I integrate most of the paravirt.c and paravirt.h files, making them applicable to both architectures. CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page table integration (patches currently being worked on by Jeremy). Enjoy
2007 Dec 20
6
[PATCH 0/15] adjust pvops to accomodate its x86_64 variant
Hi folks, With this series, the bulk of the work of pvops64 is done. Here, I integrate most of the paravirt.c and paravirt.h files, making them applicable to both architectures. CONFIG_PARAVIRT is _not_ present yet. Basically, this code is missing page table integration (patches currently being worked on by Jeremy). Enjoy