On 19/01/15 15:31, Paolo Bonzini wrote:

> On 19/01/2015 16:22, Artyom Tarasenko wrote:
>>>>>>
>>>>>> On physical machines it's EBus, which is pretty much like 8-bit ISA.
>>>>>> So, I think modelling it as ISA is closer to to the reality.
>>>>>> But out of curiosity, would it be possible to have a sysbus device
>>>>>> somewhere in a middle of PCI space? [...]
>>>>
>>>> Why would you want to use a SysBusDevice in the first place?
>> Ask Paolo. :-) For me it's only important to have a MMIO device in the
>> proper address range.
> 
> The reason I asked is simply because ISA devices never do MMIO (apart
> for the VGA window).
> 
>>>> I previously discussed with Mark that it should be an EBusDevice, not an
>>>> ISADevice or SysBusDevice.
>> Interesting. I can't find this discussion in the list archive. Do you 
>> suggest to
>> create EBusDevices for all ISA devices (serial, parallel, keyboard,
>> floppy) used in sun4u, or only for m48t59?
>> What would be the advantage of using EBusDevice over ISADevice?
> 
> Is there a description of EBus and the sun4u memory map somewhere?

There are sample device trees from real hardware floating around, and
also snippets from various parts of Sun documentation (although sadly
Oracle have removed these now).

> Is there an "EBus bridge" PCI device similar to the PCI-to-ISA bridge?

Yes, that describes it pretty well. Also we can't just attach the NVRAM
to sysbus directly without some custom hacking to the OpenBIOS PCI
enumeration code as some OSs (particularly the *BSDs) locate the Ebus by
traversing down the PCI bus, locating the bridge device, and then
generating the physical addresses from calculating offsets from the
relevant address/reg properties.


ATB,

Mark.


Reply via email to