diff options
author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2019-09-13 18:42:00 +0300 |
---|---|---|
committer | Bin Meng <bmeng.cn@gmail.com> | 2019-10-01 18:20:47 +0800 |
commit | d905aa8a4277e200e11fdf6d73a7c76d0e6f34a4 (patch) | |
tree | d7d89e0ca39716d728e3a89618d0c6892752600b | |
parent | 023ff4b88dcec5faa3f9b841bae4d3d232b58ce2 (diff) | |
download | u-boot-d905aa8a4277e200e11fdf6d73a7c76d0e6f34a4.tar.gz |
x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
This is reincarnation of the U-Boot
commit 3469bf4274540d1491d58e878a9edc0bdcba17ac
Author: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Wed Jan 10 19:40:15 2018 +0200
x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
after upstream got eventually the Linux kernel
commit e6e094e053af75cbc164e950814d3d084fb1e698
Author: Juergen Gross <jgross@suse.com>
Date: Tue Nov 20 08:25:29 2018 +0100
x86/acpi, x86/boot: Take RSDP address from boot params if available
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r-- | arch/x86/include/asm/bootparam.h | 3 | ||||
-rw-r--r-- | arch/x86/lib/zimage.c | 4 |
2 files changed, 6 insertions, 1 deletions
diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index dfbd4b4bba..d961dddc9e 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h @@ -94,7 +94,8 @@ struct boot_params { __u8 _pad2[4]; /* 0x054 */ __u64 tboot_addr; /* 0x058 */ struct ist_info ist_info; /* 0x060 */ - __u8 _pad3[16]; /* 0x070 */ + __u64 acpi_rsdp_addr; /* 0x070 */ + __u8 _pad3[8]; /* 0x078 */ __u8 hd0_info[16]; /* obsolete! */ /* 0x080 */ __u8 hd1_info[16]; /* obsolete! */ /* 0x090 */ struct sys_desc_table sys_desc_table; /* 0x0a0 */ diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index 6a6258a505..d07041fd4c 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -288,6 +288,10 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot, hdr->hardware_subarch = X86_SUBARCH_INTEL_MID; #endif +#ifdef CONFIG_GENERATE_ACPI_TABLE + setup_base->acpi_rsdp_addr = acpi_get_rsdp_addr(); +#endif + setup_device_tree(hdr, (const void *)env_get_hex("fdtaddr", 0)); setup_video(&setup_base->screen_info); |