On Sun, 22 Feb, at 07:43:48PM, Yinghai Lu wrote:
> Index: linux-2.6/arch/x86/boot/header.S
> ===================================================================
> --- linux-2.6.orig/arch/x86/boot/header.S
> +++ linux-2.6/arch/x86/boot/header.S
> @@ -301,7 +301,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
> @@ -449,6 +449,7 @@ pref_address:             .quad LOAD_PHYSICAL_ADDR
>  #endif
>  init_size:           .long INIT_SIZE         # kernel initialization size
>  handover_offset:     .long 0                 # Filled in by build.c
> +ext_code32_start:    .long 0                 # werid one!
  
How about a comment like, "# Upper 32-bits of code32_start" ?

> Index: linux-2.6/Documentation/x86/boot.txt
> ===================================================================
> --- linux-2.6.orig/Documentation/x86/boot.txt
> +++ linux-2.6/Documentation/x86/boot.txt
> @@ -61,6 +61,9 @@ Protocol 2.12:      (Kernel 3.8) Added the xl
>               to struct boot_params for loading bzImage and ramdisk
>               above 4G in 64bit.
>  
> +Protocol 2.14:       (Kernel 3.20) Added the ext_code32_start to support 
> 64bit
> +             EFI kernel to be loaded above 4G.
> +
>  **** MEMORY LAYOUT
>  
>  The traditional memory map for the kernel loader, used for Image or
> @@ -197,6 +200,7 @@ Offset    Proto   Name            Meaning
>  0258/8       2.10+   pref_address    Preferred loading address
>  0260/4       2.10+   init_size       Linear memory required during 
> initialization
>  0264/4       2.11+   handover_offset Offset of handover entry point
> +0268/4       2.14+   ext_code32_start        Extended part for code32_start
>  
>  (1) For backwards compatibility, if the setup_sects field contains 0, the
>      real value is 4.
> @@ -738,6 +742,14 @@ Offset/size:     0x264/4
>  
>    See EFI HANDOVER PROTOCOL below for more details.
>  
> +Field name:  ext_code32_start
> +Type:                modify (optional, reloc)
> +Offset/size: 0x268/4
> +Protocol:    2.14+
> +
> +  This field is the upper 32bits of load address when EFI 64bit kernel
> +  is loaded above 4G. And it is used with code32_start to compare to
> +  pref_address to decide if kernel need to be relocated further.

I think we can delete the second sentence.

But these are minimal changes and I'm happy to fix them up when applying
this patch if that's OK?

-- 
Matt Fleming, Intel Open Source Technology Center
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to