Hi all,

A few days ago during the review of the P11 patches, Cedric suggested removing the use of qdev_get_machine() [https://lore.kernel.org/qemu-devel/[email protected]/] and instead using MMIO to obtain the address of remote virtualization structures. However, it wasn't feasible to implement this change alongside the P11 updates, so we opted for a temporary workaround to eliminate the use of qdev_get_machine().
[https://lore.kernel.org/qemu-devel/[email protected]/]

Now, we are planning to revisit and improve the way we access remote controllers. We have considered a couple of approaches:

1. Implement MMIO operations for all BARs
Redirect all remote access through the BARs instead of iterating over all XIVE instances to retrieve the virtualization structure addresses.

2. Use a dedicated MMIO offset to return the address of the virtualization structure: This is a simpler solution, similar to what Cedric implemented for P9, the idea is to define a special MMIO offset that when accessed returns the address directly. This avoids the need for qdev_get_machine() and keeps the design simple.

Any suggestions or feedback on these approaches.

Thanks
Ganesh

Reply via email to