lkml.org 
[lkml]   [2017]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH v2 1/3] x86/boot: add acpi rsdp address to setup_header
    From
    Date
    On 08/12/17 08:16, Ingo Molnar wrote:
    >
    > * Juergen Gross <jgross@suse.com> wrote:
    >
    >> Xen PVH guests receive the address of the RSDP table from Xen. In order
    >> to support booting a Xen PVH guest via grub2 using the standard x86
    >> boot entry we need a way fro grub2 to pass the RSDP address to the
    >> kernel.
    >>
    >> For this purpose expand the struct setup_header to hold the physical
    >> address of the RSDP address. Being zero means it isn't specified and
    >> has to be located the legacy way (searching through low memory or
    >> EBDA).
    >
    > s/fro
    > /for
    >
    > pedantry:
    >
    > s/grub2
    > /Grub2

    Okay.

    >
    >> Signed-off-by: Juergen Gross <jgross@suse.com>
    >> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
    >> ---
    >> Documentation/x86/boot.txt | 19 +++++++++++++++++++
    >> arch/x86/boot/header.S | 6 +++++-
    >> arch/x86/include/uapi/asm/bootparam.h | 1 +
    >> 3 files changed, 25 insertions(+), 1 deletion(-)
    >>
    >> diff --git a/Documentation/x86/boot.txt b/Documentation/x86/boot.txt
    >> index 5e9b826b5f62..a33c224797e4 100644
    >> --- a/Documentation/x86/boot.txt
    >> +++ b/Documentation/x86/boot.txt
    >> @@ -61,6 +61,13 @@ Protocol 2.12: (Kernel 3.8) Added the xloadflags field and extension fields
    >> to struct boot_params for loading bzImage and ramdisk
    >> above 4G in 64bit.
    >>
    >> +Protocol 2.13: (Kernel 3.14) Support 32- and 64-bit flags being set in
    >> + xloadflags to support booting a 64 bit kernel from 32 bit
    >> + EFI
    >
    > The changelog should I think declare that we add documentation for the 2.13
    > protocol iteration as well.
    >
    > Also, please use a consistent spelling of '32-bit' and '64-bit' in the same
    > sentence!

    Okay.

    >
    >> +Field name: acpi_rsdp_addr
    >> +Type: write
    >> +Offset/size: 0x268/8
    >> +Protocol: 2.14+
    >> +
    >> + This field can be set by the boot loader to tell the kernel the
    >> + physical address of the ACPI RSDP table.
    >> +
    >> + A value of 0 indicates the kernel should fall back to the standard
    >> + methods to locate the RSDP (search in EBDA/low memory).
    >
    > That's not the only method used: the ACPI RSDP address can also be discovered via
    > efi.rsdp20 and efi.rsdp, both of which appear to be 32-bit values.

    Sure, but this is valid for booting via EFI only.

    >
    >> **** THE IMAGE CHECKSUM
    >>
    >> diff --git a/arch/x86/boot/header.S b/arch/x86/boot/header.S
    >> index 850b8762e889..e7184127f309 100644
    >> --- a/arch/x86/boot/header.S
    >> +++ b/arch/x86/boot/header.S
    >> @@ -300,7 +300,7 @@ _start:
    >> # Part 2 of the header, from the old setup.S
    >>
    >> .ascii "HdrS" # header signature
    >> - .word 0x020d # header version number (>= 0x0105)
    >> + .word 0x020e # header version number (>= 0x0105)
    >> # or else old loadlin-1.5 will fail)
    >> .globl realmode_swtch
    >> realmode_swtch: .word 0, 0 # default_switch, SETUPSEG
    >> @@ -558,6 +558,10 @@ pref_address: .quad LOAD_PHYSICAL_ADDR # preferred load addr
    >> init_size: .long INIT_SIZE # kernel initialization size
    >> handover_offset: .long 0 # Filled in by build.c
    >>
    >> +acpi_rsdp_addr: .quad 0 # 64-bit physical pointer to
    >> + # ACPI RSDP table, added with
    >> + # version 2.14
    >
    > s/pointer to ACPI RSDP table
    > /pointer to the ACPI RSDP table

    Okay.

    >
    > Also, a more fundamental question: why doesn't Xen use EFI to hand over hardware
    > configuration details?

    I think Jan has answered this question quite well.


    Juergen

    \
     
     \ /
      Last update: 2017-12-08 09:37    [W:3.057 / U:0.904 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site