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