#define pr_fmt(fmt) …
#include <linux/init.h>
#include <linux/acpi.h>
#include <linux/acpi_pmtmr.h>
#include <linux/efi.h>
#include <linux/cpumask.h>
#include <linux/export.h>
#include <linux/dmi.h>
#include <linux/irq.h>
#include <linux/slab.h>
#include <linux/memblock.h>
#include <linux/ioport.h>
#include <linux/pci.h>
#include <linux/efi-bgrt.h>
#include <linux/serial_core.h>
#include <linux/pgtable.h>
#include <asm/e820/api.h>
#include <asm/irqdomain.h>
#include <asm/pci_x86.h>
#include <asm/io_apic.h>
#include <asm/apic.h>
#include <asm/io.h>
#include <asm/mpspec.h>
#include <asm/smp.h>
#include <asm/i8259.h>
#include <asm/setup.h>
#include "sleep.h"
static int __initdata acpi_force = …;
int acpi_disabled;
EXPORT_SYMBOL(…);
#ifdef CONFIG_X86_64
# include <asm/proto.h>
#endif
int acpi_noirq;
static int acpi_nobgrt;
int acpi_pci_disabled;
EXPORT_SYMBOL(…);
int acpi_lapic;
int acpi_ioapic;
int acpi_strict;
int acpi_disable_cmcff;
bool acpi_int_src_ovr[NR_IRQS_LEGACY];
u8 acpi_sci_flags __initdata;
u32 acpi_sci_override_gsi __initdata = …;
int acpi_skip_timer_override __initdata;
int acpi_use_timer_override __initdata;
int acpi_fix_pin2_polarity __initdata;
#ifdef CONFIG_X86_LOCAL_APIC
static u64 acpi_lapic_addr __initdata = …;
static bool has_lapic_cpus __initdata;
static bool acpi_support_online_capable;
#endif
#ifdef CONFIG_X86_IO_APIC
static DEFINE_MUTEX(acpi_ioapic_lock);
#endif
enum acpi_irq_model_id acpi_irq_model = …;
static u32 isa_irq_to_gsi[NR_IRQS_LEGACY] __read_mostly = …;
void __init __iomem *__acpi_map_table(unsigned long phys, unsigned long size)
{ … }
void __init __acpi_unmap_table(void __iomem *map, unsigned long size)
{ … }
#ifdef CONFIG_X86_LOCAL_APIC
static int __init acpi_parse_madt(struct acpi_table_header *table)
{ … }
static bool __init acpi_is_processor_usable(u32 lapic_flags)
{ … }
static int __init
acpi_parse_x2apic(union acpi_subtable_headers *header, const unsigned long end)
{ … }
static int __init
acpi_parse_lapic(union acpi_subtable_headers * header, const unsigned long end)
{ … }
static int __init
acpi_parse_sapic(union acpi_subtable_headers *header, const unsigned long end)
{ … }
static int __init
acpi_parse_lapic_addr_ovr(union acpi_subtable_headers * header,
const unsigned long end)
{ … }
static int __init
acpi_parse_x2apic_nmi(union acpi_subtable_headers *header,
const unsigned long end)
{ … }
static int __init
acpi_parse_lapic_nmi(union acpi_subtable_headers * header, const unsigned long end)
{ … }
#endif
#ifdef CONFIG_X86_IO_APIC
#define MP_ISA_BUS …
static int __init mp_register_ioapic_irq(u8 bus_irq, u8 polarity,
u8 trigger, u32 gsi);
static void __init mp_override_legacy_irq(u8 bus_irq, u8 polarity, u8 trigger,
u32 gsi)
{ … }
static void mp_config_acpi_gsi(struct device *dev, u32 gsi, int trigger,
int polarity)
{ … }
static int __init mp_register_ioapic_irq(u8 bus_irq, u8 polarity,
u8 trigger, u32 gsi)
{ … }
static int __init
acpi_parse_ioapic(union acpi_subtable_headers * header, const unsigned long end)
{ … }
static void __init acpi_sci_ioapic_setup(u8 bus_irq, u16 polarity, u16 trigger, u32 gsi)
{ … }
static int __init
acpi_parse_int_src_ovr(union acpi_subtable_headers * header,
const unsigned long end)
{ … }
static int __init
acpi_parse_nmi_src(union acpi_subtable_headers * header, const unsigned long end)
{ … }
#endif
void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger)
{ … }
int acpi_gsi_to_irq(u32 gsi, unsigned int *irqp)
{ … }
EXPORT_SYMBOL_GPL(…);
int acpi_isa_irq_to_gsi(unsigned isa_irq, u32 *gsi)
{ … }
static int acpi_register_gsi_pic(struct device *dev, u32 gsi,
int trigger, int polarity)
{ … }
#ifdef CONFIG_X86_LOCAL_APIC
static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
int trigger, int polarity)
{ … }
static void acpi_unregister_gsi_ioapic(u32 gsi)
{ … }
#endif
int (*__acpi_register_gsi)(struct device *dev, u32 gsi,
int trigger, int polarity) = …;
void (*__acpi_unregister_gsi)(u32 gsi) = …;
#ifdef CONFIG_ACPI_SLEEP
int (*acpi_suspend_lowlevel)(void) = …;
#else
int (*acpi_suspend_lowlevel)(void);
#endif
int acpi_register_gsi(struct device *dev, u32 gsi, int trigger, int polarity)
{ … }
EXPORT_SYMBOL_GPL(…);
void acpi_unregister_gsi(u32 gsi)
{ … }
EXPORT_SYMBOL_GPL(…);
#ifdef CONFIG_X86_LOCAL_APIC
static void __init acpi_set_irq_model_ioapic(void)
{ … }
#endif
#ifdef CONFIG_ACPI_HOTPLUG_CPU
#include <acpi/processor.h>
static int acpi_map_cpu2node(acpi_handle handle, int cpu, int physid)
{ … }
int acpi_map_cpu(acpi_handle handle, phys_cpuid_t physid, u32 acpi_id, int *pcpu)
{ … }
EXPORT_SYMBOL(…);
int acpi_unmap_cpu(int cpu)
{ … }
EXPORT_SYMBOL(…);
#endif
int acpi_register_ioapic(acpi_handle handle, u64 phys_addr, u32 gsi_base)
{ … }
EXPORT_SYMBOL(…);
int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base)
{ … }
EXPORT_SYMBOL(…);
int acpi_ioapic_registered(acpi_handle handle, u32 gsi_base)
{ … }
static int __init acpi_parse_sbf(struct acpi_table_header *table)
{ … }
#ifdef CONFIG_HPET_TIMER
#include <asm/hpet.h>
static struct resource *hpet_res __initdata;
static int __init acpi_parse_hpet(struct acpi_table_header *table)
{ … }
static __init int hpet_insert_resource(void)
{ … }
late_initcall(hpet_insert_resource);
#else
#define acpi_parse_hpet …
#endif
static int __init acpi_parse_fadt(struct acpi_table_header *table)
{ … }
#ifdef CONFIG_X86_LOCAL_APIC
static int __init early_acpi_parse_madt_lapic_addr_ovr(void)
{ … }
static int __init acpi_parse_madt_lapic_entries(void)
{ … }
#endif
#ifdef CONFIG_X86_IO_APIC
static void __init mp_config_acpi_legacy_irqs(void)
{ … }
static int __init acpi_parse_madt_ioapic_entries(void)
{ … }
#else
static inline int acpi_parse_madt_ioapic_entries(void)
{
return -1;
}
#endif
static void __init early_acpi_process_madt(void)
{ … }
static void __init acpi_process_madt(void)
{ … }
static int __init disable_acpi_irq(const struct dmi_system_id *d)
{ … }
static int __init disable_acpi_pci(const struct dmi_system_id *d)
{ … }
static int __init disable_acpi_xsdt(const struct dmi_system_id *d)
{ … }
static int __init dmi_disable_acpi(const struct dmi_system_id *d)
{ … }
static int __init dmi_ignore_irq0_timer_override(const struct dmi_system_id *d)
{ … }
void __init acpi_generic_reduced_hw_init(void)
{ … }
static void __init acpi_reduced_hw_init(void)
{ … }
static const struct dmi_system_id acpi_dmi_table[] __initconst = …;
static const struct dmi_system_id acpi_dmi_table_late[] __initconst = …;
void __init acpi_boot_table_init(void)
{ … }
int __init early_acpi_boot_init(void)
{ … }
int __init acpi_boot_init(void)
{ … }
static int __init parse_acpi(char *arg)
{ … }
early_param(…);
static int __init parse_acpi_bgrt(char *arg)
{ … }
early_param(…);
static int __init parse_pci(char *arg)
{ … }
early_param(…);
int __init acpi_mps_check(void)
{ … }
#ifdef CONFIG_X86_IO_APIC
static int __init parse_acpi_skip_timer_override(char *arg)
{ … }
early_param(…);
static int __init parse_acpi_use_timer_override(char *arg)
{ … }
early_param(…);
#endif
static int __init setup_acpi_sci(char *s)
{ … }
early_param(…);
int __acpi_acquire_global_lock(unsigned int *lock)
{ … }
int __acpi_release_global_lock(unsigned int *lock)
{ … }
void __init arch_reserve_mem_area(acpi_physical_address addr, size_t size)
{ … }
void x86_default_set_root_pointer(u64 addr)
{ … }
u64 x86_default_get_root_pointer(void)
{ … }