On 19/01/15 15:01, Andreas Färber wrote: > Am 19.01.2015 um 13:57 schrieb Artyom Tarasenko: >> On Mon, Jan 19, 2015 at 1:45 PM, Paolo Bonzini <pbonz...@redhat.com> wrote: >>> On 19/01/2015 12:35, Mark Cave-Ayland wrote: >>>> Similar to m48t59_init(), add a mem_base value so that NVRAM can be mapped >>>> via >>>> MMIO rather than ioport if required. >>>> >>>> Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> >>>> --- >>> >>> Is it really ISA if it's MMIO? In other words, why can't this be a >>> sysbus device? >> >> 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? I > previously discussed with Mark that it should be an EBusDevice, not an > ISADevice or SysBusDevice. IndustryPack is an example of a custom bus > that sits behind a PCI bridge and doesn't need a global variable.
I can see this makes logical sense - I guess the reason it hasn't been done was to avoid having to write EBus-specific initialisation code for every device which would only be used on one platform. So you're suggesting that IndustryPack is a way of doing this? > Also, wasn't Hervé's(?) plan to get rid of mem_base completely by always > passing a pointer to ISADevice/ISABus around? It should only be needed > when somewhere NULL is being passed, no? That would definitely be better for wiring things up with -device but wouldn't that involve changing all of the existing ISA devices? ATB, Mark.