On Fri, Dec 17, 2010 at 8:36 PM, Bob Breuer <breu...@mc.net> wrote: > Blue Swirl wrote: >> ESP and Lance DMA controllers are not identical. >> >> Separate the controllers on VMState and instantiation level. >> >> NB: This change breaks savevm and migration compatibility. >> >> Signed-off-by: Blue Swirl <blauwir...@gmail.com> >> --- >> Perhaps the compat properties could be used to retain compatibility. >> But if nobody cares (as I suspect), let's just break it. >> >> Further changes can either use s->is_ledma or make the state >> structures separate. >> >> hw/sparc32_dma.c | 65 >> ++++++++++++++++++++++++++++++++++++++++++++--------- >> hw/sun4m.c | 16 ++++++------ >> 2 files changed, 62 insertions(+), 19 deletions(-) >> > > This change never made it in, and I found a case that may benefit from it. > > The ledma seems to have an extra register that Solaris 9 reads, address > 0x78400020 on SS-5, and the OBP properties of a SS-20 do indicate that > there could be up to 32 bytes of registers: > ok cd /iommu/sbus/ledma > ok .attributes > burst-sizes 0000003f > reg 0000000f 00400010 00000020 > name ledma
Interesting. It looks like the size was 0x20 on all machines that had ledma. The older machines didn't have ledma but lebuffer and that was much bigger. > As a hack, you can get Solaris 9 to boot single user by adding this one > line to sun4m_hw_init() in sun4m.c: > empty_slot_init(hwdef->dma_base + 32ULL, 16); Care to send a patch?