|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] ACPI: move tables.c fully into .init.*
The only non-init item was the space reserved for the initial tables,
but we can as well dynamically allocate that array.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/drivers/acpi/Makefile
+++ b/xen/drivers/acpi/Makefile
@@ -2,7 +2,7 @@ subdir-y += tables
subdir-y += utilities
subdir-$(x86) += apei
-obj-y += tables.o
+obj-bin-y += tables.init.o
obj-y += numa.o
obj-y += osl.o
obj-y += pmstat.o
--- a/xen/drivers/acpi/tables.c
+++ b/xen/drivers/acpi/tables.c
@@ -25,6 +25,8 @@
#include <xen/init.h>
#include <xen/kernel.h>
+#include <xen/mm.h>
+#include <xen/pfn.h>
#include <xen/smp.h>
#include <xen/string.h>
#include <xen/types.h>
@@ -41,8 +43,6 @@ mps_inti_flags_polarity[] = { "dfl", "hi
static const char *__initdata
mps_inti_flags_trigger[] = { "dfl", "edge", "res", "level" };
-static struct acpi_table_desc initial_tables[ACPI_MAX_TABLES];
-
static int acpi_apic_instance __initdata;
void __init acpi_table_print_madt_entry(struct acpi_subtable_header *header)
@@ -324,6 +324,11 @@ static void __init check_multiple_madt(v
int __init acpi_table_init(void)
{
+ struct acpi_table_desc *initial_tables =
+ mfn_to_virt(alloc_boot_pages(PFN_UP(ACPI_MAX_TABLES *
+ sizeof(*initial_tables)),
+ 1));
+
acpi_initialize_tables(initial_tables, ACPI_MAX_TABLES, 0);
check_multiple_madt();
return 0;
Attachment:
ACPI-tables-init.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |