Re: [PATCH v3] xen: Remove dependency between pciback and privcmd

From: Juergen Gross
Date: Fri Oct 11 2024 - 08:07:20 EST


On 11.10.24 05:42, Jiqian Chen wrote:
Commit 2fae6bb7be32 ("xen/privcmd: Add new syscall to get gsi from dev")
adds a weak reverse dependency to the config XEN_PRIVCMD definition, that
dependency causes xen-privcmd can't be loaded on domU, because dependent
xen-pciback isn't always be loaded successfully on domU.

To solve above problem, remove that dependency, and do not call
pcistub_get_gsi_from_sbdf() directly, instead add a hook in
drivers/xen/apci.c, xen-pciback register the real call function, then in
privcmd_ioctl_pcidev_get_gsi call that hook.

Fixes: 2fae6bb7be32 ("xen/privcmd: Add new syscall to get gsi from dev")
Reported-by: Marek Marczykowski-Górecki <marmarek@xxxxxxxxxxxxxxxxxxxxxx>
Signed-off-by: Jiqian Chen <Jiqian.Chen@xxxxxxx>

Unfortunately I'm seeing a build breakage for the 32-bit x86 build.

Reason is that drivers/xen/acpi.c is being built for Dom0 only, so having
CONFIG_XEN_ACPI defined is not enough for ensuring the new functions are
present.

I suggest to add a new CONFIG item CONFIG_XEN_DOM0_ACPI like

config XEN_DOM0_ACPI
def_bool y
depends on XEN_ACPI && XEN_DOM0

and then replace all CONFIG_XEN_ACPI instances in your patch with
CONFIG_XEN_DOM0_ACPI. This includes the use case in
privcmd_ioctl_pcidev_get_gsi().


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature