On Sun, May 20, 2012 at 10:23 PM, Mark Cave-Ayland
On 19/05/12 18:21, Blue Swirl wrote:
On Sat, May 19, 2012 at 4:38 PM, Artyom
> 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...
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:
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
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.