From: Jan Beulich <jbeulich@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
"julien@xen.org" <julien@xen.org>,
Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI architecture
Date: Tue, 28 Sep 2021 10:02:45 +0200 [thread overview]
Message-ID: <f872f421-dddf-7fde-34ce-210ddc55a87f@suse.com> (raw)
In-Reply-To: <alpine.DEB.2.21.2109272159590.5022@sstabellini-ThinkPad-T480s>
On 28.09.2021 07:01, Stefano Stabellini wrote:
> On Tue, 28 Sep 2021, Wei Chen wrote:
>>> -----Original Message-----
>>> From: Stefano Stabellini <sstabellini@kernel.org>
>>> Sent: 2021年9月28日 9:00
>>> To: Wei Chen <Wei.Chen@arm.com>
>>> Cc: Jan Beulich <jbeulich@suse.com>; xen-devel@lists.xenproject.org;
>>> julien@xen.org; Bertrand Marquis <Bertrand.Marquis@arm.com>; Stefano
>>> Stabellini <sstabellini@kernel.org>
>>> Subject: RE: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-
>>> EFI architecture
>>>
>>> On Mon, 27 Sep 2021, Wei Chen wrote:
>>>>> -----Original Message-----
>>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf Of
>>> Wei
>>>>> Chen
>>>>> Sent: 2021年9月26日 18:25
>>>>> To: Jan Beulich <jbeulich@suse.com>
>>>>> Cc: xen-devel@lists.xenproject.org; julien@xen.org; Bertrand Marquis
>>>>> <Bertrand.Marquis@arm.com>; Stefano Stabellini <sstabellini@kernel.org>
>>>>> Subject: RE: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for
>>> non-
>>>>> EFI architecture
>>>>>
>>>>> Hi Jan,
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> On Behalf
>>> Of
>>>>> Jan
>>>>>> Beulich
>>>>>> Sent: 2021年9月24日 18:49
>>>>>> To: Wei Chen <Wei.Chen@arm.com>
>>>>>> Cc: xen-devel@lists.xenproject.org; julien@xen.org; Bertrand Marquis
>>>>>> <Bertrand.Marquis@arm.com>; Stefano Stabellini
>>> <sstabellini@kernel.org>
>>>>>> Subject: Re: [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for
>>>>> non-
>>>>>> EFI architecture
>>>>>>
>>>>>> On 24.09.2021 12:31, Wei Chen wrote:
>>>>>>>> From: Jan Beulich <jbeulich@suse.com>
>>>>>>>> Sent: 2021年9月24日 15:59
>>>>>>>>
>>>>>>>> On 24.09.2021 06:34, Wei Chen wrote:
>>>>>>>>>> From: Stefano Stabellini <sstabellini@kernel.org>
>>>>>>>>>> Sent: 2021年9月24日 9:15
>>>>>>>>>>
>>>>>>>>>> On Thu, 23 Sep 2021, Wei Chen wrote:
>>>>>>>>>>> --- a/xen/common/Kconfig
>>>>>>>>>>> +++ b/xen/common/Kconfig
>>>>>>>>>>> @@ -11,6 +11,16 @@ config COMPAT
>>>>>>>>>>> config CORE_PARKING
>>>>>>>>>>> bool
>>>>>>>>>>>
>>>>>>>>>>> +config EFI
>>>>>>>>>>> + bool
>>>>>>>>>>
>>>>>>>>>> Without the title the option is not user-selectable (or de-
>>>>>> selectable).
>>>>>>>>>> So the help message below can never be seen.
>>>>>>>>>>
>>>>>>>>>> Either add a title, e.g.:
>>>>>>>>>>
>>>>>>>>>> bool "EFI support"
>>>>>>>>>>
>>>>>>>>>> Or fully make the option a silent option by removing the help
>>> text.
>>>>>>>>>
>>>>>>>>> OK, in current Xen code, EFI is unconditionally compiled. Before
>>>>>>>>> we change related code, I prefer to remove the help text.
>>>>>>>>
>>>>>>>> But that's not true: At least on x86 EFI gets compiled depending
>>> on
>>>>>>>> tool chain capabilities. Ultimately we may indeed want a user
>>>>>>>> selectable option here, but until then I'm afraid having this
>>> option
>>>>>>>> at all may be misleading on x86.
>>>>>>>>
>>>>>>>
>>>>>>> I check the build scripts, yes, you're right. For x86, EFI is not
>>> a
>>>>>>> selectable option in Kconfig. I agree with you, we can't use
>>> Kconfig
>>>>>>> system to decide to enable EFI build for x86 or not.
>>>>>>>
>>>>>>> So how about we just use this EFI option for Arm only? Because on
>>> Arm,
>>>>>>> we do not have such toolchain dependency.
>>>>>>
>>>>>> To be honest - don't know. That's because I don't know what you want
>>>>>> to use the option for subsequently.
>>>>>>
>>>>>
>>>>> In last version, I had introduced an arch-helper to stub EFI_BOOT
>>>>> in Arm's common code for Arm32. Because Arm32 doesn't support EFI.
>>>>> So Julien suggested me to introduce a CONFIG_EFI option for non-EFI
>>>>> supported architectures to stub in EFI layer.
>>>>>
>>>>> [1] https://lists.xenproject.org/archives/html/xen-devel/2021-
>>>>> 08/msg00808.html
>>>>>
>>>>
>>>> As Jan' reminded, x86 doesn't depend on Kconfig to build EFI code.
>>>> So, if we CONFIG_EFI to stub EFI API's for x86, we will encounter
>>>> that toolchains enable EFI, but Kconfig disable EFI. Or Kconfig
>>>> enable EFI but toolchain doesn't provide EFI build supports. And
>>>> then x86 could not work well.
>>>>
>>>> If we use CONFIG_EFI for Arm only, that means CONFIG_EFI for x86
>>>> is off, this will also cause problem.
>>>>
>>>> So, can we still use previous arch_helpers to stub for Arm32?
>>>> until x86 can use this selectable option?
>>>
>>> EFI doesn't have to be necessarily a user-visible option in Kconfig at
>>> this point. I think Julien was just asking to make the #ifdef based on
>>> a EFI-related config rather than just based CONFIG_ARM64.
>>>
>>> On x86 EFI is detected based on compiler support, setting XEN_BUILD_EFI
>>> in xen/arch/x86/Makefile. Let's say that we keep using the same name
>>> "XEN_BUILD_EFI" on ARM as well.
>>>
>>> On ARM32, XEN_BUILD_EFI should be always unset.
>>>
>>> On ARM64 XEN_BUILD_EFI should be always set.
>>>
>>> That's it, right? I'd argue that CONFIG_EFI or HAS_EFI are better names
>>> than XEN_BUILD_EFI, but that's OK anyway. So for instance you can make
>>> XEN_BUILD_EFI an invisible symbol in xen/arch/arm/Kconfig and select it
>>> only on ARM64.
>>
>> Thanks, this is a good approach. But if we place XEN_BUILD_EFI in Kconfig
>> it will be transfer to CONFIG_XEN_BUILD_EFI. How about using another name
>> in Kconfig like ARM_EFI, but use CONFIG_ARM_EFI in config.h to define
>> XEN_BUILD_EFI?
>
> I am OK with that. Another option is to rename XEN_BUILD_EFI to
> CONFIG_XEN_BUILD_EFI on x86. Either way is fine by me. Jan, do you havea
> preference?
Yes, I do: No new CONFIG_* settings please that don't originate from
Kconfig. Hence I'm afraid this is a "no" to your suggestion.
Mid-term we should try to get rid of the remaining CONFIG_* which
get #define-d in e.g. asm/config.h.
Jan
next prev parent reply other threads:[~2021-09-28 8:03 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-23 12:01 [PATCH 00/37] Add device tree based NUMA support to Arm Wei Chen
2021-09-23 12:02 ` [PATCH 01/37] xen/arm: Print a 64-bit number in hex from early uart Wei Chen
2021-09-23 12:02 ` [PATCH 02/37] xen: introduce a Kconfig option to configure NUMA nodes number Wei Chen
2021-09-23 23:45 ` Stefano Stabellini
2021-09-24 1:24 ` Wei Chen
2021-09-24 8:55 ` Jan Beulich
2021-09-24 10:33 ` Wei Chen
2021-09-24 10:47 ` Jan Beulich
2021-09-23 12:02 ` [PATCH 03/37] xen/x86: Initialize memnodemapsize while faking NUMA node Wei Chen
2021-09-24 8:57 ` Jan Beulich
2021-09-24 10:34 ` Wei Chen
2021-09-23 12:02 ` [PATCH 04/37] xen: introduce an arch helper for default dma zone status Wei Chen
2021-09-23 23:55 ` Stefano Stabellini
2021-09-24 1:50 ` Wei Chen
2022-01-17 16:10 ` Jan Beulich
2022-01-18 7:51 ` Wei Chen
2022-01-18 8:16 ` Jan Beulich
2022-01-18 9:20 ` Wei Chen
2022-01-18 14:16 ` Jan Beulich
2022-01-19 2:49 ` Wei Chen
2022-01-19 7:50 ` Jan Beulich
2022-01-19 8:33 ` Wei Chen
2021-09-23 12:02 ` [PATCH 05/37] xen: decouple NUMA from ACPI in Kconfig Wei Chen
2021-09-23 12:02 ` [PATCH 06/37] xen/arm: use !CONFIG_NUMA to keep fake NUMA API Wei Chen
2021-09-24 0:05 ` Stefano Stabellini
2021-09-24 10:21 ` Wei Chen
2021-09-23 12:02 ` [PATCH 07/37] xen/x86: use paddr_t for addresses in NUMA node structure Wei Chen
2021-09-24 0:11 ` Stefano Stabellini
2021-09-24 0:13 ` Stefano Stabellini
2021-09-24 3:00 ` Wei Chen
2022-01-18 15:22 ` Jan Beulich
2022-01-19 6:33 ` Wei Chen
2022-01-19 7:55 ` Jan Beulich
2022-01-19 8:36 ` Wei Chen
2021-09-23 12:02 ` [PATCH 08/37] xen/x86: add detection of discontinous node memory range Wei Chen
2021-09-24 0:25 ` Stefano Stabellini
2021-09-24 4:28 ` Wei Chen
2021-09-24 19:52 ` Stefano Stabellini
2021-09-26 10:11 ` Wei Chen
2021-09-27 3:13 ` Stefano Stabellini
2021-09-27 5:05 ` Stefano Stabellini
2021-09-27 9:50 ` Wei Chen
2021-09-27 17:19 ` Stefano Stabellini
2021-09-28 4:41 ` Wei Chen
2021-09-28 4:59 ` Stefano Stabellini
2022-01-18 16:13 ` Jan Beulich
2022-01-19 7:33 ` Wei Chen
2022-01-19 8:01 ` Jan Beulich
2022-01-19 8:24 ` Wei Chen
2021-09-23 12:02 ` [PATCH 09/37] xen/x86: introduce two helpers to access memory hotplug end Wei Chen
2021-09-24 0:29 ` Stefano Stabellini
2021-09-24 4:21 ` Wei Chen
2022-01-24 16:24 ` Jan Beulich
2022-01-26 7:53 ` Wei Chen
2021-09-23 12:02 ` [PATCH 10/37] xen/x86: use helpers to access/update mem_hotplug Wei Chen
2021-09-24 0:31 ` Stefano Stabellini
2021-09-24 4:29 ` Wei Chen
2022-01-24 16:29 ` Jan Beulich
2022-01-26 7:58 ` Wei Chen
2021-09-23 12:02 ` [PATCH 11/37] xen/x86: abstract neutral code from acpi_numa_memory_affinity_init Wei Chen
2021-09-24 0:38 ` Stefano Stabellini
2022-01-24 16:50 ` Jan Beulich
2022-01-26 10:39 ` Wei Chen
2021-09-23 12:02 ` [PATCH 12/37] xen/x86: decouple nodes_cover_memory from E820 map Wei Chen
2021-09-24 0:39 ` Stefano Stabellini
2022-01-24 16:59 ` Jan Beulich
2022-01-27 8:03 ` Wei Chen
2022-01-27 8:08 ` Jan Beulich
2022-01-27 9:03 ` Wei Chen
2022-01-27 9:22 ` Jan Beulich
2022-01-27 9:27 ` Wei Chen
2021-09-23 12:02 ` [PATCH 13/37] xen/x86: decouple processor_nodes_parsed from acpi numa functions Wei Chen
2021-09-24 0:40 ` Stefano Stabellini
2022-01-25 9:49 ` Jan Beulich
2022-01-27 8:06 ` Wei Chen
2021-09-23 12:02 ` [PATCH 14/37] xen/x86: use name fw_numa to replace acpi_numa Wei Chen
2021-09-24 0:40 ` Stefano Stabellini
2022-01-25 10:12 ` Jan Beulich
2022-01-27 8:09 ` Wei Chen
2021-09-23 12:02 ` [PATCH 15/37] xen/x86: rename acpi_scan_nodes to numa_scan_nodes Wei Chen
2021-09-24 0:40 ` Stefano Stabellini
2022-01-25 10:17 ` Jan Beulich
2022-01-27 8:14 ` Wei Chen
2021-09-23 12:02 ` [PATCH 16/37] xen/x86: export srat_bad to external Wei Chen
2021-09-24 0:41 ` Stefano Stabellini
2022-01-25 10:22 ` Jan Beulich
2022-01-27 8:35 ` Wei Chen
2022-01-27 8:37 ` Jan Beulich
2022-01-27 8:47 ` Wei Chen
2021-09-23 12:02 ` [PATCH 17/37] xen/x86: use CONFIG_NUMA to gate numa_scan_nodes Wei Chen
2021-09-24 0:41 ` Stefano Stabellini
2022-01-25 10:26 ` Jan Beulich
2022-01-27 8:37 ` Wei Chen
2021-09-23 12:02 ` [PATCH 18/37] xen: move NUMA common code from x86 to common Wei Chen
2021-09-23 12:02 ` [PATCH 19/37] xen/x86: promote VIRTUAL_BUG_ON to ASSERT in Wei Chen
2022-01-17 16:21 ` Jan Beulich
2022-01-18 7:52 ` Wei Chen
2021-09-23 12:02 ` [PATCH 20/37] xen: introduce CONFIG_EFI to stub API for non-EFI architecture Wei Chen
2021-09-24 1:15 ` Stefano Stabellini
2021-09-24 4:34 ` Wei Chen
2021-09-24 7:58 ` Jan Beulich
2021-09-24 10:31 ` Wei Chen
2021-09-24 10:49 ` Jan Beulich
2021-09-26 10:25 ` Wei Chen
2021-09-27 10:28 ` Wei Chen
2021-09-28 0:59 ` Stefano Stabellini
2021-09-28 4:16 ` Wei Chen
2021-09-28 5:01 ` Stefano Stabellini
2021-09-28 8:02 ` Jan Beulich [this message]
2021-10-03 23:28 ` Wei Chen
2022-01-25 10:34 ` Jan Beulich
2022-01-27 8:44 ` Wei Chen
2022-01-27 8:51 ` Wei Chen
2022-01-27 9:00 ` Jan Beulich
2022-01-27 9:09 ` Wei Chen
2022-01-27 9:16 ` Jan Beulich
2022-01-27 9:25 ` Wei Chen
2022-01-27 9:27 ` Jan Beulich
2022-01-27 10:00 ` Julien Grall
2022-01-28 4:35 ` Wei Chen
2021-09-23 12:02 ` [PATCH 21/37] xen/arm: Keep memory nodes in dtb for NUMA when boot from EFI Wei Chen
2021-09-24 1:23 ` Stefano Stabellini
2021-09-24 4:36 ` Wei Chen
2022-01-25 10:38 ` Jan Beulich
2022-01-27 8:45 ` Wei Chen
2021-09-23 12:02 ` [PATCH 22/37] xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS Wei Chen
2021-09-24 1:34 ` Stefano Stabellini
2021-09-26 13:13 ` Wei Chen
2021-09-27 3:25 ` Stefano Stabellini
2021-09-27 4:18 ` Wei Chen
2021-09-27 4:59 ` Stefano Stabellini
2021-09-27 6:25 ` Julien Grall
2021-09-27 6:46 ` Wei Chen
2021-09-27 6:53 ` Wei Chen
2021-09-27 7:35 ` Julien Grall
2021-09-27 10:21 ` Wei Chen
2021-09-27 10:39 ` Julien Grall
2021-09-27 16:58 ` Stefano Stabellini
2021-09-28 2:57 ` Wei Chen
2021-09-23 12:02 ` [PATCH 23/37] xen/arm: implement node distance helpers for Arm Wei Chen
2021-09-24 1:46 ` Stefano Stabellini
2021-09-24 4:41 ` Wei Chen
2021-09-24 19:36 ` Stefano Stabellini
2021-09-26 10:15 ` Wei Chen
2021-09-23 12:02 ` [PATCH 24/37] xen/arm: implement two arch helpers to get memory map info Wei Chen
2021-09-24 2:06 ` Stefano Stabellini
2021-09-24 4:42 ` Wei Chen
2021-09-23 12:02 ` [PATCH 25/37] xen/arm: implement bad_srat for Arm NUMA initialization Wei Chen
2021-09-24 2:09 ` Stefano Stabellini
2021-09-24 4:45 ` Wei Chen
2021-09-24 8:07 ` Jan Beulich
2021-09-24 19:33 ` Stefano Stabellini
2021-09-23 12:02 ` [PATCH 26/37] xen/arm: build NUMA cpu_to_node map in dt_smp_init_cpus Wei Chen
2021-09-24 2:26 ` Stefano Stabellini
2021-09-24 4:25 ` Wei Chen
2021-09-23 12:02 ` [PATCH 27/37] xen/arm: Add boot and secondary CPU to NUMA system Wei Chen
2021-09-23 12:02 ` [PATCH 28/37] xen/arm: stub memory hotplug access helpers for Arm Wei Chen
2021-09-24 2:33 ` Stefano Stabellini
2021-09-24 4:26 ` Wei Chen
2021-09-23 12:02 ` [PATCH 29/37] xen/arm: introduce a helper to parse device tree processor node Wei Chen
2021-09-24 2:44 ` Stefano Stabellini
2021-09-24 4:46 ` Wei Chen
2021-09-23 12:02 ` [PATCH 30/37] xen/arm: introduce a helper to parse device tree memory node Wei Chen
2021-09-24 3:05 ` Stefano Stabellini
2021-09-24 7:54 ` Wei Chen
2021-09-23 12:02 ` [PATCH 31/37] xen/arm: introduce a helper to parse device tree NUMA distance map Wei Chen
2021-09-24 3:05 ` Stefano Stabellini
2021-09-24 5:23 ` Wei Chen
2021-09-23 12:02 ` [PATCH 32/37] xen/arm: unified entry to parse all NUMA data from device tree Wei Chen
2021-09-24 3:16 ` Stefano Stabellini
2021-09-24 7:58 ` Wei Chen
2021-09-24 19:42 ` Stefano Stabellini
2021-09-23 12:02 ` [PATCH 33/37] xen/arm: keep guest still be NUMA unware Wei Chen
2021-09-24 3:19 ` Stefano Stabellini
2021-09-24 10:23 ` Wei Chen
2021-09-23 12:02 ` [PATCH 34/37] xen/arm: enable device tree based NUMA in system init Wei Chen
2021-09-24 3:28 ` Stefano Stabellini
2021-09-24 9:52 ` Wei Chen
2021-09-23 12:02 ` [PATCH 35/37] xen/arm: use CONFIG_NUMA to gate node_online_map in smpboot Wei Chen
2021-09-23 12:02 ` [PATCH 36/37] xen/arm: Provide Kconfig options for Arm to enable NUMA Wei Chen
2021-09-24 3:31 ` Stefano Stabellini
2021-09-24 10:13 ` Wei Chen
2021-09-24 19:39 ` Stefano Stabellini
2021-09-27 8:33 ` Jan Beulich
2021-09-27 8:45 ` Julien Grall
2021-09-27 9:17 ` Jan Beulich
2021-09-27 17:17 ` Stefano Stabellini
2021-09-28 2:59 ` Wei Chen
2021-09-28 3:30 ` Stefano Stabellini
2021-09-24 10:25 ` Jan Beulich
2021-09-24 10:37 ` Wei Chen
2021-09-23 12:02 ` [PATCH 37/37] docs: update numa command line to support Arm Wei Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f872f421-dddf-7fde-34ce-210ddc55a87f@suse.com \
--to=jbeulich@suse.com \
--cc=Bertrand.Marquis@arm.com \
--cc=Wei.Chen@arm.com \
--cc=julien@xen.org \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).