qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1596832] [NEW] e500 -bios/-kernel broken with big imag


From: Andrej Krutak
Subject: [Qemu-devel] [Bug 1596832] [NEW] e500 -bios/-kernel broken with big images
Date: Tue, 28 Jun 2016 07:50:27 -0000

Public bug reported:

This is tested using qemu 2.4.1, but it looks like the code
qemu/hw/ppc/e500.c has not changed since. This looks like the source of
the problem:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=3812c71ffaa2cf733c3087792b859fef30b7545f


What works:
----------

Basic invocation qemu-system-ppc -machine ppce500  -monitor stdio  -bios
u-boot.e500 works, I get the uboot prompt and this:

(qemu) info roms
addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"


Passing u-boot.e500 image as kernel (-bios u-boot.e500 -kernel u-boot.e500) 
appears to work, $qemu_kernel_addr is filled in, though (as expected) uboot 
complains about the image format.

(qemu) info roms
addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"
addr=0000000002000000 size=0x054e8c mem=ram 
name=".../qemu/share/qemu/u-boot.e500


What doesn't work:
-----------------

However, once I try to load a big image (>=32 MiB), uboot doesn't even
show anything:

qemu-system-ppc -machine ppce500  -monitor stdio -bios u-boot.e500
-kernel boot/vmlinux -m 1024

(qemu) info roms
addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"
addr=0000000002000000 size=0x27aeedc mem=ram name="boot/vmlinux"

...
(gdb) bt
#0  0x00f2efcc in ?? ()
#1  0x00f31554 in ?? ()
#2  0x00f03f4c in ?? ()
#3  0x00f04458 in ?? ()
#4  0x00f028dc in ?? ()
#5  0x00f01080 in ?? ()


The thing is, this used to work +- before the commit, where I'd just
pass the image as -kernel option, and it booted.


If I do that now (w/o the -bios option, using the exact same image), the kernel 
gets loaded twice, only at different addresses (the cause is obvious from the 
commit), causing overlap error:

qemu-system-ppc -machine ppce500  -monitor stdio  -kernel boot/vmlinux -m 1024
QEMU 2.4.1 monitor - type 'help' for more information
(qemu) rom: requested regions overlap (rom boot/vmlinux. 
free=0x00000000027492fc, addr=0x0000000002000000)

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1596832

Title:
  e500 -bios/-kernel broken with big images

Status in QEMU:
  New

Bug description:
  This is tested using qemu 2.4.1, but it looks like the code
  qemu/hw/ppc/e500.c has not changed since. This looks like the source
  of the problem:
  
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=3812c71ffaa2cf733c3087792b859fef30b7545f

  
  What works:
  ----------

  Basic invocation qemu-system-ppc -machine ppce500  -monitor stdio
  -bios u-boot.e500 works, I get the uboot prompt and this:

  (qemu) info roms
  addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
  addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"

  
  Passing u-boot.e500 image as kernel (-bios u-boot.e500 -kernel u-boot.e500) 
appears to work, $qemu_kernel_addr is filled in, though (as expected) uboot 
complains about the image format.

  (qemu) info roms
  addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
  addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"
  addr=0000000002000000 size=0x054e8c mem=ram 
name=".../qemu/share/qemu/u-boot.e500


  What doesn't work:
  -----------------

  However, once I try to load a big image (>=32 MiB), uboot doesn't even
  show anything:

  qemu-system-ppc -machine ppce500  -monitor stdio -bios u-boot.e500
  -kernel boot/vmlinux -m 1024

  (qemu) info roms
  addr=0000000000f00000 size=0x044b8c mem=ram name="phdr #0: 
.../qemu/share/qemu/u-boot.e500"
  addr=0000000000f81000 size=0x006b00 mem=ram name="phdr #1: 
.../qemu/share/qemu/u-boot.e500"
  addr=0000000002000000 size=0x27aeedc mem=ram name="boot/vmlinux"

  ...
  (gdb) bt
  #0  0x00f2efcc in ?? ()
  #1  0x00f31554 in ?? ()
  #2  0x00f03f4c in ?? ()
  #3  0x00f04458 in ?? ()
  #4  0x00f028dc in ?? ()
  #5  0x00f01080 in ?? ()


  The thing is, this used to work +- before the commit, where I'd just
  pass the image as -kernel option, and it booted.

  
  If I do that now (w/o the -bios option, using the exact same image), the 
kernel gets loaded twice, only at different addresses (the cause is obvious 
from the commit), causing overlap error:

  qemu-system-ppc -machine ppce500  -monitor stdio  -kernel boot/vmlinux -m 1024
  QEMU 2.4.1 monitor - type 'help' for more information
  (qemu) rom: requested regions overlap (rom boot/vmlinux. 
free=0x00000000027492fc, addr=0x0000000002000000)

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1596832/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]