[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] ACPI: move tables.c fully into .init.*


  • To: "xen-devel" <xen-devel@xxxxxxxxxxxxx>
  • From: "Jan Beulich" <JBeulich@xxxxxxxx>
  • Date: Tue, 18 Sep 2012 16:26:30 +0100
  • Delivery-date: Tue, 18 Sep 2012 15:26:44 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

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
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.