Re: [git-pull -tip V2] x86: cpu architecture debug code

From: Ingo Molnar
Date: Wed Mar 11 2009 - 09:13:38 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> * Jaswinder Singh Rajput <jaswinder@xxxxxxxxxx> wrote:
>
> > @@ -472,7 +473,7 @@ static void print_dt(void *seq)
> > print_desc_ptr("GDT", seq, dt);
> >
> > /* LDT */
> > - store_ldt(ldt);
> > + asm volatile("sldt %0" : "=m" (ldt));
>
> this is still wrong.

As i pointed it out before, we should not open-code an assembly
primitive - especially since store_ldt() is available in
arch/x86/include/asm/desc.h.

True, that primitive is not available on CONFIG_PARAVIRT, but
that is a bug: the fix is to move the store_ldt() definition
outside the CONFIG_PARAVIRT section in desc.h, not to hack
around the problem by open-coding assembly code.

I.e. dont let an uncleanliness and incomplete primitive spread
to other code. Fix the primitive and remove the uncleanliness
that way.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/