|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [RFC PATCH 1/4] kconfig: allow configuration of maximum modules
On 5/31/22 06:49, Bertrand Marquis wrote:
> Hi Daniel,
>
>> On 31 May 2022, at 11:45, Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
>> wrote:
>>
>> On 5/31/22 05:07, Bertrand Marquis wrote:
>>> Hi Daniel,
>>
>> Greetings Bertrand.
>>
>>>> On 31 May 2022, at 03:41, Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
>>>> wrote:
>>>>
>>>> For x86 the number of allowable multiboot modules varies between the
>>>> different
>>>> entry points, non-efi boot, pvh boot, and efi boot. In the case of both
>>>> Arm and
>>>> x86 this value is fixed to values based on generalized assumptions. With
>>>> hyperlaunch for x86 and dom0less on Arm, use of static sizes results in
>>>> large
>>>> allocations compiled into the hypervisor that will go unused by many use
>>>> cases.
>>>>
>>>> This commit introduces a Kconfig variable that is set with sane defaults
>>>> based
>>>> on configuration selection. This variable is in turned used as the array
>>>> size
>>>> for the cases where a static allocated array of boot modules is declared.
>>>>
>>>> Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>
>>>> ---
>>>> xen/arch/Kconfig | 12 ++++++++++++
>>>> xen/arch/arm/include/asm/setup.h | 5 +++--
>>>> xen/arch/x86/efi/efi-boot.h | 2 +-
>>>> xen/arch/x86/guest/xen/pvh-boot.c | 2 +-
>>>> xen/arch/x86/setup.c | 4 ++--
>>>> 5 files changed, 19 insertions(+), 6 deletions(-)
>>>>
>>>> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
>>>> index f16eb0df43..57b14e22c9 100644
>>>> --- a/xen/arch/Kconfig
>>>> +++ b/xen/arch/Kconfig
>>>> @@ -17,3 +17,15 @@ config NR_CPUS
>>>> For CPU cores which support Simultaneous Multi-Threading or similar
>>>> technologies, this the number of logical threads which Xen will
>>>> support.
>>>> +
>>>> +config NR_BOOTMODS
>>>> + int "Maximum number of boot modules that a loader can pass"
>>>> + range 1 64
>>>> + default "8" if X86
>>>> + default "32" if ARM
>>>> + help
>>>> + Controls the build-time size of various arrays allocated for
>>>> + parsing the boot modules passed by a loader when starting Xen.
>>>> +
>>>> + This is of particular interest when using Xen's hypervisor domain
>>>> + capabilities such as dom0less.
>>>> diff --git a/xen/arch/arm/include/asm/setup.h
>>>> b/xen/arch/arm/include/asm/setup.h
>>>> index 2bb01ecfa8..312a3e4209 100644
>>>> --- a/xen/arch/arm/include/asm/setup.h
>>>> +++ b/xen/arch/arm/include/asm/setup.h
>>>> @@ -10,7 +10,8 @@
>>>>
>>>> #define NR_MEM_BANKS 256
>>>>
>>>> -#define MAX_MODULES 32 /* Current maximum useful modules */
>>>> +/* Current maximum useful modules */
>>>> +#define MAX_MODULES CONFIG_NR_BOOTMODS
>>>>
>>>> typedef enum {
>>>> BOOTMOD_XEN,
>>>> @@ -38,7 +39,7 @@ struct meminfo {
>>>> * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
>>>> * The purpose of the domU flag is to avoid getting confused in
>>>> * kernel_probe, where we try to guess which is the dom0 kernel and
>>>> - * initrd to be compatible with all versions of the multiboot spec.
>>>> + * initrd to be compatible with all versions of the multiboot spec.
>>>
>>> This seems to be a spurious change.
>>
>> I have been trying to clean up trailing white space when I see it
>> nearby. I can drop this one if that is desired.
>
> If this is wanted this is ok, just mention it in the commit message so that
> we know it was on purpose.
Understood, I will update the commit message on this one and the others
where there is done.
>>
>>> With that fixed, for the arm part:
>>> Reviewed-by: Bertrand Marquis <bertrand.marquis@xxxxxxx>
>>
>> Thank you, will add it in when I respin it for submission.
>
> Cheers
> Bertrand
>
>>
>> v/r,
>> dps
>
v/r,
dps
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |