* Jeff Chua <[EMAIL PROTECTED]> wrote:

> On Feb 4, 2008 10:53 PM, Ingo Molnar <[EMAIL PROTECTED]> wrote:
> > > commit 8d947344c47a40626730bb80d136d8daac9f2060
> > > Author: Glauber de Oliveira Costa <[EMAIL PROTECTED]>
> > > Date:   Wed Jan 30 13:31:12 2008 +0100
> > >
> > >     x86: change write_idt_entry signature
> >
> > does the patch below ontop of x86.git#mm fix this?
> 
> 
> > 32-bit or 64-bit guest kernel?
> 
> 32-bit.
> 
> Yep, this fixed the problem.

great! I've added:

   Tested-by: Jeff Chua <[EMAIL PROTECTED]>

to the commit message as well, if you dont mind. Full patch is below.

> You're amazingly fast!

you did all the hard work by bisecting it down so fast - fixing it was 
easy :)

        Ingo

----------------------->
Subject: x86: VMI fix
From: Ingo Molnar <[EMAIL PROTECTED]>

Jeff Chua bisected down a vmware guest boot breakage (hang) to
this paravirt change:

  commit 8d947344c47a40626730bb80d136d8daac9f2060
  Author: Glauber de Oliveira Costa <[EMAIL PROTECTED]>
  Date:   Wed Jan 30 13:31:12 2008 +0100

    x86: change write_idt_entry signature

fix the off-by-one indexing bug ...

Bisected-by: Jeff Chua <[EMAIL PROTECTED]>
Tested-by: Jeff Chua <[EMAIL PROTECTED]>
Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
---
 arch/x86/kernel/vmi_32.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-x86.q/arch/x86/kernel/vmi_32.c
===================================================================
--- linux-x86.q.orig/arch/x86/kernel/vmi_32.c
+++ linux-x86.q/arch/x86/kernel/vmi_32.c
@@ -220,21 +220,21 @@ static void vmi_set_tr(void)
 static void vmi_write_idt_entry(gate_desc *dt, int entry, const gate_desc *g)
 {
        u32 *idt_entry = (u32 *)g;
-       vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[2]);
+       vmi_ops.write_idt_entry(dt, entry, idt_entry[0], idt_entry[1]);
 }
 
 static void vmi_write_gdt_entry(struct desc_struct *dt, int entry,
                                const void *desc, int type)
 {
        u32 *gdt_entry = (u32 *)desc;
-       vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[2]);
+       vmi_ops.write_gdt_entry(dt, entry, gdt_entry[0], gdt_entry[1]);
 }
 
 static void vmi_write_ldt_entry(struct desc_struct *dt, int entry,
                                const void *desc)
 {
        u32 *ldt_entry = (u32 *)desc;
-       vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[2]);
+       vmi_ops.write_idt_entry(dt, entry, ldt_entry[0], ldt_entry[1]);
 }
 
 static void vmi_load_sp0(struct tss_struct *tss,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to