[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<BL1PR12MB5849C20650902FE3935BEC2AE77A2@BL1PR12MB5849.namprd12.prod.outlook.com>
Date: Sat, 12 Oct 2024 02:36:21 +0000
From: "Chen, Jiqian" <Jiqian.Chen@....com>
To: Juergen Gross <jgross@...e.com>
CC: Stefano Stabellini <sstabellini@...nel.org>, Oleksandr Tyshchenko
<oleksandr_tyshchenko@...m.com>, "xen-devel@...ts.xenproject.org"
<xen-devel@...ts.xenproject.org>, "linux-kernel@...r.kernel.org"
<linux-kernel@...r.kernel.org>,
Marek Marczykowski-Górecki
<marmarek@...isiblethingslab.com>, "Chen, Jiqian" <Jiqian.Chen@....com>
Subject: Re: [PATCH v3] xen: Remove dependency between pciback and privcmd
On 2024/10/12 10:22, Chen, Jiqian wrote:
> On 2024/10/11 20:06, Juergen Gross wrote:
>> 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@...isiblethingslab.com>
>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@....com>
>>
>> Unfortunately I'm seeing a build breakage for the 32-bit x86 build.
Could you please attach the link or steps?
Then I can reproduce it, and validate it locally with new changes.
>>
>> 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().
>
> How about add stubs for xen_acpi_register_get_gsi_func and xen_acpi_get_gsi_from_sbdf when "!CONFIG_XEN_DOM0" in acpi.h, like the other functions in that file do.
>
>>
>>
>> Juergen
>
--
Best regards,
Jiqian Chen.
Powered by blists - more mailing lists