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/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]