|
From: | Vlad Lungu |
Subject: | Re: [Qemu-devel] Qemu and Linux 2.4 |
Date: | Thu, 27 Sep 2007 02:53:09 -0700 |
User-agent: | Thunderbird 2.0.0.6 (Windows/20070728) |
Alexander Voropay wrote:
<address@hidden> wrote:- QEMU malta emulation is not really complete, to put it mildlyOut of curiosity, what parts did you miss?Like, for example, the PCI stuff. So I can use the network card.PCI stuff in the QEMU/Malta works fine, but pseudo-bootrom does not perform PCI enumeration and leaves uninitialized PCI BARs. Linux MIPS/Malta 2.4 can not perform PCI enumeration too. The LANCE Ethernet driver *requres* a pre-initialized BARs. The situation even worse, since current Linux 2.4 can't be even built with NEW_PCI and PCI_AUTO options at all (due to linkage error). http://www.linux-mips.org/wiki/PCI_Subsystem There is the same PCI problem with NetBSD/evbmips and seems VxWorks/Malta.
Well, that's a pretty big showstopper, don't you think? [snip]
The only thing we need is a good bootrom (BIOS) for the MIPS/Malta (Free-YAMON ;) As a quick'n'disty solution you could initialize PCI BARs of the device number 12 (0x0b, LANCE) with GDB: (gdb) set variable {int}0xbbe00cf8=0x80005810 <--- I/O address (gdb) set variable {int}0xbbe00cfc=0x00002001 (gdb) set variable {int}0xbbe00cf8=0x80005814 <--- Mem address (gdb) set variable {int}0xbbe00cfc=0xfc200000 (gdb) set variable {int}0xbbe00cf8=0x80005804 <--- Enable Mem and I/O (gdb) set variable {int}0xbbe00cfc=0x00000003 (gdb) set variable {int}0xbbe00cf8=0x8000583c <---- IRQ=10 tied to Pin A (gdb) set variable {int}0xbbe00cfc=0xff06010a (gdb) cont Continuing.
That's dirty alright, but not exactly quick. You kind of need gdb :-) Vlad
[Prev in Thread] | Current Thread | [Next in Thread] |