Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Wed, 2018-08-22 at 17:05 +0800, Bin Meng wrote: > Hi Andy, > > On Mon, Jun 18, 2018 at 9:52 PM, Andy Shevchenko > wrote: > > On Mon, 2018-06-18 at 16:27 +0300, Andy Shevchenko wrote: > > > On Mon, 2018-06-18 at 21:03 +0800, Bin Meng wrote: > > > > On Mon, Jun 18, 2018 at 5:22 PM, Andy Shevchenko > > > > wrote: > > > > > > > > > > > > > I did not find the discussion. Do we need revert the changes in > > > > U- > > > > Boot? > > > > > > https://patchwork.kernel.org/patch/10098529/ > > > > > > It seems it has been dropped b/c v2 were sent and actually v3 was > > > anticipated, but never appear. > > > > Hmm... I'm wrong there is v3 and stated as applied. > > > > https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1559618.htm > > l > > > > Though in next-20180112 it was appeared last time. > > > > > > > > This one seems explains what is the issue with this field > > > > https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg04706.htm > > l > > > > > > > > Also I didn't notice any blessing from hpa about protocol > > > extension. > > Sorry to bring this again. Looks as of today the addition to the > acpi_rsdp_addr member is still not merged mainstream kernel. Do you > think we need revert this in U-Boot, or keep it there but may cause > some confusion? Hmm... I guess I answered to your previous message. Anyway, I agree for the revert until we will have a clear picture with upstream. -- Andy Shevchenko Intel Finland Oy ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
Hi Andy, On Mon, Jun 18, 2018 at 9:52 PM, Andy Shevchenko wrote: > On Mon, 2018-06-18 at 16:27 +0300, Andy Shevchenko wrote: >> On Mon, 2018-06-18 at 21:03 +0800, Bin Meng wrote: >> > On Mon, Jun 18, 2018 at 5:22 PM, Andy Shevchenko >> > wrote: >> > > > > >> > I did not find the discussion. Do we need revert the changes in U- >> > Boot? >> >> https://patchwork.kernel.org/patch/10098529/ >> >> It seems it has been dropped b/c v2 were sent and actually v3 was >> anticipated, but never appear. > > Hmm... I'm wrong there is v3 and stated as applied. > > https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1559618.htm > l > > Though in next-20180112 it was appeared last time. > > > > This one seems explains what is the issue with this field > > https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg04706.htm > l > >> >> Also I didn't notice any blessing from hpa about protocol extension. > Sorry to bring this again. Looks as of today the addition to the acpi_rsdp_addr member is still not merged mainstream kernel. Do you think we need revert this in U-Boot, or keep it there but may cause some confusion? Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Mon, 2018-06-18 at 16:27 +0300, Andy Shevchenko wrote: > On Mon, 2018-06-18 at 21:03 +0800, Bin Meng wrote: > > On Mon, Jun 18, 2018 at 5:22 PM, Andy Shevchenko > > wrote: > > > > > I did not find the discussion. Do we need revert the changes in U- > > Boot? > > https://patchwork.kernel.org/patch/10098529/ > > It seems it has been dropped b/c v2 were sent and actually v3 was > anticipated, but never appear. Hmm... I'm wrong there is v3 and stated as applied. https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1559618.htm l Though in next-20180112 it was appeared last time. This one seems explains what is the issue with this field https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg04706.htm l > > Also I didn't notice any blessing from hpa about protocol extension. -- Andy Shevchenko Intel Finland Oy ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Mon, 2018-06-18 at 21:03 +0800, Bin Meng wrote: > On Mon, Jun 18, 2018 at 5:22 PM, Andy Shevchenko > wrote: > > On Sun, 2018-06-17 at 07:22 +0800, Bin Meng wrote: > > > Hi Andy, > > > > > > On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenko > > > wrote: > > > > On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: > > > > > Hi Andy, > > > > > > > > > > On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko > > > > > wrote: > > > > > > New field acpi_rsdp_addr, which has been introduced in boot > > > > > > protocol > > > > > > v2.14 [1], in boot parameters tells kernel the exact address > > > > > > of > > > > > > RDSP > > > > > > ACPI table. Knowing it increases robustness of the kernel by > > > > > > avoiding > > > > > > in some cases traversal through a part of physical memory. > > > > > > It will slightly reduce boot time by the same reason. > > > > > > > > > > > > [1] See Linux kernel commit > > > > > > > > > > > > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to > > > > > > struct > > > > > > setup_header::acpi_rdsp_addr") > > > > > > > > > > I don't see this commit id in my linux tree. Is this in some > > > > > custodian's tree? > > > > > > > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/comm > > > > it/? > > > > id=2 > > > > f74cbf947f45fa082dda8eac1a1f1299a372f49 > > > > > > > > > > I checked Linux kernel tree, seems the patch of adding > > > acpi_rdsp_addr > > > to setup_header was never accepted. Can you please double check, > > > to > > > see whether we still need this in U-Boot? > > > > > > I built a v4.17 kernel, and the boot protocol is still 2.13. > > > > Indeed. There were a discussion to not apply it for now. > > > > I did not find the discussion. Do we need revert the changes in U- > Boot? https://patchwork.kernel.org/patch/10098529/ It seems it has been dropped b/c v2 were sent and actually v3 was anticipated, but never appear. Also I didn't notice any blessing from hpa about protocol extension. -- Andy Shevchenko Intel Finland Oy ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Mon, Jun 18, 2018 at 5:22 PM, Andy Shevchenko wrote: > On Sun, 2018-06-17 at 07:22 +0800, Bin Meng wrote: >> Hi Andy, >> >> On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenko >> wrote: >> > On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: >> > > Hi Andy, >> > > >> > > On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko >> > > wrote: >> > > > New field acpi_rsdp_addr, which has been introduced in boot >> > > > protocol >> > > > v2.14 [1], in boot parameters tells kernel the exact address of >> > > > RDSP >> > > > ACPI table. Knowing it increases robustness of the kernel by >> > > > avoiding >> > > > in some cases traversal through a part of physical memory. >> > > > It will slightly reduce boot time by the same reason. >> > > > >> > > > [1] See Linux kernel commit >> > > > >> > > > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct >> > > > setup_header::acpi_rdsp_addr") >> > > >> > > I don't see this commit id in my linux tree. Is this in some >> > > custodian's tree? >> > >> > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/? >> > id=2 >> > f74cbf947f45fa082dda8eac1a1f1299a372f49 >> > >> >> I checked Linux kernel tree, seems the patch of adding acpi_rdsp_addr >> to setup_header was never accepted. Can you please double check, to >> see whether we still need this in U-Boot? >> >> I built a v4.17 kernel, and the boot protocol is still 2.13. > > Indeed. There were a discussion to not apply it for now. > I did not find the discussion. Do we need revert the changes in U-Boot? Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Sun, 2018-06-17 at 07:22 +0800, Bin Meng wrote: > Hi Andy, > > On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenko > wrote: > > On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: > > > Hi Andy, > > > > > > On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko > > > wrote: > > > > New field acpi_rsdp_addr, which has been introduced in boot > > > > protocol > > > > v2.14 [1], in boot parameters tells kernel the exact address of > > > > RDSP > > > > ACPI table. Knowing it increases robustness of the kernel by > > > > avoiding > > > > in some cases traversal through a part of physical memory. > > > > It will slightly reduce boot time by the same reason. > > > > > > > > [1] See Linux kernel commit > > > > > > > > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct > > > > setup_header::acpi_rdsp_addr") > > > > > > I don't see this commit id in my linux tree. Is this in some > > > custodian's tree? > > > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/? > > id=2 > > f74cbf947f45fa082dda8eac1a1f1299a372f49 > > > > I checked Linux kernel tree, seems the patch of adding acpi_rdsp_addr > to setup_header was never accepted. Can you please double check, to > see whether we still need this in U-Boot? > > I built a v4.17 kernel, and the boot protocol is still 2.13. Indeed. There were a discussion to not apply it for now. -- Andy Shevchenko Intel Finland Oy ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
Hi Andy, On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenko wrote: > On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: >> Hi Andy, >> >> On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko >> wrote: >> > New field acpi_rsdp_addr, which has been introduced in boot protocol >> > v2.14 [1], in boot parameters tells kernel the exact address of RDSP >> > ACPI table. Knowing it increases robustness of the kernel by >> > avoiding >> > in some cases traversal through a part of physical memory. >> > It will slightly reduce boot time by the same reason. >> > >> > [1] See Linux kernel commit >> > >> > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct >> > setup_header::acpi_rdsp_addr") >> >> I don't see this commit id in my linux tree. Is this in some >> custodian's tree? > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=2 > f74cbf947f45fa082dda8eac1a1f1299a372f49 > I checked Linux kernel tree, seems the patch of adding acpi_rdsp_addr to setup_header was never accepted. Can you please double check, to see whether we still need this in U-Boot? I built a v4.17 kernel, and the boot protocol is still 2.13. Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Mon, Jan 15, 2018 at 10:33 AM, Bin Mengwrote: > On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenko > wrote: >> On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: >>> Hi Andy, >>> >>> On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko >>> wrote: >>> > New field acpi_rsdp_addr, which has been introduced in boot protocol >>> > v2.14 [1], in boot parameters tells kernel the exact address of RDSP >>> > ACPI table. Knowing it increases robustness of the kernel by >>> > avoiding >>> > in some cases traversal through a part of physical memory. >>> > It will slightly reduce boot time by the same reason. >>> > >>> > [1] See Linux kernel commit >>> > >>> > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct >>> > setup_header::acpi_rdsp_addr") >>> >>> I don't see this commit id in my linux tree. Is this in some >>> custodian's tree? >> >> https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=2 >> f74cbf947f45fa082dda8eac1a1f1299a372f49 >> > > thanks! > >>> > for the details. >>> > >>> > Signed-off-by: Andy Shevchenko >>> > --- >>> > arch/x86/include/asm/bootparam.h | 1 + >>> > arch/x86/lib/acpi_table.c| 7 +++ >>> > arch/x86/lib/acpi_table.h| 10 ++ >>> > arch/x86/lib/zimage.c| 6 ++ >>> > 4 files changed, 24 insertions(+) >>> > create mode 100644 arch/x86/lib/acpi_table.h >>> > >>> > diff --git a/arch/x86/include/asm/bootparam.h >>> > b/arch/x86/include/asm/bootparam.h >>> > index 48b138c6b0..90768a99ce 100644 >>> > --- a/arch/x86/include/asm/bootparam.h >>> > +++ b/arch/x86/include/asm/bootparam.h >>> > @@ -66,6 +66,7 @@ struct setup_header { >>> > __u64 pref_address; >>> > __u32 init_size; >>> > __u32 handover_offset; >>> > + __u64 acpi_rsdp_addr; >>> > } __attribute__((packed)); >>> > >>> > struct sys_desc_table { >>> > diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c >>> > index 7b33cd371e..45bfc111ef 100644 >>> > --- a/arch/x86/lib/acpi_table.c >>> > +++ b/arch/x86/lib/acpi_table.c >>> > @@ -20,6 +20,7 @@ >>> > #include >>> > #include >>> > #include >>> > +#include "acpi_table.h" >>> > >>> > /* >>> > * IASL compiles the dsdt entries and writes the hex values >>> > @@ -27,6 +28,11 @@ >>> > */ >>> > extern const unsigned char AmlCode[]; >>> > >>> > +/* >>> > + * ACPI RSDP address to be used in boot parameters. >>> > + */ >>> >>> nits: use single line comment format without the ending . >> >> OK. >> >>> >>> > +unsigned long acpi_rsdp_addr; >>> > + >>> > static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct >>> > acpi_rsdt *rsdt, >>> > struct acpi_xsdt *xsdt) >>> > { >>> > @@ -460,6 +466,7 @@ ulong write_acpi_tables(ulong start) >>> > >>> > debug("current = %x\n", current); >>> > >>> > + acpi_rsdp_addr = (unsigned long)rsdp; >>> > debug("ACPI: done\n"); >>> > >>> > /* Don't touch ACPI hardware on HW reduced platforms */ >>> > diff --git a/arch/x86/lib/acpi_table.h b/arch/x86/lib/acpi_table.h >>> > new file mode 100644 >>> > index 00..cece5d1420 >>> > --- /dev/null >>> > +++ b/arch/x86/lib/acpi_table.h >>> > @@ -0,0 +1,10 @@ >>> > +/* >>> > + * SPDX-License-Identifier:GPL-2.0 >>> > + */ >>> > + >>> > +#ifndef _X86_LIB_ACPI_TABLES_H >>> > +#define _X86_LIB_ACPI_TABLES_H >>> > + >>> > +extern unsigned long acpi_rsdp_addr; >>> > + >>> > +#endif >>> > diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c >>> > index d224db4e07..eae26635b1 100644 >>> > --- a/arch/x86/lib/zimage.c >>> > +++ b/arch/x86/lib/zimage.c >>> > @@ -24,6 +24,7 @@ >>> > #include >>> > #endif >>> > #include >>> > +#include "acpi_table.h" >>> > >>> > DECLARE_GLOBAL_DATA_PTR; >>> > >>> > @@ -255,6 +256,11 @@ 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 >>> > + if (bootproto >= 0x020e) >>> > + hdr->acpi_rsdp_addr = acpi_rsdp_addr; >>> > +#endif >>> > + >>> > setup_video(_base->screen_info); >>> > >>> > return 0; >>> > -- >>> >>> Other than the above nits, >>> Reviewed-by: Bin Meng >>> >>> I can fix the nits when applying if you like. >> >> If you have a chance to do it soon, please, do, otherwise I would send a >> new version later (next week I suppose). > > Fixed the nits and mentioned the git commit URL > > applied to u-boot-x86, thanks! This unfortunately breaks qemu-x86 and qemu-x86_64. I will post patches to fix this. Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Fri, Jan 12, 2018 at 9:01 PM, Andy Shevchenkowrote: > On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: >> Hi Andy, >> >> On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko >> wrote: >> > New field acpi_rsdp_addr, which has been introduced in boot protocol >> > v2.14 [1], in boot parameters tells kernel the exact address of RDSP >> > ACPI table. Knowing it increases robustness of the kernel by >> > avoiding >> > in some cases traversal through a part of physical memory. >> > It will slightly reduce boot time by the same reason. >> > >> > [1] See Linux kernel commit >> > >> > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct >> > setup_header::acpi_rdsp_addr") >> >> I don't see this commit id in my linux tree. Is this in some >> custodian's tree? > > https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=2 > f74cbf947f45fa082dda8eac1a1f1299a372f49 > thanks! >> > for the details. >> > >> > Signed-off-by: Andy Shevchenko >> > --- >> > arch/x86/include/asm/bootparam.h | 1 + >> > arch/x86/lib/acpi_table.c| 7 +++ >> > arch/x86/lib/acpi_table.h| 10 ++ >> > arch/x86/lib/zimage.c| 6 ++ >> > 4 files changed, 24 insertions(+) >> > create mode 100644 arch/x86/lib/acpi_table.h >> > >> > diff --git a/arch/x86/include/asm/bootparam.h >> > b/arch/x86/include/asm/bootparam.h >> > index 48b138c6b0..90768a99ce 100644 >> > --- a/arch/x86/include/asm/bootparam.h >> > +++ b/arch/x86/include/asm/bootparam.h >> > @@ -66,6 +66,7 @@ struct setup_header { >> > __u64 pref_address; >> > __u32 init_size; >> > __u32 handover_offset; >> > + __u64 acpi_rsdp_addr; >> > } __attribute__((packed)); >> > >> > struct sys_desc_table { >> > diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c >> > index 7b33cd371e..45bfc111ef 100644 >> > --- a/arch/x86/lib/acpi_table.c >> > +++ b/arch/x86/lib/acpi_table.c >> > @@ -20,6 +20,7 @@ >> > #include >> > #include >> > #include >> > +#include "acpi_table.h" >> > >> > /* >> > * IASL compiles the dsdt entries and writes the hex values >> > @@ -27,6 +28,11 @@ >> > */ >> > extern const unsigned char AmlCode[]; >> > >> > +/* >> > + * ACPI RSDP address to be used in boot parameters. >> > + */ >> >> nits: use single line comment format without the ending . > > OK. > >> >> > +unsigned long acpi_rsdp_addr; >> > + >> > static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct >> > acpi_rsdt *rsdt, >> > struct acpi_xsdt *xsdt) >> > { >> > @@ -460,6 +466,7 @@ ulong write_acpi_tables(ulong start) >> > >> > debug("current = %x\n", current); >> > >> > + acpi_rsdp_addr = (unsigned long)rsdp; >> > debug("ACPI: done\n"); >> > >> > /* Don't touch ACPI hardware on HW reduced platforms */ >> > diff --git a/arch/x86/lib/acpi_table.h b/arch/x86/lib/acpi_table.h >> > new file mode 100644 >> > index 00..cece5d1420 >> > --- /dev/null >> > +++ b/arch/x86/lib/acpi_table.h >> > @@ -0,0 +1,10 @@ >> > +/* >> > + * SPDX-License-Identifier:GPL-2.0 >> > + */ >> > + >> > +#ifndef _X86_LIB_ACPI_TABLES_H >> > +#define _X86_LIB_ACPI_TABLES_H >> > + >> > +extern unsigned long acpi_rsdp_addr; >> > + >> > +#endif >> > diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c >> > index d224db4e07..eae26635b1 100644 >> > --- a/arch/x86/lib/zimage.c >> > +++ b/arch/x86/lib/zimage.c >> > @@ -24,6 +24,7 @@ >> > #include >> > #endif >> > #include >> > +#include "acpi_table.h" >> > >> > DECLARE_GLOBAL_DATA_PTR; >> > >> > @@ -255,6 +256,11 @@ 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 >> > + if (bootproto >= 0x020e) >> > + hdr->acpi_rsdp_addr = acpi_rsdp_addr; >> > +#endif >> > + >> > setup_video(_base->screen_info); >> > >> > return 0; >> > -- >> >> Other than the above nits, >> Reviewed-by: Bin Meng >> >> I can fix the nits when applying if you like. > > If you have a chance to do it soon, please, do, otherwise I would send a > new version later (next week I suppose). Fixed the nits and mentioned the git commit URL applied to u-boot-x86, thanks! ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
On Fri, 2018-01-12 at 17:00 +0800, Bin Meng wrote: > Hi Andy, > > On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenko >wrote: > > New field acpi_rsdp_addr, which has been introduced in boot protocol > > v2.14 [1], in boot parameters tells kernel the exact address of RDSP > > ACPI table. Knowing it increases robustness of the kernel by > > avoiding > > in some cases traversal through a part of physical memory. > > It will slightly reduce boot time by the same reason. > > > > [1] See Linux kernel commit > > > > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct > > setup_header::acpi_rdsp_addr") > > I don't see this commit id in my linux tree. Is this in some > custodian's tree? https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=2 f74cbf947f45fa082dda8eac1a1f1299a372f49 > > for the details. > > > > Signed-off-by: Andy Shevchenko > > --- > > arch/x86/include/asm/bootparam.h | 1 + > > arch/x86/lib/acpi_table.c| 7 +++ > > arch/x86/lib/acpi_table.h| 10 ++ > > arch/x86/lib/zimage.c| 6 ++ > > 4 files changed, 24 insertions(+) > > create mode 100644 arch/x86/lib/acpi_table.h > > > > diff --git a/arch/x86/include/asm/bootparam.h > > b/arch/x86/include/asm/bootparam.h > > index 48b138c6b0..90768a99ce 100644 > > --- a/arch/x86/include/asm/bootparam.h > > +++ b/arch/x86/include/asm/bootparam.h > > @@ -66,6 +66,7 @@ struct setup_header { > > __u64 pref_address; > > __u32 init_size; > > __u32 handover_offset; > > + __u64 acpi_rsdp_addr; > > } __attribute__((packed)); > > > > struct sys_desc_table { > > diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c > > index 7b33cd371e..45bfc111ef 100644 > > --- a/arch/x86/lib/acpi_table.c > > +++ b/arch/x86/lib/acpi_table.c > > @@ -20,6 +20,7 @@ > > #include > > #include > > #include > > +#include "acpi_table.h" > > > > /* > > * IASL compiles the dsdt entries and writes the hex values > > @@ -27,6 +28,11 @@ > > */ > > extern const unsigned char AmlCode[]; > > > > +/* > > + * ACPI RSDP address to be used in boot parameters. > > + */ > > nits: use single line comment format without the ending . OK. > > > +unsigned long acpi_rsdp_addr; > > + > > static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct > > acpi_rsdt *rsdt, > > struct acpi_xsdt *xsdt) > > { > > @@ -460,6 +466,7 @@ ulong write_acpi_tables(ulong start) > > > > debug("current = %x\n", current); > > > > + acpi_rsdp_addr = (unsigned long)rsdp; > > debug("ACPI: done\n"); > > > > /* Don't touch ACPI hardware on HW reduced platforms */ > > diff --git a/arch/x86/lib/acpi_table.h b/arch/x86/lib/acpi_table.h > > new file mode 100644 > > index 00..cece5d1420 > > --- /dev/null > > +++ b/arch/x86/lib/acpi_table.h > > @@ -0,0 +1,10 @@ > > +/* > > + * SPDX-License-Identifier:GPL-2.0 > > + */ > > + > > +#ifndef _X86_LIB_ACPI_TABLES_H > > +#define _X86_LIB_ACPI_TABLES_H > > + > > +extern unsigned long acpi_rsdp_addr; > > + > > +#endif > > diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c > > index d224db4e07..eae26635b1 100644 > > --- a/arch/x86/lib/zimage.c > > +++ b/arch/x86/lib/zimage.c > > @@ -24,6 +24,7 @@ > > #include > > #endif > > #include > > +#include "acpi_table.h" > > > > DECLARE_GLOBAL_DATA_PTR; > > > > @@ -255,6 +256,11 @@ 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 > > + if (bootproto >= 0x020e) > > + hdr->acpi_rsdp_addr = acpi_rsdp_addr; > > +#endif > > + > > setup_video(_base->screen_info); > > > > return 0; > > -- > > Other than the above nits, > Reviewed-by: Bin Meng > > I can fix the nits when applying if you like. If you have a chance to do it soon, please, do, otherwise I would send a new version later (next week I suppose). Thanks! > > Regards, > Bin -- Andy Shevchenko Intel Finland Oy ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
Hi Andy, On Thu, Jan 11, 2018 at 1:40 AM, Andy Shevchenkowrote: > New field acpi_rsdp_addr, which has been introduced in boot protocol > v2.14 [1], in boot parameters tells kernel the exact address of RDSP > ACPI table. Knowing it increases robustness of the kernel by avoiding > in some cases traversal through a part of physical memory. > It will slightly reduce boot time by the same reason. > > [1] See Linux kernel commit > > 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct > setup_header::acpi_rdsp_addr") I don't see this commit id in my linux tree. Is this in some custodian's tree? > > for the details. > > Signed-off-by: Andy Shevchenko > --- > arch/x86/include/asm/bootparam.h | 1 + > arch/x86/lib/acpi_table.c| 7 +++ > arch/x86/lib/acpi_table.h| 10 ++ > arch/x86/lib/zimage.c| 6 ++ > 4 files changed, 24 insertions(+) > create mode 100644 arch/x86/lib/acpi_table.h > > diff --git a/arch/x86/include/asm/bootparam.h > b/arch/x86/include/asm/bootparam.h > index 48b138c6b0..90768a99ce 100644 > --- a/arch/x86/include/asm/bootparam.h > +++ b/arch/x86/include/asm/bootparam.h > @@ -66,6 +66,7 @@ struct setup_header { > __u64 pref_address; > __u32 init_size; > __u32 handover_offset; > + __u64 acpi_rsdp_addr; > } __attribute__((packed)); > > struct sys_desc_table { > diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c > index 7b33cd371e..45bfc111ef 100644 > --- a/arch/x86/lib/acpi_table.c > +++ b/arch/x86/lib/acpi_table.c > @@ -20,6 +20,7 @@ > #include > #include > #include > +#include "acpi_table.h" > > /* > * IASL compiles the dsdt entries and writes the hex values > @@ -27,6 +28,11 @@ > */ > extern const unsigned char AmlCode[]; > > +/* > + * ACPI RSDP address to be used in boot parameters. > + */ nits: use single line comment format without the ending . > +unsigned long acpi_rsdp_addr; > + > static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct acpi_rsdt *rsdt, > struct acpi_xsdt *xsdt) > { > @@ -460,6 +466,7 @@ ulong write_acpi_tables(ulong start) > > debug("current = %x\n", current); > > + acpi_rsdp_addr = (unsigned long)rsdp; > debug("ACPI: done\n"); > > /* Don't touch ACPI hardware on HW reduced platforms */ > diff --git a/arch/x86/lib/acpi_table.h b/arch/x86/lib/acpi_table.h > new file mode 100644 > index 00..cece5d1420 > --- /dev/null > +++ b/arch/x86/lib/acpi_table.h > @@ -0,0 +1,10 @@ > +/* > + * SPDX-License-Identifier:GPL-2.0 > + */ > + > +#ifndef _X86_LIB_ACPI_TABLES_H > +#define _X86_LIB_ACPI_TABLES_H > + > +extern unsigned long acpi_rsdp_addr; > + > +#endif > diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c > index d224db4e07..eae26635b1 100644 > --- a/arch/x86/lib/zimage.c > +++ b/arch/x86/lib/zimage.c > @@ -24,6 +24,7 @@ > #include > #endif > #include > +#include "acpi_table.h" > > DECLARE_GLOBAL_DATA_PTR; > > @@ -255,6 +256,11 @@ 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 > + if (bootproto >= 0x020e) > + hdr->acpi_rsdp_addr = acpi_rsdp_addr; > +#endif > + > setup_video(_base->screen_info); > > return 0; > -- Other than the above nits, Reviewed-by: Bin Meng I can fix the nits when applying if you like. Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters
New field acpi_rsdp_addr, which has been introduced in boot protocol v2.14 [1], in boot parameters tells kernel the exact address of RDSP ACPI table. Knowing it increases robustness of the kernel by avoiding in some cases traversal through a part of physical memory. It will slightly reduce boot time by the same reason. [1] See Linux kernel commit 2f74cbf947f4 ("x86/boot: Add the ACPI RSDP address to struct setup_header::acpi_rdsp_addr") for the details. Signed-off-by: Andy Shevchenko--- arch/x86/include/asm/bootparam.h | 1 + arch/x86/lib/acpi_table.c| 7 +++ arch/x86/lib/acpi_table.h| 10 ++ arch/x86/lib/zimage.c| 6 ++ 4 files changed, 24 insertions(+) create mode 100644 arch/x86/lib/acpi_table.h diff --git a/arch/x86/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h index 48b138c6b0..90768a99ce 100644 --- a/arch/x86/include/asm/bootparam.h +++ b/arch/x86/include/asm/bootparam.h @@ -66,6 +66,7 @@ struct setup_header { __u64 pref_address; __u32 init_size; __u32 handover_offset; + __u64 acpi_rsdp_addr; } __attribute__((packed)); struct sys_desc_table { diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c index 7b33cd371e..45bfc111ef 100644 --- a/arch/x86/lib/acpi_table.c +++ b/arch/x86/lib/acpi_table.c @@ -20,6 +20,7 @@ #include #include #include +#include "acpi_table.h" /* * IASL compiles the dsdt entries and writes the hex values @@ -27,6 +28,11 @@ */ extern const unsigned char AmlCode[]; +/* + * ACPI RSDP address to be used in boot parameters. + */ +unsigned long acpi_rsdp_addr; + static void acpi_write_rsdp(struct acpi_rsdp *rsdp, struct acpi_rsdt *rsdt, struct acpi_xsdt *xsdt) { @@ -460,6 +466,7 @@ ulong write_acpi_tables(ulong start) debug("current = %x\n", current); + acpi_rsdp_addr = (unsigned long)rsdp; debug("ACPI: done\n"); /* Don't touch ACPI hardware on HW reduced platforms */ diff --git a/arch/x86/lib/acpi_table.h b/arch/x86/lib/acpi_table.h new file mode 100644 index 00..cece5d1420 --- /dev/null +++ b/arch/x86/lib/acpi_table.h @@ -0,0 +1,10 @@ +/* + * SPDX-License-Identifier:GPL-2.0 + */ + +#ifndef _X86_LIB_ACPI_TABLES_H +#define _X86_LIB_ACPI_TABLES_H + +extern unsigned long acpi_rsdp_addr; + +#endif diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c index d224db4e07..eae26635b1 100644 --- a/arch/x86/lib/zimage.c +++ b/arch/x86/lib/zimage.c @@ -24,6 +24,7 @@ #include #endif #include +#include "acpi_table.h" DECLARE_GLOBAL_DATA_PTR; @@ -255,6 +256,11 @@ 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 + if (bootproto >= 0x020e) + hdr->acpi_rsdp_addr = acpi_rsdp_addr; +#endif + setup_video(_base->screen_info); return 0; -- 2.15.1 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot