⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 acpitable.h

📁 一个2.4.21版本的嵌入式linux内核
💻 H
字号:
/* *  acpitable.h - x86-64-specific ACPI boot-time initialization * *  Copyright (C) 1999 Andrew Henroid *  Copyright (C) 2001 Richard Schaal *  Copyright (C) 2001 Paul Diefenbaugh <paul.s.diefenbaugh@intel.com> *  Copyright (C) 2001 Jun Nakajima <jun.nakajima@intel.com> *  Copyright (C) 2001 Arjan van de Ven <arjanv@redhat.com> *  Copyright (C) 2002 Vojtech Pavlik <vojtech@suse.cz> *//* * The following codes are cut&pasted from drivers/acpi. Part of the code * there can be not updated or delivered yet. * To avoid conflicts when CONFIG_ACPI is defined, the following codes are * modified so that they are self-contained in this file. * -- jun */#ifndef _HEADER_ACPITABLE_H_#define _HEADER_ACPITABLE_H_struct acpi_table_header {		/* ACPI common table header */	char signature[4];		/* identifies type of table */	u32 length;			/* length of table,					   in bytes, * including header */	u8 revision;			/* specification minor version # */	u8 checksum;			/* to make sum of entire table == 0 */	char oem_id[6];			/* OEM identification */	char oem_table_id[8];		/* OEM table identification */	u32 oem_revision;		/* OEM revision number */	char asl_compiler_id[4];	/* ASL compiler vendor ID */	u32 asl_compiler_revision;	/* ASL compiler revision number */} __attribute__ ((packed));;enum {	ACPI_APIC = 0,	ACPI_FACP,	ACPI_HPET,	ACPI_TABLE_COUNT};static char *acpi_table_signatures[ACPI_TABLE_COUNT] = {	"APIC",	"FACP",	"HPET"};struct acpi_table_madt {	struct acpi_table_header header;	u32 lapic_address;	struct {		u32 pcat_compat:1;		u32 reserved:31;	} flags __attribute__ ((packed));} __attribute__ ((packed));;enum {	ACPI_MADT_LAPIC = 0,	ACPI_MADT_IOAPIC,	ACPI_MADT_INT_SRC_OVR,	ACPI_MADT_NMI_SRC,	ACPI_MADT_LAPIC_NMI,	ACPI_MADT_LAPIC_ADDR_OVR,	ACPI_MADT_IOSAPIC,	ACPI_MADT_LSAPIC,	ACPI_MADT_PLAT_INT_SRC,};#define LO_RSDP_WINDOW_BASE		0	/* Physical Address */#define HI_RSDP_WINDOW_BASE		0xE0000	/* Physical Address */#define LO_RSDP_WINDOW_SIZE		0x400#define HI_RSDP_WINDOW_SIZE		0x20000#define RSDP_SCAN_STEP			16#define RSDP_CHECKSUM_LENGTH		20#define RSDP2_CHECKSUM_LENGTH		36typedef int (*acpi_table_handler) (struct acpi_table_header *header, unsigned long);struct acpi_table_rsdp {	char signature[8];	u8 checksum;	char oem_id[6];	u8 revision;	u32 rsdt_address;	u32 length;	u64 xsdt_address;	u8 checksum2;	u8 reserved[3];} __attribute__ ((packed));struct acpi_table_rsdt {	struct acpi_table_header header;	u32 entry[0];} __attribute__ ((packed));struct acpi_table_xsdt {	struct acpi_table_header header;	u64 entry[0];} __attribute__ ((packed));struct acpi_madt_entry_header {	u8 type;	u8 length;}  __attribute__ ((packed));struct acpi_madt_int_flags {	u16 polarity:2;	u16 trigger:2;	u16 reserved:12;} __attribute__ ((packed));struct acpi_table_lapic {	struct acpi_madt_entry_header header;	u8 acpi_id;	u8 id;	struct {		u32 enabled:1;		u32 reserved:31;	} flags __attribute__ ((packed));} __attribute__ ((packed));struct acpi_table_ioapic {	struct acpi_madt_entry_header header;	u8 id;	u8 reserved;	u32 address;	u32 global_irq_base;} __attribute__ ((packed));struct acpi_table_int_src_ovr {	struct acpi_madt_entry_header header;	u8 bus;	u8 bus_irq;	u32 global_irq;	struct acpi_madt_int_flags flags;} __attribute__ ((packed));struct acpi_table_nmi_src {	struct acpi_madt_entry_header header;	struct acpi_madt_int_flags flags;	u32 global_irq;} __attribute__ ((packed));struct acpi_table_lapic_nmi {	struct acpi_madt_entry_header header;	u8 acpi_id;	struct acpi_madt_int_flags flags;	u8 lint;} __attribute__ ((packed));struct acpi_table_lapic_addr_ovr {	struct acpi_madt_entry_header header;	u8 reserved[2];	u64 address;} __attribute__ ((packed));struct acpi_table_iosapic {	struct acpi_madt_entry_header header;	u8 id;	u8 reserved;	u32 global_irq_base;	u64 address;} __attribute__ ((packed));struct acpi_table_lsapic {	struct acpi_madt_entry_header header;	u8 acpi_id;	u8 id;	u8 eid;	u8 reserved[3];	struct {		u32 enabled:1;		u32 reserved:31;	} flags;} __attribute__ ((packed));struct acpi_table_plat_int_src {	struct acpi_madt_entry_header header;	struct acpi_madt_int_flags flags;	u8 type;	u8 id;	u8 eid;	u8 iosapic_vector;	u32 global_irq;	u32 reserved;} __attribute__ ((packed));#define ACPI_SPACE_MEM		0#define ACPI_SPACE_IO		1#define ACPI_SPACE_PCICONF	2struct acpi_gen_regaddr {	u8  space_id;	u8  bit_width;	u8  bit_offset;	u8  resv;	u32 addrl;	u32 addrh;} __attribute__ ((packed));struct acpi_table_hpet {	struct acpi_table_header header;	u32 id;	struct acpi_gen_regaddr addr;	u8 number;	u16 min_tick;	u8 page_protect;} __attribute__ ((packed));#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -