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?