[PATCH v4 0/2] pci: slot_reserved_mask improvements

Chuck Zmudzinski posted 2 patches 1 year, 1 month ago
Failed in applying to current master (apply log)
There is a newer version of this series
hw/pci/pci.c             | 33 ++++++++++++++++++++++++++++-----
hw/sparc64/sun4u.c       |  7 +++----
hw/xen/xen_pt.c          |  8 ++++----
include/hw/pci/pci.h     |  3 +++
include/hw/pci/pci_bus.h |  3 ++-
5 files changed, 40 insertions(+), 14 deletions(-)
[PATCH v4 0/2] pci: slot_reserved_mask improvements
Posted by Chuck Zmudzinski 1 year, 1 month ago
This patch series consists of two patches. The first provides accessor
functions in pci.h to avoid direct access of slot_reserved_mask
according to the comment at the top of include/hw/pci/pci_bus.h. No
functional change is intended with this patch.

The second patch replaces slot_reserved_mask with two new masks,
slot_reserved_auto_mask and slot_reserved_manual_mask so the current
behavior of reserving slot 2 for the Intel IGD for the xenfv machine
will be ignored if an administrator manually configures a device to use
the reserved slot.

The current behavior of always reserving slots in the sun4u machine is
preserved by this patch series; the patch series only changes how
slot_reserved_mask works in the xenfv machine. Although the patch
series can affect xenfv machines configured for igd-passthru if an
administrator assigns some of the pci slot addresses manually, it
does not affect the libxl default configuration for igd-passthru because
libxl uses automatic slot assignment by default.

Testing:
   - Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
   - Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
   - xen4u machine not tested -- Mark, can you do this?

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/

Chuck Zmudzinski (2):
  pci: avoid accessing slot_reserved_mask directly outside of pci.c
  pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask

Changelog

v4: I forgot to check the patches in v3 for style corrections (sorry about
    that), and the second patch had three lines that were too long. Other
    than correcting the style problems, no changes since v3.

v3: Re-work second patch in response to comments/discussion of v2

v2: Add first patch and cover letter to make this a 2-patch series
    Make changes to the second patch (see second patch for changelog)

 hw/pci/pci.c             | 33 ++++++++++++++++++++++++++++-----
 hw/sparc64/sun4u.c       |  7 +++----
 hw/xen/xen_pt.c          |  8 ++++----
 include/hw/pci/pci.h     |  3 +++
 include/hw/pci/pci_bus.h |  3 ++-
 5 files changed, 40 insertions(+), 14 deletions(-)

-- 
2.39.2
Re: [PATCH v4 0/2] pci: slot_reserved_mask improvements
Posted by Mark Cave-Ayland 1 year ago
On 15/03/2023 14:26, Chuck Zmudzinski wrote:

> This patch series consists of two patches. The first provides accessor
> functions in pci.h to avoid direct access of slot_reserved_mask
> according to the comment at the top of include/hw/pci/pci_bus.h. No
> functional change is intended with this patch.
> 
> The second patch replaces slot_reserved_mask with two new masks,
> slot_reserved_auto_mask and slot_reserved_manual_mask so the current
> behavior of reserving slot 2 for the Intel IGD for the xenfv machine
> will be ignored if an administrator manually configures a device to use
> the reserved slot.
> 
> The current behavior of always reserving slots in the sun4u machine is
> preserved by this patch series; the patch series only changes how
> slot_reserved_mask works in the xenfv machine. Although the patch
> series can affect xenfv machines configured for igd-passthru if an
> administrator assigns some of the pci slot addresses manually, it
> does not affect the libxl default configuration for igd-passthru because
> libxl uses automatic slot assignment by default.
> 
> Testing:
>     - Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
>     - Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
>     - xen4u machine not tested -- Mark, can you do this?
> 
> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> 
> Chuck Zmudzinski (2):
>    pci: avoid accessing slot_reserved_mask directly outside of pci.c
>    pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask
> 
> Changelog
> 
> v4: I forgot to check the patches in v3 for style corrections (sorry about
>      that), and the second patch had three lines that were too long. Other
>      than correcting the style problems, no changes since v3.
> 
> v3: Re-work second patch in response to comments/discussion of v2
> 
> v2: Add first patch and cover letter to make this a 2-patch series
>      Make changes to the second patch (see second patch for changelog)
> 
>   hw/pci/pci.c             | 33 ++++++++++++++++++++++++++++-----
>   hw/sparc64/sun4u.c       |  7 +++----
>   hw/xen/xen_pt.c          |  8 ++++----
>   include/hw/pci/pci.h     |  3 +++
>   include/hw/pci/pci_bus.h |  3 ++-
>   5 files changed, 40 insertions(+), 14 deletions(-)

The v4 series looks good to me: I've also confirmed that sun4u still works as before, 
so from my perspective:

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [sun4u]

Michael, is this a candidate for 8.0 given that the existing patches for Xen making 
use of slot_reserved_mask have already been merged?


ATB,

Mark.