qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Qemu and Linux 2.4


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 mildly
Out 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





reply via email to

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