Hi, This patch series addresses two aspects in vfio_spapr_create_window() that includes the enhancement in error handling in this function and also fixes an issue with KVM guests (L2) inside a pSeries logical partition (LPAR) with larger memory configurations and PCI device passthrough.
The structure of the patch series is as below: 1. The first patch introduces structured error reporting in `vfio_spapr_create_window()` by adding an `Error **` parameter. This allows better propagation of failure details to the caller. 2. The second patch fixes a crash observed when booting an L2 KVM guest inside a pSeries LPAR with memory more than 128 GB and PCI device passthrough. The crash occurs due a check in KVM preventing multi-level TCEs because of not being supported by PowerVM hypervisor. This patch ensures that such configurations are avoided by first checking the supported number of levels returned by the `VFIO_IOMMU_SPAPR_TCE_GET_INFO` ioctl. The fix has been tested with KVM guests on PowerVM and bare-metal enviroments with memory sizes up to 390 GB and 450 GB respectively. Thanks, Amit Changes in v3: * Change vfio_spapr_create_window() to return bool * Replace error_setg() with error_setg_errono() in vfio_spapr_create_window() * Pass errp instead of local Error object in vfio_spapr_create_window() while calling from vfio_spapr_add_section_window() * Modified patch #2 subject Changes in v2: * Link: https://lore.kernel.org/all/20250407143119.1304513-1-amach...@linux.ibm.com/ * Added Error ** parameter in vfio_spapr_create_window() for enhanced error handling with error_setg() and friends v1: https://lore.kernel.org/all/20250404091721.2653539-1-amach...@linux.ibm.com/ Amit Machhiwal (2): vfio/spapr: Enhance error handling in vfio_spapr_create_window() vfio/spapr: Fix L2 crash with PCI device passthrough and memory > 128G hw/vfio/spapr.c | 69 ++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 26 deletions(-) base-commit: dfaecc04c46d298e9ee81bd0ca96d8754f1c27ed -- 2.49.0