[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1371515047.13194.6.camel@misato.fc.hp.com>
Date: Mon, 17 Jun 2013 18:24:07 -0600
From: Toshi Kani <toshi.kani@...com>
To: Yinghai Lu <yinghai@...nel.org>
Cc: "H. Peter Anvin" <hpa@...or.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>,
Andrew Morton <akpm@...ux-foundation.org>,
Tejun Heo <tj@...nel.org>, Thomas Renninger <trenn@...e.de>,
Tang Chen <tangchen@...fujitsu.com>,
linux-kernel@...r.kernel.org, Pekka Enberg <penberg@...nel.org>,
Jacob Shin <jacob.shin@....com>,
"Rafael J. Wysocki" <rjw@...k.pl>, linux-acpi@...r.kernel.org
Subject: Re: [PATCH v5 06/22] x86, ACPI: Split acpi_initrd_override to
find/copy two functions
On Fri, 2013-06-14 at 17:56 -0700, Yinghai Lu wrote:
> To parse srat early, we need to move acpi table probing early.
> acpi_initrd_table_override is before acpi table probing. So we need to
> move it early too.
>
> Current code acpi_initrd_table_override is after init_mem_mapping and
> relocate_initrd(), so it can scan initrd and copy acpi tables with kernel
> virtual address of initrd.
> Copying need to be after memblock is ready, because it need to allocate
> buffer for new acpi tables.
>
> So we have to split that function to find and copy two functions.
> Find should be as early as possible. Copy should be after memblock is ready.
>
> Finding could be done in head_32.S and head64.c, just like microcode
> early scanning. In head_32.S, it is 32bit flat mode, we don't
> need to set page table to access it. In head64.c, #PF set page table
> could help us access initrd with kernel low mapping address.
>
> Copying could be done just after memblock is ready and before probing
> acpi tables, and we need to early_ioremap to access source and target
> range, as init_mem_mapping is not called yet.
>
> While a dummy version of acpi_initrd_override() was defined when
> !CONFIG_ACPI_INITRD_TABLE_OVERRIDE, the prototype and dummy version
> were conditionalized inside CONFIG_ACPI. This forced setup_arch() to
> have its own #ifdefs around acpi_initrd_override() as otherwise build
> would fail when !CONFIG_ACPI. Move the prototypes and dummy
> implementations of the newly split functions below CONFIG_ACPI block
> in acpi.h so that we can do away with #ifdefs in its user.
>
> -v2: Split one patch out according to tj.
> also don't pass table_nr around.
> -v3: Add Tj's changelog about moving down to #idef in acpi.h to
> avoid #idef in setup.c
>
> Signed-off-by: Yinghai <yinghai@...nel.org>
> Cc: Pekka Enberg <penberg@...nel.org>
> Cc: Jacob Shin <jacob.shin@....com>
> Cc: Rafael J. Wysocki <rjw@...k.pl>
> Cc: linux-acpi@...r.kernel.org
> Acked-by: Tejun Heo <tj@...nel.org>
> Tested-by: Thomas Renninger <trenn@...e.de>
> Reviewed-by: Tang Chen <tangchen@...fujitsu.com>
> Tested-by: Tang Chen <tangchen@...fujitsu.com>
Looks good to me.
Acked-by: Toshi Kani <toshi.kani@...com>
Thanks,
-Toshi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists