qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* RFC: Start-time Device Addition for BMC devices
@ 2020-12-28 20:26 Patrick Venture
  0 siblings, 0 replies; only message in thread
From: Patrick Venture @ 2020-12-28 20:26 UTC (permalink / raw)
  To: qemu-devel, Havard Skinnemoen, Hao Wu

Hi;

Currently, devices for a BMC are specified in the board init method
for that machine, see:
 - https://github.com/qemu/qemu/blob/b785d25e91718a660546a6550f64b3c543af7754/hw/arm/aspeed.c#L414

This requires listing all i2c devices, and setting some properties.
QMP can be used to set the properties for those devices at run-time
already.

We're looking at developing many BMC boards, but for most boards, the
i2c devices that correspond to PCIe devices vary by configuration --
which PCI cards are plugged into which slots.  We'd like to not
hard-code those i2c devices and have variations of the same device
board.  For instance:

board-bmc + two cards (slot 1, slot 2)
board-bmc + one card (slot 3)

The slot to i2c bus mapping is beyond the scope of this, because that
isn't something that technically changes*.

To solve this problem, we'd like to add an optional device json
configuration parameter.  Using QMP (which I believe supports adding
devices of this type in the schema), the file would be parsed after
the board_init method and additional devices then loaded.

Are there any immediate problems with this kind of approach, or
possibly it's already supported in some way?

Thanks,
Patrick

*The i2c bus numbering can be altered, but typically a BMC's
device-tree uses aliases to ensure consistency of i2c-bus numbering
between configurations.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-12-28 20:27 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-28 20:26 RFC: Start-time Device Addition for BMC devices Patrick Venture

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).