All of lore.kernel.org
 help / color / mirror / Atom feed
* Crash when booting 32-bit kernel with pvgrub
@ 2009-08-14 22:44 Jeremy Fitzhardinge
  2009-08-16 20:20 ` Christian Tramnitz
  2009-08-17 12:46 ` Samuel Thibault
  0 siblings, 2 replies; 5+ messages in thread
From: Jeremy Fitzhardinge @ 2009-08-14 22:44 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Xen-devel

I'm trying to boot a 32-bit PV guest on a 64-bit xen+dom0 system, and it
crashes as soon as I select a kernel:


  Booting 'Fedora (2.6.27.19-170.2.35.fc10.i686.PAE)'

root (hd0,0)
Error ENOENT when reading the backend path device/vkbd/0/backend
Page fault at linear address 0x1c, eip 0x4b6ee, regs 0xb4ff7c, sp 0xb4fff0, our_sp 0xb4ff50, code 2
Thread: kbdfront
EIP: 4b6ee, EFLAGS 10002.
EBX: 746f6f72 ECX: 00000013 EDX: 00000000
ESI: 00b3fe98 EDI: 00000001 EBP: 00b4ffb0 EAX: 00000000
DS: c2c2e021 ES: e021 orig_eax: ffffffff, eip: 0004b6ee
CS: 1e019 EFLAGS: 00010002 esp: 00b4fff0 ss: 37eb
base is 0xb4ffb0 caller is 0x37eb
base is 0xb4fff0 caller is 0x31ad

b4ffe0: c2 c2 c2 c2 8f 37 00 00 90 05 00 00 40 20 00 98
b4fff0: 00 00 00 00 ad 31 00 00 94 fe b3 00 00 00 00 00
b50000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b50010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

b4ffa0: ff ff ff ff ee b6 04 00 19 e0 01 00 02 00 01 00
b4ffb0: f0 ff b4 00 eb 37 00 00 00 00 00 00 01 00 00 00
b4ffc0: c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2
b4ffd0: c2 c2 c2 c2 c2 c2 c2 00 c2 c2 c2 c2 c2 c2 c2 c2

4b6d0: e5 8b 45 08 c7 40 1c 00 00 00 00 c7 40 20 00 00
4b6e0: 00 00 83 60 18 fe 5d c3 55 89 e5 8b 45 08 c7 40
4b6f0: 1c 00 00 00 00 c7 40 20 00 00 00 00 83 48 18 01
4b700: 5d c3 55 89 e5 53 83 ec 14 a1 e0 e1 94 00 8b 58
Pagetable walk from virt 1c, base 9d7000:
  L3 = 0000000032520027 (0x9d8000)  [offset = 0]
   L2 = 000000003251e067 (0x9da000)  [offset = 0]
    L1 = 0000000000000000 [offset = 0]


Any clues?

Thanks,
	J

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Crash when booting 32-bit kernel with pvgrub
  2009-08-14 22:44 Crash when booting 32-bit kernel with pvgrub Jeremy Fitzhardinge
