[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI architecture


  • To: Wei Chen <Wei.Chen@xxxxxxx>
  • From: Jan Beulich <jbeulich@xxxxxxxx>
  • Date: Thu, 27 Jan 2022 10:00:20 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bc47LZ5+tio6nYxO3krvRwGGgmj6HFki2jn66dewA3I=; b=RzVKEhr98wOPrRKDJjnptFj5dJeLuGl9vPiIaSkKS+hqgsBQ8zqHDZZ3oTjkT2tHO+r6FNf+0tDGYpchcvcngnOEkP5tPJENdRYrzjaGTUXsvdNhT9YwwEH6u8AijgrABAA7ZDdGOO7E7/ZEvbO3+7g2cfzo1ycBlPdG6Gh1QqrndRhJVkjnEASEHhZmc9U8J2aWfVhHEL+rS/80ToBzuejysOEH0bAOARDkh4MXu5eWSEEDxOS1TRJhvhv5B2L5QUItz5wjf56tNE14O9wwFZCLIzto5P6bw8Mt0Jd3Qdf03VNW5WQ+E7aXEuMuVMIvb1yy9QpUkZMo56i7gnrpkg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WH8/OFKsj9nFCU/LcEELPzF6fiInaUp7JvG9kPqlTJUdSRe5mvf2gjKrSFt1J3a4xQUpOjQ8ieL15PzclAZSv1a77CbQObiwH49z0ADysD4ovrZe/eW4uGhhabwoMYw2FSyrn/4GQuOtMNIHlD//ViVx2WSoucj/EcnK5aSzviARzhpHG2t6GFO+rgmImGRZXjUpswadrCag9s+y7MxqaRWNuz7UtZL7djm6abYbKgW7/f00+hP8/Fz6W4wp31t9AZV1Onk8ZNGUR/BC9uQfiYSImagmMF+p6beB9oLaYGzEthIiRqy+YFeU/LYi2iMDVny8SPorDc+wRU9GTgRWlQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=suse.com;
  • Cc: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, "sstabellini@xxxxxxxxxx" <sstabellini@xxxxxxxxxx>, "julien@xxxxxxx" <julien@xxxxxxx>
  • Delivery-date: Thu, 27 Jan 2022 09:00:29 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 27.01.2022 09:51, Wei Chen wrote:
>> From: Xen-devel <xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf Of Wei
>> Chen
>> Sent: 2022年1月27日 16:45
>>
>>> From: Jan Beulich <jbeulich@xxxxxxxx>
>>> Sent: 2022年1月25日 18:35
>>>
>>> On 23.09.2021 14:02, Wei Chen wrote:
>>>> --- a/xen/common/Kconfig
>>>> +++ b/xen/common/Kconfig
>>>> @@ -11,6 +11,16 @@ config COMPAT
>>>>  config CORE_PARKING
>>>>    bool
>>>>
>>>> +config EFI
>>>> +  bool
>>>> +  ---help---
>>>> +      This option provides support for runtime services provided
>>>> +      by UEFI firmware (such as non-volatile variables, realtime
>>>> +      clock, and platform reset). A UEFI stub is also provided to
>>>> +      allow the kernel to be booted as an EFI application. This
>>>> +      is only useful for kernels that may run on systems that have
>>>> +      UEFI firmware.
>>>
>>> The way enabling of (full) EFI support works on x86, I consider it
>>> wrong / misleading to put the option in common code. At the very least
>>> the help text would need to call out the extra dependencies. Plus the
>>> help text of course then needs to be generic (i.e. applicable to both
>>> Arm and x86). That's notwithstanding the fact that without a prompt
>>> the help text won't ever be seen while configuring Xen.
>>>
>>> Also (nit): Indentation. And please don't use ---help--- anymore in
>>> new code.
>>>
>>
>> I have used CONFIG_ARM_EFI to replace this common EFI config in my
>> latest version. This Kconfig option has been removed.
>> And thanks, I will not use --help-- anymore.
>>
>>>> --- a/xen/include/xen/efi.h
>>>> +++ b/xen/include/xen/efi.h
>>>> @@ -25,6 +25,8 @@ extern struct efi efi;
>>>>
>>>>  #ifndef __ASSEMBLY__
>>>>
>>>> +#ifdef CONFIG_EFI
>>>> +
>>>>  union xenpf_efi_info;
>>>>  union compat_pf_efi_info;
>>>>
>>>> @@ -45,6 +47,8 @@ int efi_runtime_call(struct xenpf_efi_runtime_call
>> *);
>>>>  int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *);
>>>>  int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *);
>>>>
>>>> +#endif /* CONFIG_EFI*/
>>>
>>> I can see that in the later patch, when introducing inline stubs,
>>> you would need conditionals here, but I don't think you need them
>>> right here (or you may want to introduce the stubs right away).
>>>
>>> Also (nit): Missing blank in the comment.
> 
> I am sorry, I had missed this comment. In my latest changes,
> I have introduced a stub file for non-EFI architectures.
> The reason why we don't use a macro to stub the helpers
> in efi.h is that, some architectures have implemented stub
> helpers in their stub.c. If we define stub helpers in
> efi.h, this will cause function redefinition error. We need
> to fix this error for all architectures. And some helpers
> is not easy to implement as a inline function in efi.h.
> So we use stub file instead of stubing in efi.h

But you realize we already have such a stub file on x86?

Jan




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.