Re: [PATCH v3 2/5] x86/boot: Add max_addr field in struct boot_params

From: Baoquan He
Date: Thu Sep 05 2019 - 09:43:12 EST


On 08/30/19 at 05:47pm, Masayoshi Mizuma wrote:
> From: Masayoshi Mizuma <m.mizuma@xxxxxxxxxxxxxx>
>
> Add max_addr field in struct boot_params. max_addr shows the
> maximum memory address to be reachable by memory hot-add.
> max_addr is set by parsing ACPI SRAT.
>
> Signed-off-by: Masayoshi Mizuma <m.mizuma@xxxxxxxxxxxxxx>
> ---
> Documentation/x86/zero-page.rst | 4 ++++
> arch/x86/include/uapi/asm/bootparam.h | 2 +-
> 2 files changed, 5 insertions(+), 1 deletion(-)

Reviewed-by: Baoquan He <bhe@xxxxxxxxxx>

Thanks
Baoquan

>
> diff --git a/Documentation/x86/zero-page.rst b/Documentation/x86/zero-page.rst
> index f088f5881..cc3938d68 100644
> --- a/Documentation/x86/zero-page.rst
> +++ b/Documentation/x86/zero-page.rst
> @@ -19,6 +19,7 @@ Offset/Size Proto Name Meaning
> 058/008 ALL tboot_addr Physical address of tboot shared page
> 060/010 ALL ist_info Intel SpeedStep (IST) BIOS support information
> (struct ist_info)
> +078/010 ALL max_addr The possible maximum physical memory address [1]_
> 080/010 ALL hd0_info hd0 disk parameter, OBSOLETE!!
> 090/010 ALL hd1_info hd1 disk parameter, OBSOLETE!!
> 0A0/010 ALL sys_desc_table System description table (struct sys_desc_table),
> @@ -43,3 +44,6 @@ Offset/Size Proto Name Meaning
> (array of struct e820_entry)
> D00/1EC ALL eddbuf EDD data (array of struct edd_info)
> =========== ===== ======================= =================================================
> +
> +.. [1] max_addr shows the maximum memory address to be reachable by memory
> + hot-add. max_addr is set by parsing ACPI SRAT.
> diff --git a/arch/x86/include/uapi/asm/bootparam.h b/arch/x86/include/uapi/asm/bootparam.h
> index c895df548..6efad338b 100644
> --- a/arch/x86/include/uapi/asm/bootparam.h
> +++ b/arch/x86/include/uapi/asm/bootparam.h
> @@ -158,7 +158,7 @@ struct boot_params {
> __u64 tboot_addr; /* 0x058 */
> struct ist_info ist_info; /* 0x060 */
> __u64 acpi_rsdp_addr; /* 0x070 */
> - __u8 _pad3[8]; /* 0x078 */
> + __u64 max_addr; /* 0x078 */
> __u8 hd0_info[16]; /* obsolete! */ /* 0x080 */
> __u8 hd1_info[16]; /* obsolete! */ /* 0x090 */
> struct sys_desc_table sys_desc_table; /* obsolete! */ /* 0x0a0 */
> --
> 2.18.1
>