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

Re: [Xen-devel] [PATCH v3 2/3] xen/x86: use trampoline e820 buffer for BIOS interface only



>>> On 24.03.17 at 08:48, <jgross@xxxxxxxx> wrote:
> Instead of using the E820 raw buffer for BIOS, EFI and multiboot based
> memory map information use it for the BIOS interface only. This will
> enable us to support more E820 entries than the limited trampoline
> located buffer can.
> 
> Add a new raw e820 table for common purpose and copy the BIOS buffer
> to it. Doing the copying in assembly avoids the need to export the
> symbols for the BIOS E820 buffer and number of entries.
> 
> Signed-off-by: Juergen Gross <jgross@xxxxxxxx>

Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx>
with one question:

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -636,7 +636,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>  {
>      char *memmap_type = NULL;
>      char *cmdline, *kextra, *loader;
> -    unsigned int initrdidx, domcr_flags = DOMCRF_s3_integrity;
> +    unsigned int nr_e820, initrdidx, domcr_flags = DOMCRF_s3_integrity;

Is this variable really needed?

> @@ -782,14 +782,17 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      }
>      else if ( efi_enabled(EFI_BOOT) )
>          memmap_type = "EFI";
> -    else if ( e820_raw_nr != 0 )
> +    else if ( (nr_e820 = copy_bios_e820(e820_raw.map,
> +                                        ARRAY_SIZE(e820_raw.map))) != 0 )
>      {
>          memmap_type = "Xen-e820";
> +        e820_raw.nr_map = nr_e820;
>      }

I.e. can't we store the result of the function call in e820_raw.nr_map
right away? (The change could of course be done while committing.)

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

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