[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] sparc32_dma: separate ledma and espdma
From: |
Blue Swirl |
Subject: |
Re: [Qemu-devel] [PATCH] sparc32_dma: separate ledma and espdma |
Date: |
Fri, 17 Dec 2010 20:56:26 +0000 |
On Fri, Dec 17, 2010 at 8:36 PM, Bob Breuer <address@hidden> 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 <address@hidden>
>> ---
>> 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?