qemu-ppc
[Top][All Lists]
Advanced

[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




reply via email to

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