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

📄 actbl1.h

📁 xen虚拟机源代码安装包
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************** * * Name: actbl1.h - Additional ACPI table definitions * *****************************************************************************//* * Copyright (C) 2000 - 2007, R. Byron Moore * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions, and the following disclaimer, *    without modification. * 2. Redistributions in binary form must reproduce at minimum a disclaimer *    substantially similar to the "NO WARRANTY" disclaimer below *    ("Disclaimer") and any redistribution must be conditioned upon *    including a substantially similar Disclaimer requirement for further *    binary redistribution. * 3. Neither the names of the above-listed copyright holders nor the names *    of any contributors may be used to endorse or promote products derived *    from this software without specific prior written permission. * * Alternatively, this software may be distributed under the terms of the * GNU General Public License ("GPL") version 2 as published by the Free * Software Foundation. * * NO WARRANTY * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGES. */#ifndef __ACTBL1_H__#define __ACTBL1_H__/******************************************************************************* * * Additional ACPI Tables * * These tables are not consumed directly by the ACPICA subsystem, but are * included here to support device drivers and the AML disassembler. * ******************************************************************************//* * Values for description table header signatures. Useful because they make * it more difficult to inadvertently type in the wrong signature. */#define ACPI_SIG_ASF            "ASF!"	/* Alert Standard Format table */#define ACPI_SIG_BOOT           "BOOT"	/* Simple Boot Flag Table */#define ACPI_SIG_CPEP           "CPEP"	/* Corrected Platform Error Polling table */#define ACPI_SIG_DBGP           "DBGP"	/* Debug Port table */#define ACPI_SIG_DMAR           "DMAR"	/* DMA Remapping table */#define ACPI_SIG_ECDT           "ECDT"	/* Embedded Controller Boot Resources Table */#define ACPI_SIG_HPET           "HPET"	/* High Precision Event Timer table */#define ACPI_SIG_MADT           "APIC"	/* Multiple APIC Description Table */#define ACPI_SIG_MCFG           "MCFG"	/* PCI Memory Mapped Configuration table */#define ACPI_SIG_SBST           "SBST"	/* Smart Battery Specification Table */#define ACPI_SIG_SLIT           "SLIT"	/* System Locality Distance Information Table */#define ACPI_SIG_SPCR           "SPCR"	/* Serial Port Console Redirection table */#define ACPI_SIG_SPMI           "SPMI"	/* Server Platform Management Interface table */#define ACPI_SIG_SRAT           "SRAT"	/* System Resource Affinity Table */#define ACPI_SIG_TCPA           "TCPA"	/* Trusted Computing Platform Alliance table */#define ACPI_SIG_WDRT           "WDRT"	/* Watchdog Resource Table *//* * All tables must be byte-packed to match the ACPI specification, since * the tables are provided by the system BIOS. */#pragma pack(1)/* * Note about bitfields: The u8 type is used for bitfields in ACPI tables. * This is the only type that is even remotely portable. Anything else is not * portable, so do not use any other bitfield types. *//* Common Sub-table header (used in MADT, SRAT, etc.) */struct acpi_subtable_header {	u8 type;	u8 length;};/******************************************************************************* * * ASF - Alert Standard Format table (Signature "ASF!") * * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003 * ******************************************************************************/struct acpi_table_asf {	struct acpi_table_header header;	/* Common ACPI table header */};/* ASF subtable header */struct acpi_asf_header {	u8 type;	u8 reserved;	u16 length;};/* Values for Type field above */enum acpi_asf_type {	ACPI_ASF_TYPE_INFO = 0,	ACPI_ASF_TYPE_ALERT = 1,	ACPI_ASF_TYPE_CONTROL = 2,	ACPI_ASF_TYPE_BOOT = 3,	ACPI_ASF_TYPE_ADDRESS = 4,	ACPI_ASF_TYPE_RESERVED = 5};/* * ASF subtables *//* 0: ASF Information */struct acpi_asf_info {	struct acpi_asf_header header;	u8 min_reset_value;	u8 min_poll_interval;	u16 system_id;	u32 mfg_id;	u8 flags;	u8 reserved2[3];};/* 1: ASF Alerts */struct acpi_asf_alert {	struct acpi_asf_header header;	u8 assert_mask;	u8 deassert_mask;	u8 alerts;	u8 data_length;};struct acpi_asf_alert_data {	u8 address;	u8 command;	u8 mask;	u8 value;	u8 sensor_type;	u8 type;	u8 offset;	u8 source_type;	u8 severity;	u8 sensor_number;	u8 entity;	u8 instance;};/* 2: ASF Remote Control */struct acpi_asf_remote {	struct acpi_asf_header header;	u8 controls;	u8 data_length;	u16 reserved2;};struct acpi_asf_control_data {	u8 function;	u8 address;	u8 command;	u8 value;};/* 3: ASF RMCP Boot Options */struct acpi_asf_rmcp {	struct acpi_asf_header header;	u8 capabilities[7];	u8 completion_code;	u32 enterprise_id;	u8 command;	u16 parameter;	u16 boot_options;	u16 oem_parameters;};/* 4: ASF Address */struct acpi_asf_address {	struct acpi_asf_header header;	u8 eprom_address;	u8 devices;};/******************************************************************************* * * BOOT - Simple Boot Flag Table * ******************************************************************************/struct acpi_table_boot {	struct acpi_table_header header;	/* Common ACPI table header */	u8 cmos_index;		/* Index in CMOS RAM for the boot register */	u8 reserved[3];};/******************************************************************************* * * CPEP - Corrected Platform Error Polling table * ******************************************************************************/struct acpi_table_cpep {	struct acpi_table_header header;	/* Common ACPI table header */	u64 reserved;};/* Subtable */struct acpi_cpep_polling {	u8 type;	u8 length;	u8 id;			/* Processor ID */	u8 eid;			/* Processor EID */	u32 interval;		/* Polling interval (msec) */};/******************************************************************************* * * DBGP - Debug Port table * ******************************************************************************/struct acpi_table_dbgp {	struct acpi_table_header header;	/* Common ACPI table header */	u8 type;		/* 0=full 16550, 1=subset of 16550 */	u8 reserved[3];	struct acpi_generic_address debug_port;};/******************************************************************************* * * DMAR - DMA Remapping table * ******************************************************************************/struct acpi_table_dmar {	struct acpi_table_header header;	/* Common ACPI table header */	u8 width;		/* Host Address Width */	u8 flags;	u8 reserved[10];};/* DMAR subtable header */struct acpi_dmar_header {	u16 type;	u16 length;};/* Values for subtable type in struct acpi_dmar_header */enum acpi_dmar_type {	ACPI_DMAR_TYPE_HARDWARE_UNIT = 0,	ACPI_DMAR_TYPE_RESERVED_MEMORY = 1,	ACPI_DMAR_TYPE_ATSR = 2,	ACPI_DMAR_TYPE_RESERVED = 3	/* 3 and greater are reserved */};struct acpi_dmar_device_scope {	u8 entry_type;	u8 length;	u16 reserved;	u8 enumeration_id;	u8 bus;};/* Values for entry_type in struct acpi_dmar_device_scope */enum acpi_dmar_scope_type {	ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0,	ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1,	ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2,	ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3,	ACPI_DMAR_SCOPE_TYPE_HPET = 4,	ACPI_DMAR_SCOPE_TYPE_RESERVED = 5	/* 5 and greater are reserved */};struct acpi_dmar_pci_path {	u8 dev;	u8 fn;};/* * DMAR Sub-tables, correspond to Type in struct acpi_dmar_header *//* 0: Hardware Unit Definition */struct acpi_dmar_hardware_unit {	struct acpi_dmar_header header;	u8 flags;	u8 reserved;	u16 segment;	u64 address;		/* Register Base Address */};/* Flags */#define ACPI_DMAR_INCLUDE_ALL       (1)/* 1: Reserved Memory Defininition */struct acpi_dmar_reserved_memory {	struct acpi_dmar_header header;	u16 reserved;	u16 segment;	u64 base_address;		/* 4_k aligned base address */	u64 end_address;	/* 4_k aligned limit address */};/* Flags */#define ACPI_DMAR_ALLOW_ALL         (1)/******************************************************************************* * * ECDT - Embedded Controller Boot Resources Table * ******************************************************************************/struct acpi_table_ecdt {	struct acpi_table_header header;	/* Common ACPI table header */	struct acpi_generic_address control;	/* Address of EC command/status register */	struct acpi_generic_address data;	/* Address of EC data register */	u32 uid;		/* Unique ID - must be same as the EC _UID method */	u8 gpe;			/* The GPE for the EC */	u8 id[1];		/* Full namepath of the EC in the ACPI namespace */};/******************************************************************************* * * HPET - High Precision Event Timer table * ******************************************************************************/struct acpi_table_hpet {	struct acpi_table_header header;	/* Common ACPI table header */	u32 id;			/* Hardware ID of event timer block */	struct acpi_generic_address address;	/* Address of event timer block */	u8 sequence;		/* HPET sequence number */	u16 minimum_tick;	/* Main counter min tick, periodic mode */	u8 flags;};

⌨️ 快捷键说明

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