#define pr_fmt(fmt) …
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/smp.h>
#include <linux/string.h>
#include <linux/types.h>
#include <linux/irq.h>
#include <linux/errno.h>
#include <linux/acpi.h>
#include <linux/memblock.h>
#include <linux/earlycpio.h>
#include <linux/initrd.h>
#include <linux/security.h>
#include <linux/kmemleak.h>
#include "internal.h"
#ifdef CONFIG_ACPI_CUSTOM_DSDT
#include CONFIG_ACPI_CUSTOM_DSDT_FILE
#endif
#define ACPI_MAX_TABLES …
static char *mps_inti_flags_polarity[] = …;
static char *mps_inti_flags_trigger[] = …;
static struct acpi_table_desc initial_tables[ACPI_MAX_TABLES] __initdata;
static int acpi_apic_instance __initdata_or_acpilib;
static bool acpi_verify_table_checksum __initdata_or_acpilib = …;
void acpi_table_print_madt_entry(struct acpi_subtable_header *header)
{ … }
int __init_or_acpilib acpi_table_parse_entries_array(
char *id, unsigned long table_size, struct acpi_subtable_proc *proc,
int proc_num, unsigned int max_entries)
{ … }
static int __init_or_acpilib __acpi_table_parse_entries(
char *id, unsigned long table_size, int entry_id,
acpi_tbl_entry_handler handler, acpi_tbl_entry_handler_arg handler_arg,
void *arg, unsigned int max_entries)
{ … }
int __init_or_acpilib
acpi_table_parse_cedt(enum acpi_cedt_type id,
acpi_tbl_entry_handler_arg handler_arg, void *arg)
{ … }
EXPORT_SYMBOL_ACPI_LIB(…);
int __init acpi_table_parse_entries(char *id, unsigned long table_size,
int entry_id,
acpi_tbl_entry_handler handler,
unsigned int max_entries)
{ … }
int __init acpi_table_parse_madt(enum acpi_madt_type id,
acpi_tbl_entry_handler handler, unsigned int max_entries)
{ … }
int __init acpi_table_parse(char *id, acpi_tbl_table_handler handler)
{ … }
static void __init check_multiple_madt(void)
{ … }
static void acpi_table_taint(struct acpi_table_header *table)
{ … }
#ifdef CONFIG_ACPI_TABLE_UPGRADE
static u64 acpi_tables_addr;
static int all_tables_size;
static u8 __init acpi_table_checksum(u8 *buffer, u32 length)
{ … }
static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst = …;
#define ACPI_HEADER_SIZE …
#define NR_ACPI_INITRD_TABLES …
static struct cpio_data __initdata acpi_initrd_files[NR_ACPI_INITRD_TABLES];
static DECLARE_BITMAP(acpi_initrd_installed, NR_ACPI_INITRD_TABLES);
#define MAP_CHUNK_SIZE …
void __init acpi_table_upgrade(void)
{ … }
static acpi_status
acpi_table_initrd_override(struct acpi_table_header *existing_table,
acpi_physical_address *address, u32 *length)
{ … }
static void __init acpi_table_initrd_scan(void)
{ … }
#else
static acpi_status
acpi_table_initrd_override(struct acpi_table_header *existing_table,
acpi_physical_address *address,
u32 *table_length)
{
*table_length = 0;
*address = 0;
return AE_OK;
}
static void __init acpi_table_initrd_scan(void)
{
}
#endif
acpi_status
acpi_os_physical_table_override(struct acpi_table_header *existing_table,
acpi_physical_address *address,
u32 *table_length)
{ … }
#ifdef CONFIG_ACPI_CUSTOM_DSDT
static void *amlcode __attribute__ ((weakref("AmlCode")));
static void *dsdt_amlcode __attribute__ ((weakref("dsdt_aml_code")));
#endif
acpi_status acpi_os_table_override(struct acpi_table_header *existing_table,
struct acpi_table_header **new_table)
{ … }
int __init acpi_locate_initial_tables(void)
{ … }
void __init acpi_reserve_initial_tables(void)
{ … }
void __init acpi_table_init_complete(void)
{ … }
int __init acpi_table_init(void)
{ … }
static int __init acpi_parse_apic_instance(char *str)
{ … }
early_param(…);
static int __init acpi_force_table_verification_setup(char *s)
{ … }
early_param(…);
static int __init acpi_force_32bit_fadt_addr(char *s)
{ … }
early_param(…);