Messages in this thread |  | | | Date | Thu, 9 Aug 2007 02:49:46 -0300 | | From | "Glauber de Oliveira Costa" <> | | Subject | Re: [PATCH 4/25] [PATCH] Add debugreg/load_rsp native hooks |
| |
On 8/8/07, Andi Kleen <ak@suse.de> wrote: > > > > > @@ -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." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |