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