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