On 24 March 2017 at 16:58, Markus Armbruster <arm...@redhat.com> wrote: > "Sysbus" isn't a bus. In qdev's original design, every device had to > plug into a bus, period. The ones that really didn't were made to plug > into "sysbus". > > Pretty much the only thing "sysbus" devices had in common was that they > couldn't be used with device_add and device_del.
This isn't really true. Sysbus devices support having MMIO regions and IRQ lines and GPIO lines. If you need those you're a sysbus device; otherwise you can probably just be a plain old Device. > We fixed the design to permit bus-less devices, but we didn't get rid of > "sysbus". Call it what you want, but we should have some common code support for "I want to have MMIOs and IRQs and GPIO lines". You could argue for moving all that into Device I suppose. > We got a "platform bus", which is really not the same as "sysbus", but > we shoehorned it into "sysbus" anyway. I agree 'platform bus' is a mess, and I'd rather it didn't exist. Unfortunately people really really want to be able to do device pass through of random memory-mapped devices :-( thanks -- PMM