Re: [U-Boot] [PATCH v1 2/2] x86: zImage: Propagate acpi_rsdp_addr to kernel via boot parameters

2018-08-22 Thread Andy Shevchenko
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

2018-08-22 Thread Bin Meng
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

2018-06-18 Thread Andy Shevchenko
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

2018-06-18 Thread Andy Shevchenko
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

2018-06-18 Thread Bin Meng
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

2018-06-18 Thread Andy Shevchenko
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

2018-06-16 Thread Bin Meng
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

2018-01-30 Thread Bin Meng
On Mon, Jan 15, 2018 at 10:33 AM, Bin Meng  wrote:
> 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

2018-01-14 Thread Bin Meng
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!
___
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

2018-01-12 Thread Andy Shevchenko
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

2018-01-12 Thread Bin Meng
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?

>
> 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

2018-01-10 Thread Andy Shevchenko
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