Thread (1 message) 1 message, 1 author, 2007-08-09

Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks

From: Glauber de Oliveira Costa <hidden>
Date: 2007-08-09 05:49:46

On 8/8/07, Andi Kleen [off-list ref] wrote:
quoted
@@ -264,13 +270,64 @@ struct thread_struct {
      set_fs(USER_DS);                                                         \
 } while(0)

-#define get_debugreg(var, register)                          \
-             __asm__("movq %%db" #register ", %0"            \
-                     :"=r" (var))
-#define set_debugreg(value, register)                        \
-             __asm__("movq %0,%%db" #register                \
-                     : /* no output */                       \
-                     :"r" (value))
+static inline unsigned long native_get_debugreg(int regno)
+{
+     unsigned long val;
It would be better to have own functions for each debug register I think
Andi, you mean:
a) split the debugreg paravirt_ops in various
paravirt_ops.set/get_debugreg{X,Y,Z...}, and then join them together
in a set/get_debugreg(a,b) to keep the current interface. OR
b) keep one paravirt_ops for each set/get_debugreg, then split then in
various set/get_debugregX(a, b), changing the current interface, OR
c) plit the debugreg paravirt_ops in various
paravirt_ops.set/get_debugreg{X,Y,Z...}, and give each its own
function set/get_debugregX(a, b), again, changing the current
interface, OR
d) None of the above?

-- 
Glauber de Oliveira Costa.
"Free as in Freedom"
http://glommer.net

"The less confident you are, the more serious you have to act."
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help