@ 2009-08-16 20:20 ` Christian Tramnitz
  2009-08-17  0:45   ` Jeremy Fitzhardinge
  2009-08-17 12:46 ` Samuel Thibault
  1 sibling, 1 reply; 5+ messages in thread
From: Christian Tramnitz @ 2009-08-16 20:20 UTC (permalink / raw)
  To: xen-devel

Not sure if this is the actual cause of the problem but since you didn't 
mention it explicitly: Did you build a separate 32bit pvgrub?
pvgrub does not support 32bit/64bit switching so if you need to change 
architectures you need to compile another version of it...


Best regards,
    Christian

Jeremy Fitzhardinge wrote:
> I'm trying to boot a 32-bit PV guest on a 64-bit xen+dom0 system, and it
> crashes as soon as I select a kernel:
> 
> 
>   Booting 'Fedora (2.6.27.19-170.2.35.fc10.i686.PAE)'
> 
> root (hd0,0)
> Error ENOENT when reading the backend path device/vkbd/0/backend
> Page fault at linear address 0x1c, eip 0x4b6ee, regs 0xb4ff7c, sp 0xb4fff0, our_sp 0xb4ff50, code 2
> Thread: kbdfront
> EIP: 4b6ee, EFLAGS 10002.
> EBX: 746f6f72 ECX: 00000013 EDX: 00000000
> ESI: 00b3fe98 EDI: 00000001 EBP: 00b4ffb0 EAX: 00000000
> DS: c2c2e021 ES: e021 orig_eax: ffffffff, eip: 0004b6ee
> CS: 1e019 EFLAGS: 00010002 esp: 00b4fff0 ss: 37eb
> base is 0xb4ffb0 caller is 0x37eb
> base is 0xb4fff0 caller is 0x31ad
> 
> b4ffe0: c2 c2 c2 c2 8f 37 00 00 90 05 00 00 40 20 00 98
> b4fff0: 00 00 00 00 ad 31 00 00 94 fe b3 00 00 00 00 00
> b50000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> b50010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 
> b4ffa0: ff ff ff ff ee b6 04 00 19 e0 01 00 02 00 01 00
> b4ffb0: f0 ff b4 00 eb 37 00 00 00 00 00 00 01 00 00 00
> b4ffc0: c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2 c2
> b4ffd0: c2 c2 c2 c2 c2 c2 c2 00 c2 c2 c2 c2 c2 c2 c2 c2
> 
> 4b6d0: e5 8b 45 08 c7 40 1c 00 00 00 00 c7 40 20 00 00
> 4b6e0: 00 00 83 60 18 fe 5d c3 55 89 e5 8b 45 08 c7 40
> 4b6f0: 1c 00 00 00 00 c7 40 20 00 00 00 00 83 48 18 01
> 4b700: 5d c3 55 89 e5 53 83 ec 14 a1 e0 e1 94 00 8b 58
> Pagetable walk from virt 1c, base 9d7000:
>   L3 = 0000000032520027 (0x9d8000)  [offset = 0]
>    L2 = 000000003251e067 (0x9da000)  [offset = 0]
>     L1 = 0000000000000000 [offset = 0]
> 
> 
> Any clues?
> 
> Thanks,
> 	J

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Re: Crash when booting 32-bit kernel with pvgrub
  2009-08-16 20:20 ` Christian Tramnitz
@ 2009-08-17  0:45   ` Jeremy Fitzhardinge
  0 siblings, 0 replies; 5+ messages in thread
From: Jeremy Fitzhardinge @ 2009-08-17  0:45 UTC (permalink / raw)
  To: Christian Tramnitz; +Cc: xen-devel

On 08/16/09 13:20, Christian Tramnitz wrote:
> Not sure if this is the actual cause of the problem but since you
> didn't mention it explicitly: Did you build a separate 32bit pvgrub?
> pvgrub does not support 32bit/64bit switching so if you need to change
> architectures you need to compile another version of it...

It's using

kernel = "/usr/lib/xen/boot/pv-grub-x86_32.gz"

which I'm presuming is correct.

    J

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Crash when booting 32-bit kernel with pvgrub
  2009-08-14 22:44 Crash when booting 32-bit kernel with pvgrub Jeremy Fitzhardinge
  2009-08-16 20:20 ` Christian Tramnitz
@ 2009-08-17 12:46 ` Samuel Thibault
  2009-09-04 22:08   ` Jeremy Fitzhardinge
  1 sibling, 1 reply; 5+ messages in thread
From: Samuel Thibault @ 2009-08-17 12:46 UTC (permalink / raw)
  To: Jeremy Fitzhardinge; +Cc: Xen-devel

Jeremy Fitzhardinge, le Fri 14 Aug 2009 15:44:49 -0700, a écrit :
> I'm trying to boot a 32-bit PV guest on a 64-bit xen+dom0 system, and it
> crashes as soon as I select a kernel:
> 
> 
>   Booting 'Fedora (2.6.27.19-170.2.35.fc10.i686.PAE)'
> 
> root (hd0,0)
> Error ENOENT when reading the backend path device/vkbd/0/backend

I guess you do not have pvfb enable?

> Page fault at linear address 0x1c, eip 0x4b6ee, regs 0xb4ff7c, sp 0xb4fff0, our_sp 0xb4ff50, code 2
> Thread: kbdfront

