j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
On Mon, May 21, 2012 at 7:10 PM, Blue Swirl blauwirbel@gmail.com wrote:
On Sun, May 20, 2012 at 10:23 PM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 19/05/12 18:21, Blue Swirl wrote:
On Sat, May 19, 2012 at 4:38 PM, Artyom Tarasenkoatar4qemu@gmail.com wrote:
Both Linux and MilaX complain about the missing eeprom / rtc-m48t59 node. Since QEMU actually has this device I tried to add it, but not sure where is it located.
Oooh this will be interesting as Milax currently fails when it fails to detect this device - fixing it should get Solaris to boot further. This has also been on my list for a while, but so much to do, not enough time...
In sun4u.c it's initialized like this:
nvram = m48t59_init_isa(isa_bus, 0x0074, NVRAM_SIZE, 59);
Is 0x74 the offset to the ISA bus? Then it's wired not as on Ultra-5:
Node 0xf00662d8 address: fffba000 reg: 00000014.00000000.00002000 model: 'mk48t59' name: 'eeprom'
Here it looks like it had to be aligned to a beginning of a page, which makes sense because of the large size... So, where QEMU's 0x74 are coming from?
It's the I/O port used by PPC. Looking at the reg, it should be using MMIO at address 0 instead.
FWIW I've just had a discussion on qemu-devel and the outcome was that the <device>_init() functions are generally just shortcuts to the most common "wiring" of the peripherals into a machine. So I suspect you'll need to copy the _init() function as sun4_m48t59_init() and customise as required.
We're now using m48t59_init_isa(), we could instead use m48t59_init() with zero ports. But this would create a SysBusDevice behind Ebus which is behind PCI, so PCI BAR changes would not propagate.
Yes, I rather thought about adding the mem_base parameter to the m48t59_init_isa() function, similar to m48t59_init() .