qemu-ppc
[Top][All Lists]
Advanced

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

[Qemu-ppc] Problems with QEMU 2.5 and initializing the virtio device


From: trasmussen
Subject: [Qemu-ppc] Problems with QEMU 2.5 and initializing the virtio device
Date: Fri, 1 Apr 2016 11:45:14 +0200

I am trying to launch a QEMU 2.5 ppc variant with the following command:

/cygdrive/c/MinGW/msys/1.0/local/qemu/qemu-system-ppc64 -m 240 -g 640x400x16
 -name ppc -M ppce500 -cpu e5500
 -icount 2 -gdb tcp:127.0.0.1:1234,ipv4
 -netdev tap,id=vlan0,ifname=tap0
 -device virtio-net-pci,netdev=vlan0,id=virtio,bus=pci.0,addr=1.0,
 -bios u-boot.e500
 -kernel boot.bin
 -initrd boot.qemu

I get control when U-Boot has executed.
Its version is:  U-Boot 2015.10-rc2-00179-g79c884d-dirty (Aug 28 2015 - 11:00:43 +0000).
After writing other details it reports:

        Net:   No ethernet found.

In order to start my application, I use the cp command to copy the boot.bin (placed at 0x200000) to its proper destination, and subsequently use a go command to start it. When a debugger is connected I get control where I want it.

But U-Boot has not initialized the virtio connection it appears, nor the bridge it is subordinate to.
If I switch to the 'compat_monitor0 console', I get the following with 'info pci':'

Bus 0, device 0, function 0:
        PCI bridge: PCI device 1957:0030
                BUS 0.
                secondary bus 0.
                subordinate bus 0.
                IO range [0.x0000, 0x0fff]
                memory range [0x00000000, 0x000fffff]
                prefetchable memory range [0x00000000, 0x000fffff]
                BAR0: 32 bit memory at 0xffffffffffffffff [0x000ffffe].
                id ""
Bus 0, device 1, function 0:
        Ethernet controller: PCI device 1af4:1000
                IRQ 0.
                BAR0: I/O at 0xffffffffffffffff [0x001e].
                BAR1: 32 bit memory at 0xffffffffffffffff [0x00000ffe].
                BAR6: 32 bit memory at 0xffffffffffffffff [0x0003fffe].
                id "virtio"

Is there any way to cut-and-paste from these windows? I had to type everything again, and this is pretty annoying.

I would have hoped that U-Boot had initialized the above, but it didn't. Why not?

In the CTRL-ALT-2 window I tried to set BAR1 to 0xfe000000 using pci modify.l 0.1.0 14 and changing the value from 0.
Why BAR6? There is no BAR6 in a PCI ethernet device.

Similarly I changed the Bridge BAR0 to a range that includes the ethernet controller memory, but it does not matter.

When inside the CTRL-ALT-1 window I try to read at 0xfe000000  I get zeroes which cannot be correct.

In the running application when I inside that has mapped a virtual address to the 0xfe000000 area there is nothing there, and I trap.

What can I write differently in the above command to make U_Boot recognize the virtio ethernet controller?

Help will be highly appreciated!

Kind regards,

        Thorkil B. Rasmussen

reply via email to

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