Oops, dev->backend isn't allocated at this point and dev isn't zeroed,
here is a patch.

Samuel


Zero kbdfront and fbfront dev structures to fix free_kbdfront() and
free_fbfront() on error.

Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org>

diff -r 41b2c4e4f674 extras/mini-os/fbfront.c
--- a/extras/mini-os/fbfront.c	Wed Jul 29 09:20:46 2009 +0100
+++ b/extras/mini-os/fbfront.c	Mon Aug 17 14:45:43 2009 +0200
@@ -80,6 +80,7 @@
     printk("******************* KBDFRONT for %s **********\n\n\n", nodename);
 
     dev = malloc(sizeof(*dev));
+    memset(dev, 0, sizeof(*dev));
     dev->nodename = strdup(nodename);
 #ifdef HAVE_LIBC
     dev->fd = -1;
@@ -403,6 +404,7 @@
     printk("******************* FBFRONT for %s **********\n\n\n", nodename);
 
     dev = malloc(sizeof(*dev));
+    memset(dev, 0, sizeof(*dev));
     dev->nodename = strdup(nodename);
 #ifdef HAVE_LIBC
     dev->fd = -1;

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Crash when booting 32-bit kernel with pvgrub
  2009-08-17 12:46 ` Samuel Thibault
@ 2009-09-04 22:08   ` Jeremy Fitzhardinge
  0 siblings, 0 replies; 5+ messages in thread
From: Jeremy Fitzhardinge @ 2009-09-04 22:08 UTC (permalink / raw)
  To: Samuel Thibault, Xen-devel

On 08/17/09 05:46, Samuel Thibault wrote:
> Jeremy Fitzhardinge, le Fri 14 Aug 2009 15:44:49 -0700, a écrit :
>   
>> I'm trying to boot a 32-bit PV guest on a 64-bit xen+dom0 system, and it
>> crashes as soon as I select a kernel:
>>
>>
>>   Booting 'Fedora (2.6.27.19-170.2.35.fc10.i686.PAE)'
>>
>> root (hd0,0)
>> Error ENOENT when reading the backend path device/vkbd/0/backend
>>     
> I guess you do not have pvfb enable?
>   

No.

>> Page fault at linear address 0x1c, eip 0x4b6ee, regs 0xb4ff7c, sp 0xb4fff0, our_sp 0xb4ff50, code 2
>> Thread: kbdfront
>>     
> Oops, dev->backend isn't allocated at this point and dev isn't zeroed,
> here is a patch.
>   

Unfortunately this didn't solve the problem for me; it looks unchanged
with the patch applied.

    J

> Samuel
>
>
> Zero kbdfront and fbfront dev structures to fix free_kbdfront() and
> free_fbfront() on error.
>
> Signed-Off-By: Samuel Thibault <samuel.thibault@ens-lyon.org>
>
> diff -r 41b2c4e4f674 extras/mini-os/fbfront.c
> --- a/extras/mini-os/fbfront.c	Wed Jul 29 09:20:46 2009 +0100
> +++ b/extras/mini-os/fbfront.c	Mon Aug 17 14:45:43 2009 +0200
> @@ -80,6 +80,7 @@
>      printk("******************* KBDFRONT for %s **********\n\n\n", nodename);
>  
>      dev = malloc(sizeof(*dev));
> +    memset(dev, 0, sizeof(*dev));
>      dev->nodename = strdup(nodename);
>  #ifdef HAVE_LIBC
>      dev->fd = -1;
> @@ -403,6 +404,7 @@
>      printk("******************* FBFRONT for %s **********\n\n\n", nodename);
>  
>      dev = malloc(sizeof(*dev));
> +    memset(dev, 0, sizeof(*dev));
>      dev->nodename = strdup(nodename);
>  #ifdef HAVE_LIBC
>      dev->fd = -1;
>
>   

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-09-04 22:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-08-14 22:44 Crash when booting 32-bit kernel with pvgrub Jeremy Fitzhardinge
2009-08-16 20:20 ` Christian Tramnitz
2009-08-17  0:45   ` Jeremy Fitzhardinge
2009-08-17 12:46 ` Samuel Thibault
2009-09-04 22:08   ` Jeremy Fitzhardinge

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.