[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] QEMU powerpc embedded architecture base address problem
From: |
Sijia Li |
Subject: |
Re: [Qemu-ppc] QEMU powerpc embedded architecture base address problem |
Date: |
Tue, 14 May 2013 13:35:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130329 Thunderbird/17.0.5 |
On 13/05/13 13:51, Alexander Graf wrote:
> On 13.05.2013, at 13:34, Sijia Li wrote:
>
>> On 13/05/13 11:24, Alexander Graf wrote:
>>> On 13.05.2013, at 11:18, 李思嘉 wrote:
>>>
>>>> Thanks a lot.
>>> Please don't top post. Please always keep qemu-ppc CC'ed.
>>>
>>>> I am using the newest version of QEMU, which is QEMU 1.5.0. I want to test
>>>> my network card driver for NE2000. But it seems like it doesn't support
>>>> NE2000 when I add attribute -M ref405ep -cpu 401100c4 or -M taihu -cpu
>>>> 401100c4. Because after running the virtual machine, there warning shows
>>>> up:
>>>>
>>>> Warning: hub port hub0port1 has no peer
>>>> Warning: vlan 0 with no nics
>>>> Warning: netdev hub0port1 has no peer
>>>> Warning: requested NIC (anonymous, model ne2k_pci) was not created (not
>>>> supported by this machine?)
>>>>
>>>> I read the QEMU Emulator User Documentation, it said the user can add
>>>> attribute "-net nic, model=?" to get the list of available devices for the
>>>> specific target.
>>>> But it doesn't work.
>>>>
>>>> So what can I do for creating a NIC in ref405ep or taihu platform? Or if
>>>> both of these platforms can't add NIC, what else platforms which runs
>>>> with CPU powerpc 405 can add a NE2000 NIC or other network card?
>>> It looks as if the 40x machine models don't spawn NICs according to the
>>> -net configuration then. As mentioned in my earlier email, they aren't
>>> actively developed anymore. Currently actively developed targets are:
>>> e500plat, mpc8544ds, bamboo, prep, g3beige, mac99, pseries.
>>>
>>> You can try to spawn the ne2k device manually using -netdev and -device. If
>>> the PCI adapter on the respective SoCs has been qdev'ified, that should
>>> work despite the -net hickups.
>>>
>>> http://wiki.qemu.org/Documentation/Networking
>>>
>>>
>>> Alex
>> Sorry for the top post. From now, I will reply email from the end of the
>> mail.
>>
>> I added attributes " -device ppc4xx-pcihost -device
> This means that the machine doesn't spawn a PCI host controller. Does the
> board even have PCI?
>
>> ne2k_pci -net tap".
>>
>> Two problems happened:
>> 1. After running the emulator, I use telnet to monitor the VM. When I input
>> the command "info qtree", the result is as following.
>> QEMU 1.4.91 monitor - type 'help' for more information
>> (qemu) info qtree
>> bus: main-system-bus
>> type System
>> dev: ppc4xx-pcihost, id ""
>> irq 4
>> mmio ffffffffffffffff/0000000000800040
>> bus: pci.0
>> type PCI
>> dev: ne2k_pci, id ""
>> mac = 52:54:00:12:34:56
>> vlan = <null>
>> netdev = <null>
>> bootindex = -1
>> addr = 01.0
>> romfile = "efi-ne2k_pci.rom"
>> rombar = 1
>> multifunction = off
>> command_serr_enable = on
>> class Ethernet controller, addr 00:01.0, pci id 10ec:8029 (sub
>> 1af4:1100)
>> bar 0: i/o at 0xffffffffffffffff [0xfe]
>> bar 6: mem at 0xffffffffffffffff [0x3fffe]
>> dev: ppc4xx-host-bridge, id ""
>> addr = 00.0
>> romfile = <null>
>> rombar = 1
>> multifunction = off
>> command_serr_enable = on
>> class Bridge, addr 00:00.0, pci id 1014:027f (sub 1af4:1100)
>> dev: m48t59, id ""
>> size = 8192
>> model = 8
>> io_base = 0x0
>> irq 1
>> mmio 00000000f0000000/0000000000002000
>>
>> And the result of "info mtree" is as following:
>> (qemu) info mtree
>> memory
>> 0000000000000000-7ffffffffffffffe (prio 0, RW): system
>> 0000000000000000-0000000007ffffff (prio 0, RW): sdram-containers
>> 0000000000000000-0000000007ffffff (prio 0, RW): ef405ep.ram
>> 00000000ef600000-00000000ef6000d3 (prio 0, RW): gpt
>> 00000000ef600300-00000000ef600307 (prio 0, RW): serial
>> 00000000ef600500-00000000ef600510 (prio 0, RW): i2c
>> 00000000ef600600-00000000ef600601 (prio 0, RW): opba
>> 00000000ef600700-00000000ef600737 (prio 0, RW): pgio
>> 00000000f0000000-00000000f0001fff (prio 0, RW): m48t59.nvram
>> 00000000f0300000-00000000f03000ff (prio 0, RW): fpga
>> 00000000fff00000-00000000fff7ffff (prio 0, RW): ef405ep.sram
>> 00000000fff80000-000000010017ffff (prio 0, R-): ef405ep.bios
>> I/O
>> 0000000000000000-000000000000ffff (prio 0, RW): io
>> aliases
>>
>> Could you help me to find the base address of my NIC "ne2k_pci"?
> The base address is defined through the BAR registers that your OS needs to
> set up inside of the PCI host controller.
>
>> 2. Warning: vlan 0 with no nics
>> Warning: nic ne2k_pci.0 has no peer
>> Two warnings show when I ran the emulator.
>> How can I fix these two warning?
> Just pass -net none to qemu.
>
>
> Alex
>
Since our embedded operating system is developed for Virtex 4 platform,
so there is no PCI host controller right now. If the network card will
not work in this architecture, I will try to implement a PCI host
controller for the operating system.
Then what's meaning of [0xfe] and {0x3fffe] in the PCI result?
bar 0: i/o at 0xffffffffffffffff [0xfe]
bar 6: mem at 0xffffffffffffffff [0x3fffe]
Regards
Sijia Li