Merge branch 'acpica' into acpi-lpss
The following commits depend on the 'acpica' material.
This commit is contained in:
@@ -138,7 +138,7 @@
|
||||
|
||||
/* Maximum sleep allowed via Sleep() operator */
|
||||
|
||||
#define ACPI_MAX_SLEEP 2000 /* Two seconds */
|
||||
#define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */
|
||||
|
||||
/* Address Range lists are per-space_id (Memory and I/O only) */
|
||||
|
||||
@@ -150,11 +150,6 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/* Number of distinct GPE register blocks and register width */
|
||||
|
||||
#define ACPI_MAX_GPE_BLOCKS 2
|
||||
#define ACPI_GPE_REGISTER_WIDTH 8
|
||||
|
||||
/* Method info (in WALK_STATE), containing local variables and argumetns */
|
||||
|
||||
#define ACPI_METHOD_NUM_LOCALS 8
|
||||
@@ -163,12 +158,6 @@
|
||||
#define ACPI_METHOD_NUM_ARGS 7
|
||||
#define ACPI_METHOD_MAX_ARG 6
|
||||
|
||||
/* Length of _HID, _UID, _CID, and UUID values */
|
||||
|
||||
#define ACPI_DEVICE_ID_LENGTH 0x09
|
||||
#define ACPI_MAX_CID_LENGTH 48
|
||||
#define ACPI_UUID_LENGTH 16
|
||||
|
||||
/*
|
||||
* Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG
|
||||
*/
|
||||
@@ -186,17 +175,6 @@
|
||||
*/
|
||||
#define ACPI_RESULTS_OBJ_NUM_MAX 255
|
||||
|
||||
/* Names within the namespace are 4 bytes long */
|
||||
|
||||
#define ACPI_NAME_SIZE 4
|
||||
#define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */
|
||||
#define ACPI_PATH_SEPARATOR '.'
|
||||
|
||||
/* Sizes for ACPI table headers */
|
||||
|
||||
#define ACPI_OEM_ID_SIZE 6
|
||||
#define ACPI_OEM_TABLE_ID_SIZE 8
|
||||
|
||||
/* Constants used in searching for the RSDP in low memory */
|
||||
|
||||
#define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */
|
||||
@@ -213,6 +191,7 @@
|
||||
/* Maximum space_ids for Operation Regions */
|
||||
|
||||
#define ACPI_MAX_ADDRESS_SPACE 255
|
||||
#define ACPI_NUM_DEFAULT_SPACES 4
|
||||
|
||||
/* Array sizes. Used for range checking also */
|
||||
|
||||
|
@@ -72,6 +72,7 @@
|
||||
#define ACPI_EXAMPLE 0x00004000
|
||||
#define ACPI_DRIVER 0x00008000
|
||||
#define DT_COMPILER 0x00010000
|
||||
#define ASL_PREPROCESSOR 0x00020000
|
||||
|
||||
#define ACPI_ALL_COMPONENTS 0x0001FFFF
|
||||
#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS)
|
||||
@@ -262,18 +263,140 @@
|
||||
* Common parameters used for debug output functions:
|
||||
* line number, function name, module(file) name, component ID
|
||||
*/
|
||||
#define ACPI_DEBUG_PARAMETERS __LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
|
||||
#define ACPI_DEBUG_PARAMETERS \
|
||||
__LINE__, ACPI_GET_FUNCTION_NAME, _acpi_module_name, _COMPONENT
|
||||
|
||||
/* Check if debug output is currently dynamically enabled */
|
||||
|
||||
#define ACPI_IS_DEBUG_ENABLED(level, component) \
|
||||
((level & acpi_dbg_level) && (component & acpi_dbg_layer))
|
||||
|
||||
/*
|
||||
* Master debug print macros
|
||||
* Print message if and only if:
|
||||
* 1) Debug print for the current component is enabled
|
||||
* 2) Debug error level or trace level for the print statement is enabled
|
||||
*
|
||||
* November 2012: Moved the runtime check for whether to actually emit the
|
||||
* debug message outside of the print function itself. This improves overall
|
||||
* performance at a relatively small code cost. Implementation involves the
|
||||
* use of variadic macros supported by C99.
|
||||
*
|
||||
* Note: the ACPI_DO_WHILE0 macro is used to prevent some compilers from
|
||||
* complaining about these constructs. On other compilers the do...while
|
||||
* adds some extra code, so this feature is optional.
|
||||
*/
|
||||
#define ACPI_DEBUG_PRINT(plist) acpi_debug_print plist
|
||||
#define ACPI_DEBUG_PRINT_RAW(plist) acpi_debug_print_raw plist
|
||||
|
||||
#ifdef ACPI_USE_DO_WHILE_0
|
||||
#define ACPI_DO_WHILE0(a) do a while(0)
|
||||
#else
|
||||
#define ACPI_DO_WHILE0(a) a
|
||||
#endif
|
||||
|
||||
/* DEBUG_PRINT functions */
|
||||
|
||||
#define ACPI_DEBUG_PRINT(plist) ACPI_ACTUAL_DEBUG plist
|
||||
#define ACPI_DEBUG_PRINT_RAW(plist) ACPI_ACTUAL_DEBUG_RAW plist
|
||||
|
||||
/* Helper macros for DEBUG_PRINT */
|
||||
|
||||
#define ACPI_DO_DEBUG_PRINT(function, level, line, filename, modulename, component, ...) \
|
||||
ACPI_DO_WHILE0 ({ \
|
||||
if (ACPI_IS_DEBUG_ENABLED (level, component)) \
|
||||
{ \
|
||||
function (level, line, filename, modulename, component, __VA_ARGS__); \
|
||||
} \
|
||||
})
|
||||
|
||||
#define ACPI_ACTUAL_DEBUG(level, line, filename, modulename, component, ...) \
|
||||
ACPI_DO_DEBUG_PRINT (acpi_debug_print, level, line, \
|
||||
filename, modulename, component, __VA_ARGS__)
|
||||
|
||||
#define ACPI_ACTUAL_DEBUG_RAW(level, line, filename, modulename, component, ...) \
|
||||
ACPI_DO_DEBUG_PRINT (acpi_debug_print_raw, level, line, \
|
||||
filename, modulename, component, __VA_ARGS__)
|
||||
|
||||
/*
|
||||
* Function entry tracing
|
||||
*
|
||||
* The name of the function is emitted as a local variable that is
|
||||
* intended to be used by both the entry trace and the exit trace.
|
||||
*/
|
||||
|
||||
/* Helper macro */
|
||||
|
||||
#define ACPI_TRACE_ENTRY(name, function, cast, param) \
|
||||
ACPI_FUNCTION_NAME (name) \
|
||||
function (ACPI_DEBUG_PARAMETERS, cast (param))
|
||||
|
||||
/* The actual entry trace macros */
|
||||
|
||||
#define ACPI_FUNCTION_TRACE(name) \
|
||||
ACPI_FUNCTION_NAME(name) \
|
||||
acpi_ut_trace (ACPI_DEBUG_PARAMETERS)
|
||||
|
||||
#define ACPI_FUNCTION_TRACE_PTR(name, pointer) \
|
||||
ACPI_TRACE_ENTRY (name, acpi_ut_trace_ptr, (void *), pointer)
|
||||
|
||||
#define ACPI_FUNCTION_TRACE_U32(name, value) \
|
||||
ACPI_TRACE_ENTRY (name, acpi_ut_trace_u32, (u32), value)
|
||||
|
||||
#define ACPI_FUNCTION_TRACE_STR(name, string) \
|
||||
ACPI_TRACE_ENTRY (name, acpi_ut_trace_str, (char *), string)
|
||||
|
||||
#define ACPI_FUNCTION_ENTRY() \
|
||||
acpi_ut_track_stack_ptr()
|
||||
|
||||
/*
|
||||
* Function exit tracing
|
||||
*
|
||||
* These macros include a return statement. This is usually considered
|
||||
* bad form, but having a separate exit macro before the actual return
|
||||
* is very ugly and difficult to maintain.
|
||||
*
|
||||
* One of the FUNCTION_TRACE macros above must be used in conjunction
|
||||
* with these macros so that "_AcpiFunctionName" is defined.
|
||||
*/
|
||||
|
||||
/* Exit trace helper macro */
|
||||
|
||||
#define ACPI_TRACE_EXIT(function, cast, param) \
|
||||
ACPI_DO_WHILE0 ({ \
|
||||
function (ACPI_DEBUG_PARAMETERS, cast (param)); \
|
||||
return ((param)); \
|
||||
})
|
||||
|
||||
/* The actual exit macros */
|
||||
|
||||
#define return_VOID \
|
||||
ACPI_DO_WHILE0 ({ \
|
||||
acpi_ut_exit (ACPI_DEBUG_PARAMETERS); \
|
||||
return; \
|
||||
})
|
||||
|
||||
#define return_ACPI_STATUS(status) \
|
||||
ACPI_TRACE_EXIT (acpi_ut_status_exit, (acpi_status), status)
|
||||
|
||||
#define return_PTR(pointer) \
|
||||
ACPI_TRACE_EXIT (acpi_ut_ptr_exit, (u8 *), pointer)
|
||||
|
||||
#define return_VALUE(value) \
|
||||
ACPI_TRACE_EXIT (acpi_ut_value_exit, (u64), value)
|
||||
|
||||
/* Conditional execution */
|
||||
|
||||
#define ACPI_DEBUG_EXEC(a) a
|
||||
#define ACPI_DEBUG_ONLY_MEMBERS(a) a;
|
||||
#define _VERBOSE_STRUCTURES
|
||||
|
||||
/* Various object display routines for debug */
|
||||
|
||||
#define ACPI_DUMP_STACK_ENTRY(a) acpi_ex_dump_operand((a), 0)
|
||||
#define ACPI_DUMP_OPERANDS(a, b ,c) acpi_ex_dump_operands(a, b, c)
|
||||
#define ACPI_DUMP_ENTRY(a, b) acpi_ns_dump_entry (a, b)
|
||||
#define ACPI_DUMP_PATHNAME(a, b, c, d) acpi_ns_dump_pathname(a, b, c, d)
|
||||
#define ACPI_DUMP_BUFFER(a, b) acpi_ut_debug_dump_buffer((u8 *) a, b, DB_BYTE_DISPLAY, _COMPONENT)
|
||||
|
||||
#else /* ACPI_DEBUG_OUTPUT */
|
||||
/*
|
||||
* This is the non-debug case -- make everything go away,
|
||||
* leaving no executable debug code!
|
||||
@@ -281,6 +404,32 @@
|
||||
#define ACPI_FUNCTION_NAME(a)
|
||||
#define ACPI_DEBUG_PRINT(pl)
|
||||
#define ACPI_DEBUG_PRINT_RAW(pl)
|
||||
#define ACPI_DEBUG_EXEC(a)
|
||||
#define ACPI_DEBUG_ONLY_MEMBERS(a)
|
||||
#define ACPI_FUNCTION_TRACE(a)
|
||||
#define ACPI_FUNCTION_TRACE_PTR(a, b)
|
||||
#define ACPI_FUNCTION_TRACE_U32(a, b)
|
||||
#define ACPI_FUNCTION_TRACE_STR(a, b)
|
||||
#define ACPI_FUNCTION_EXIT
|
||||
#define ACPI_FUNCTION_STATUS_EXIT(s)
|
||||
#define ACPI_FUNCTION_VALUE_EXIT(s)
|
||||
#define ACPI_FUNCTION_ENTRY()
|
||||
#define ACPI_DUMP_STACK_ENTRY(a)
|
||||
#define ACPI_DUMP_OPERANDS(a, b, c)
|
||||
#define ACPI_DUMP_ENTRY(a, b)
|
||||
#define ACPI_DUMP_TABLES(a, b)
|
||||
#define ACPI_DUMP_PATHNAME(a, b, c, d)
|
||||
#define ACPI_DUMP_BUFFER(a, b)
|
||||
#define ACPI_DEBUG_PRINT(pl)
|
||||
#define ACPI_DEBUG_PRINT_RAW(pl)
|
||||
#define ACPI_IS_DEBUG_ENABLED(level, component) 0
|
||||
|
||||
/* Return macros must have a return statement at the minimum */
|
||||
|
||||
#define return_VOID return
|
||||
#define return_ACPI_STATUS(s) return(s)
|
||||
#define return_VALUE(s) return(s)
|
||||
#define return_PTR(s) return(s)
|
||||
|
||||
#endif /* ACPI_DEBUG_OUTPUT */
|
||||
|
||||
|
@@ -102,10 +102,8 @@ acpi_os_physical_table_override(struct acpi_table_header *existing_table,
|
||||
/*
|
||||
* Spinlock primitives
|
||||
*/
|
||||
|
||||
#ifndef acpi_os_create_lock
|
||||
acpi_status
|
||||
acpi_os_create_lock(acpi_spinlock *out_handle);
|
||||
acpi_status acpi_os_create_lock(acpi_spinlock * out_handle);
|
||||
#endif
|
||||
|
||||
void acpi_os_delete_lock(acpi_spinlock handle);
|
||||
@@ -148,6 +146,8 @@ void acpi_os_release_mutex(acpi_mutex handle);
|
||||
*/
|
||||
void *acpi_os_allocate(acpi_size size);
|
||||
|
||||
void acpi_os_free(void *memory);
|
||||
|
||||
void __iomem *acpi_os_map_memory(acpi_physical_address where,
|
||||
acpi_size length);
|
||||
|
||||
@@ -180,12 +180,13 @@ acpi_status acpi_os_release_object(acpi_cache_t * cache, void *object);
|
||||
* Interrupt handlers
|
||||
*/
|
||||
acpi_status
|
||||
acpi_os_install_interrupt_handler(u32 gsi,
|
||||
acpi_os_install_interrupt_handler(u32 interrupt_number,
|
||||
acpi_osd_handler service_routine,
|
||||
void *context);
|
||||
|
||||
acpi_status
|
||||
acpi_os_remove_interrupt_handler(u32 gsi, acpi_osd_handler service_routine);
|
||||
acpi_os_remove_interrupt_handler(u32 interrupt_number,
|
||||
acpi_osd_handler service_routine);
|
||||
|
||||
void acpi_os_gpe_count(u32 gpe_number);
|
||||
void acpi_os_fixed_event_count(u32 fixed_event_number);
|
||||
|
@@ -46,7 +46,7 @@
|
||||
|
||||
/* Current ACPICA subsystem version in YYYYMMDD format */
|
||||
|
||||
#define ACPI_CA_VERSION 0x20121018
|
||||
#define ACPI_CA_VERSION 0x20121220
|
||||
|
||||
#include <acpi/acconfig.h>
|
||||
#include <acpi/actypes.h>
|
||||
@@ -56,11 +56,20 @@
|
||||
extern u8 acpi_gbl_permanent_mmap;
|
||||
|
||||
/*
|
||||
* Globals that are publicly available, allowing for
|
||||
* run time configuration
|
||||
* Globals that are publically available
|
||||
*/
|
||||
extern u32 acpi_current_gpe_count;
|
||||
extern struct acpi_table_fadt acpi_gbl_FADT;
|
||||
extern u8 acpi_gbl_system_awake_and_running;
|
||||
extern u8 acpi_gbl_reduced_hardware; /* ACPI 5.0 */
|
||||
|
||||
/* Runtime configuration of debug print levels */
|
||||
|
||||
extern u32 acpi_dbg_level;
|
||||
extern u32 acpi_dbg_layer;
|
||||
|
||||
/* ACPICA runtime options */
|
||||
|
||||
extern u8 acpi_gbl_enable_interpreter_slack;
|
||||
extern u8 acpi_gbl_all_methods_serialized;
|
||||
extern u8 acpi_gbl_create_osi_method;
|
||||
@@ -99,14 +108,9 @@ extern u8 acpi_gbl_disable_auto_repair;
|
||||
|
||||
#endif /* !ACPI_REDUCED_HARDWARE */
|
||||
|
||||
extern u32 acpi_current_gpe_count;
|
||||
extern struct acpi_table_fadt acpi_gbl_FADT;
|
||||
extern u8 acpi_gbl_system_awake_and_running;
|
||||
extern u8 acpi_gbl_reduced_hardware; /* ACPI 5.0 */
|
||||
|
||||
extern u32 acpi_rsdt_forced;
|
||||
/*
|
||||
* Global interfaces
|
||||
* Initialization
|
||||
*/
|
||||
acpi_status
|
||||
acpi_initialize_tables(struct acpi_table_desc *initial_storage,
|
||||
@@ -120,13 +124,15 @@ acpi_status acpi_initialize_objects(u32 flags);
|
||||
|
||||
acpi_status acpi_terminate(void);
|
||||
|
||||
/*
|
||||
* Miscellaneous global interfaces
|
||||
*/
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void))
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void))
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
acpi_status acpi_subsystem_status(void);
|
||||
#endif
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_enable(void))
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status acpi_disable(void))
|
||||
|
||||
#ifdef ACPI_FUTURE_USAGE
|
||||
acpi_status acpi_get_system_info(struct acpi_buffer *ret_buffer);
|
||||
#endif
|
||||
@@ -191,9 +197,9 @@ acpi_status
|
||||
acpi_get_table_by_index(u32 table_index, struct acpi_table_header **out_table);
|
||||
|
||||
acpi_status
|
||||
acpi_install_table_handler(acpi_tbl_handler handler, void *context);
|
||||
acpi_install_table_handler(acpi_table_handler handler, void *context);
|
||||
|
||||
acpi_status acpi_remove_table_handler(acpi_tbl_handler handler);
|
||||
acpi_status acpi_remove_table_handler(acpi_table_handler handler);
|
||||
|
||||
/*
|
||||
* Namespace and name interfaces
|
||||
@@ -437,6 +443,11 @@ acpi_status
|
||||
acpi_get_event_resources(acpi_handle device_handle,
|
||||
struct acpi_buffer *ret_buffer);
|
||||
|
||||
acpi_status
|
||||
acpi_walk_resource_buffer(struct acpi_buffer *buffer,
|
||||
acpi_walk_resource_callback user_function,
|
||||
void *context);
|
||||
|
||||
acpi_status
|
||||
acpi_walk_resources(acpi_handle device,
|
||||
char *name,
|
||||
@@ -462,6 +473,10 @@ acpi_buffer_to_resource(u8 *aml_buffer,
|
||||
*/
|
||||
acpi_status acpi_reset(void);
|
||||
|
||||
acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg);
|
||||
|
||||
acpi_status acpi_write(u64 value, struct acpi_generic_address *reg);
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_read_bit_register(u32 register_id,
|
||||
u32 *return_value))
|
||||
@@ -470,20 +485,6 @@ ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_write_bit_register(u32 register_id,
|
||||
u32 value))
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_set_firmware_waking_vector(u32
|
||||
physical_address))
|
||||
|
||||
#if ACPI_MACHINE_WIDTH == 64
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_set_firmware_waking_vector64(u64
|
||||
physical_address))
|
||||
#endif
|
||||
|
||||
acpi_status acpi_read(u64 *value, struct acpi_generic_address *reg);
|
||||
|
||||
acpi_status acpi_write(u64 value, struct acpi_generic_address *reg);
|
||||
|
||||
/*
|
||||
* Sleep/Wake interfaces
|
||||
*/
|
||||
@@ -500,6 +501,15 @@ acpi_status acpi_leave_sleep_state_prep(u8 sleep_state);
|
||||
|
||||
acpi_status acpi_leave_sleep_state(u8 sleep_state);
|
||||
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_set_firmware_waking_vector(u32
|
||||
physical_address))
|
||||
|
||||
#if ACPI_MACHINE_WIDTH == 64
|
||||
ACPI_HW_DEPENDENT_RETURN_STATUS(acpi_status
|
||||
acpi_set_firmware_waking_vector64(u64
|
||||
physical_address))
|
||||
#endif
|
||||
/*
|
||||
* ACPI Timer interfaces
|
||||
*/
|
||||
|
@@ -102,8 +102,11 @@ typedef u32 acpi_rsdesc_size; /* Max Resource Descriptor size is (Length+3) = (6
|
||||
|
||||
#define ACPI_EXCLUSIVE (u8) 0x00
|
||||
#define ACPI_SHARED (u8) 0x01
|
||||
#define ACPI_EXCLUSIVE_AND_WAKE (u8) 0x02
|
||||
#define ACPI_SHARED_AND_WAKE (u8) 0x03
|
||||
|
||||
/* Wake */
|
||||
|
||||
#define ACPI_NOT_WAKE_CAPABLE (u8) 0x00
|
||||
#define ACPI_WAKE_CAPABLE (u8) 0x01
|
||||
|
||||
/*
|
||||
* DMA Attributes
|
||||
@@ -171,6 +174,7 @@ struct acpi_resource_irq {
|
||||
u8 triggering;
|
||||
u8 polarity;
|
||||
u8 sharable;
|
||||
u8 wake_capable;
|
||||
u8 interrupt_count;
|
||||
u8 interrupts[1];
|
||||
};
|
||||
@@ -346,6 +350,7 @@ struct acpi_resource_extended_irq {
|
||||
u8 triggering;
|
||||
u8 polarity;
|
||||
u8 sharable;
|
||||
u8 wake_capable;
|
||||
u8 interrupt_count;
|
||||
struct acpi_resource_source resource_source;
|
||||
u32 interrupts[1];
|
||||
@@ -365,6 +370,7 @@ struct acpi_resource_gpio {
|
||||
u8 producer_consumer; /* For values, see Producer/Consumer above */
|
||||
u8 pin_config;
|
||||
u8 sharable; /* For values, see Interrupt Attributes above */
|
||||
u8 wake_capable; /* For values, see Interrupt Attributes above */
|
||||
u8 io_restriction;
|
||||
u8 triggering; /* For values, see Interrupt Attributes above */
|
||||
u8 polarity; /* For values, see Interrupt Attributes above */
|
||||
@@ -591,7 +597,10 @@ struct acpi_resource {
|
||||
#define ACPI_RS_SIZE_MIN (u32) ACPI_ROUND_UP_TO_NATIVE_WORD (12)
|
||||
#define ACPI_RS_SIZE(type) (u32) (ACPI_RS_SIZE_NO_DATA + sizeof (type))
|
||||
|
||||
#define ACPI_NEXT_RESOURCE(res) (struct acpi_resource *)((u8 *) res + res->length)
|
||||
/* Macro for walking resource templates with multiple descriptors */
|
||||
|
||||
#define ACPI_NEXT_RESOURCE(res) \
|
||||
ACPI_ADD_PTR (struct acpi_resource, (res), (res)->length)
|
||||
|
||||
struct acpi_pci_routing_table {
|
||||
u32 length;
|
||||
|
@@ -326,8 +326,6 @@ enum acpi_preferred_pm_profiles {
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#define ACPI_FADT_OFFSET(f) (u16) ACPI_OFFSET (struct acpi_table_fadt, f)
|
||||
|
||||
/*
|
||||
* Internal table-related structures
|
||||
*/
|
||||
@@ -359,11 +357,14 @@ struct acpi_table_desc {
|
||||
/*
|
||||
* Get the remaining ACPI tables
|
||||
*/
|
||||
|
||||
#include <acpi/actbl1.h>
|
||||
#include <acpi/actbl2.h>
|
||||
#include <acpi/actbl3.h>
|
||||
|
||||
/* Macros used to generate offsets to specific table fields */
|
||||
|
||||
#define ACPI_FADT_OFFSET(f) (u16) ACPI_OFFSET (struct acpi_table_fadt, f)
|
||||
|
||||
/*
|
||||
* Sizes of the various flavors of FADT. We need to look closely
|
||||
* at the FADT length because the version number essentially tells
|
||||
|
@@ -768,7 +768,7 @@ struct acpi_madt_interrupt_source {
|
||||
|
||||
struct acpi_madt_local_x2apic {
|
||||
struct acpi_subtable_header header;
|
||||
u16 reserved; /* Reserved - must be zero */
|
||||
u16 reserved; /* reserved - must be zero */
|
||||
u32 local_apic_id; /* Processor x2APIC ID */
|
||||
u32 lapic_flags;
|
||||
u32 uid; /* ACPI processor UID */
|
||||
@@ -781,14 +781,14 @@ struct acpi_madt_local_x2apic_nmi {
|
||||
u16 inti_flags;
|
||||
u32 uid; /* ACPI processor UID */
|
||||
u8 lint; /* LINTn to which NMI is connected */
|
||||
u8 reserved[3];
|
||||
u8 reserved[3]; /* reserved - must be zero */
|
||||
};
|
||||
|
||||
/* 11: Generic Interrupt (ACPI 5.0) */
|
||||
|
||||
struct acpi_madt_generic_interrupt {
|
||||
struct acpi_subtable_header header;
|
||||
u16 reserved; /* Reserved - must be zero */
|
||||
u16 reserved; /* reserved - must be zero */
|
||||
u32 gic_id;
|
||||
u32 uid;
|
||||
u32 flags;
|
||||
|
@@ -261,9 +261,28 @@ struct acpi_csrt_group {
|
||||
u16 subdevice_id;
|
||||
u16 revision;
|
||||
u16 reserved;
|
||||
u32 info_length;
|
||||
u32 shared_info_length;
|
||||
|
||||
/* Shared data (length = info_length) immediately follows */
|
||||
/* Shared data immediately follows (Length = shared_info_length) */
|
||||
};
|
||||
|
||||
/* Shared Info subtable */
|
||||
|
||||
struct acpi_csrt_shared_info {
|
||||
u16 major_version;
|
||||
u16 minor_version;
|
||||
u32 mmio_base_low;
|
||||
u32 mmio_base_high;
|
||||
u32 gsi_interrupt;
|
||||
u8 interrupt_polarity;
|
||||
u8 interrupt_mode;
|
||||
u8 num_channels;
|
||||
u8 dma_address_width;
|
||||
u16 base_request_line;
|
||||
u16 num_handshake_signals;
|
||||
u32 max_block_size;
|
||||
|
||||
/* Resource descriptors immediately follow (Length = Group length - shared_info_length) */
|
||||
};
|
||||
|
||||
/* Resource Descriptor subtable */
|
||||
|
@@ -68,13 +68,13 @@
|
||||
#define ACPI_SIG_PCCT "PCCT" /* Platform Communications Channel Table */
|
||||
#define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */
|
||||
#define ACPI_SIG_RASF "RASF" /* RAS Feature table */
|
||||
#define ACPI_SIG_TPM2 "TPM2" /* Trusted Platform Module 2.0 H/W interface table */
|
||||
|
||||
#define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */
|
||||
#define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */
|
||||
|
||||
/* Reserved table signatures */
|
||||
|
||||
#define ACPI_SIG_CSRT "CSRT" /* Core System Resources Table */
|
||||
#define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */
|
||||
#define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */
|
||||
#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */
|
||||
@@ -550,6 +550,36 @@ enum acpi_rasf_status {
|
||||
#define ACPI_RASF_ERROR (1<<2)
|
||||
#define ACPI_RASF_STATUS (0x1F<<3)
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
* TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table
|
||||
* Version 3
|
||||
*
|
||||
* Conforms to "TPM 2.0 Hardware Interface Table (TPM2)" 29 November 2011
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
struct acpi_table_tpm2 {
|
||||
struct acpi_table_header header; /* Common ACPI table header */
|
||||
u32 flags;
|
||||
u64 control_address;
|
||||
u32 start_method;
|
||||
};
|
||||
|
||||
/* Control area structure (not part of table, pointed to by control_address) */
|
||||
|
||||
struct acpi_tpm2_control {
|
||||
u32 reserved;
|
||||
u32 error;
|
||||
u32 cancel;
|
||||
u32 start;
|
||||
u64 interrupt_control;
|
||||
u32 command_size;
|
||||
u64 command_address;
|
||||
u32 response_size;
|
||||
u64 response_address;
|
||||
};
|
||||
|
||||
/* Reset to default packing */
|
||||
|
||||
#pragma pack()
|
||||
|
@@ -341,7 +341,7 @@ typedef u32 acpi_physical_address;
|
||||
|
||||
/* PM Timer ticks per second (HZ) */
|
||||
|
||||
#define PM_TIMER_FREQUENCY 3579545
|
||||
#define ACPI_PM_TIMER_FREQUENCY 3579545
|
||||
|
||||
/*******************************************************************************
|
||||
*
|
||||
@@ -373,6 +373,21 @@ typedef u32 acpi_name; /* 4-byte ACPI name */
|
||||
typedef char *acpi_string; /* Null terminated ASCII string */
|
||||
typedef void *acpi_handle; /* Actually a ptr to a NS Node */
|
||||
|
||||
/* Time constants for timer calculations */
|
||||
|
||||
#define ACPI_MSEC_PER_SEC 1000L
|
||||
|
||||
#define ACPI_USEC_PER_MSEC 1000L
|
||||
#define ACPI_USEC_PER_SEC 1000000L
|
||||
|
||||
#define ACPI_100NSEC_PER_USEC 10L
|
||||
#define ACPI_100NSEC_PER_MSEC 10000L
|
||||
#define ACPI_100NSEC_PER_SEC 10000000L
|
||||
|
||||
#define ACPI_NSEC_PER_USEC 1000L
|
||||
#define ACPI_NSEC_PER_MSEC 1000000L
|
||||
#define ACPI_NSEC_PER_SEC 1000000000L
|
||||
|
||||
/* Owner IDs are used to track namespace nodes for selective deletion */
|
||||
|
||||
typedef u8 acpi_owner_id;
|
||||
@@ -390,10 +405,6 @@ typedef u8 acpi_owner_id;
|
||||
#define ACPI_MAX16_DECIMAL_DIGITS 5
|
||||
#define ACPI_MAX8_DECIMAL_DIGITS 3
|
||||
|
||||
/* PM Timer ticks per second (HZ) */
|
||||
|
||||
#define PM_TIMER_FREQUENCY 3579545
|
||||
|
||||
/*
|
||||
* Constants with special meanings
|
||||
*/
|
||||
@@ -474,6 +485,7 @@ typedef u64 acpi_integer;
|
||||
*/
|
||||
#define ACPI_FULL_INITIALIZATION 0x00
|
||||
#define ACPI_NO_ADDRESS_SPACE_INIT 0x01
|
||||
#define ACPI_NO_HARDWARE_INIT 0x02
|
||||
#define ACPI_NO_EVENT_INIT 0x04
|
||||
#define ACPI_NO_HANDLER_INIT 0x08
|
||||
#define ACPI_NO_ACPI_ENABLE 0x10
|
||||
@@ -595,7 +607,7 @@ typedef u32 acpi_object_type;
|
||||
|
||||
/*
|
||||
* These are special object types that never appear in
|
||||
* a Namespace node, only in a union acpi_operand_object
|
||||
* a Namespace node, only in an object of union acpi_operand_object
|
||||
*/
|
||||
#define ACPI_TYPE_LOCAL_EXTRA 0x1C
|
||||
#define ACPI_TYPE_LOCAL_DATA 0x1D
|
||||
@@ -662,7 +674,7 @@ typedef u32 acpi_event_status;
|
||||
#define ACPI_GPE_MAX 0xFF
|
||||
#define ACPI_NUM_GPE 256
|
||||
|
||||
/* Actions for acpi_set_gpe_wake_mask, acpi_hw_low_set_gpe */
|
||||
/* Actions for acpi_set_gpe, acpi_gpe_wakeup, acpi_hw_low_set_gpe */
|
||||
|
||||
#define ACPI_GPE_ENABLE 0
|
||||
#define ACPI_GPE_DISABLE 1
|
||||
@@ -880,6 +892,10 @@ struct acpi_buffer {
|
||||
void *pointer; /* pointer to buffer */
|
||||
};
|
||||
|
||||
/* Free a buffer created in an struct acpi_buffer via ACPI_ALLOCATE_LOCAL_BUFFER */
|
||||
|
||||
#define ACPI_FREE_BUFFER(b) ACPI_FREE(b.pointer)
|
||||
|
||||
/*
|
||||
* name_type for acpi_get_name
|
||||
*/
|
||||
@@ -968,7 +984,11 @@ acpi_status(*acpi_exception_handler) (acpi_status aml_status,
|
||||
/* Table Event handler (Load, load_table, etc.) and types */
|
||||
|
||||
typedef
|
||||
acpi_status(*acpi_tbl_handler) (u32 event, void *table, void *context);
|
||||
acpi_status(*acpi_table_handler) (u32 event, void *table, void *context);
|
||||
|
||||
#define ACPI_TABLE_LOAD 0x0
|
||||
#define ACPI_TABLE_UNLOAD 0x1
|
||||
#define ACPI_NUM_TABLE_EVENTS 2
|
||||
|
||||
/* Address Spaces (For Operation Regions) */
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Name: acenv.h - Generation environment specific items
|
||||
* Name: acenv.h - Host and compiler configuration
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@@ -44,6 +44,12 @@
|
||||
#ifndef __ACENV_H__
|
||||
#define __ACENV_H__
|
||||
|
||||
/*
|
||||
* Environment configuration. The purpose of this file is to interface ACPICA
|
||||
* to the local environment. This includes compiler-specific, OS-specific,
|
||||
* and machine-specific configuration.
|
||||
*/
|
||||
|
||||
/* Types for ACPI_MUTEX_TYPE */
|
||||
|
||||
#define ACPI_BINARY_SEMAPHORE 0
|
||||
@@ -60,145 +66,200 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#ifdef ACPI_LIBRARY
|
||||
/*
|
||||
* Note: The non-debug version of the acpi_library does not contain any
|
||||
* debug support, for minimal size. The debug version uses ACPI_FULL_DEBUG
|
||||
*/
|
||||
#define ACPI_USE_LOCAL_CACHE
|
||||
#endif
|
||||
/* iASL configuration */
|
||||
|
||||
#ifdef ACPI_ASL_COMPILER
|
||||
#define ACPI_DEBUG_OUTPUT
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_DISASSEMBLER
|
||||
#define ACPI_DEBUG_OUTPUT
|
||||
#define ACPI_CONSTANT_EVAL_ONLY
|
||||
#define ACPI_LARGE_NAMESPACE_NODE
|
||||
#define ACPI_DATA_TABLE_DISASSEMBLY
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
/* acpi_exec configuration. Multithreaded with full AML debugger */
|
||||
|
||||
#ifdef ACPI_EXEC_APP
|
||||
#undef DEBUGGER_THREADING
|
||||
#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED
|
||||
#define ACPI_FULL_DEBUG
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_DEBUGGER
|
||||
#define ACPI_FULL_DEBUG
|
||||
#define ACPI_MUTEX_DEBUG
|
||||
#define ACPI_DBG_TRACK_ALLOCATIONS
|
||||
#endif
|
||||
|
||||
/* acpi_names configuration. Single threaded with debugger output enabled. */
|
||||
|
||||
#ifdef ACPI_NAMES_APP
|
||||
#define ACPI_DEBUGGER
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
/*
|
||||
* acpi_bin/acpi_help/acpi_src configuration. All single threaded, with
|
||||
* no debug output.
|
||||
*/
|
||||
#if (defined ACPI_BIN_APP) || \
|
||||
(defined ACPI_SRC_APP) || \
|
||||
(defined ACPI_XTRACT_APP)
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#endif
|
||||
|
||||
#ifdef ACPI_HELP_APP
|
||||
#define ACPI_APPLICATION
|
||||
#define ACPI_SINGLE_THREADED
|
||||
#define ACPI_NO_ERROR_MESSAGES
|
||||
#endif
|
||||
|
||||
/* Linkable ACPICA library */
|
||||
|
||||
#ifdef ACPI_LIBRARY
|
||||
#define ACPI_USE_LOCAL_CACHE
|
||||
#define ACPI_FUTURE_USAGE
|
||||
#endif
|
||||
|
||||
/* Common for all ACPICA applications */
|
||||
|
||||
#ifdef ACPI_APPLICATION
|
||||
#define ACPI_USE_SYSTEM_CLIBRARY
|
||||
#define ACPI_USE_LOCAL_CACHE
|
||||
#endif
|
||||
|
||||
/* Common debug support */
|
||||
|
||||
#ifdef ACPI_FULL_DEBUG
|
||||
#define ACPI_DEBUGGER
|
||||
#define ACPI_DEBUG_OUTPUT
|
||||
#define ACPI_DISASSEMBLER
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Environment configuration. The purpose of this file is to interface to the
|
||||
* local generation environment.
|
||||
*
|
||||
* 1) ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library.
|
||||
* Otherwise, local versions of string/memory functions will be used.
|
||||
* 2) ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and
|
||||
* the standard header files may be used.
|
||||
*
|
||||
* The ACPI subsystem only uses low level C library functions that do not call
|
||||
* operating system services and may therefore be inlined in the code.
|
||||
*
|
||||
* It may be necessary to tailor these include files to the target
|
||||
* generation environment.
|
||||
*
|
||||
*
|
||||
* Functions and constants used from each header:
|
||||
*
|
||||
* string.h: memcpy
|
||||
* memset
|
||||
* strcat
|
||||
* strcmp
|
||||
* strcpy
|
||||
* strlen
|
||||
* strncmp
|
||||
* strncat
|
||||
* strncpy
|
||||
*
|
||||
* stdlib.h: strtoul
|
||||
*
|
||||
* stdarg.h: va_list
|
||||
* va_arg
|
||||
* va_start
|
||||
* va_end
|
||||
*
|
||||
*/
|
||||
|
||||
/*! [Begin] no source code translation */
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Host configuration files. The compiler configuration files are included
|
||||
* by the host files.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#if defined(_LINUX) || defined(__linux__)
|
||||
#include <acpi/platform/aclinux.h>
|
||||
|
||||
#elif defined(_AED_EFI)
|
||||
#include "acefi.h"
|
||||
|
||||
#elif defined(WIN32)
|
||||
#include "acwin.h"
|
||||
|
||||
#elif defined(WIN64)
|
||||
#include "acwin64.h"
|
||||
|
||||
#elif defined(MSDOS) /* Must appear after WIN32 and WIN64 check */
|
||||
#include "acdos16.h"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
|
||||
#include "acfreebsd.h"
|
||||
|
||||
#elif defined(__NetBSD__)
|
||||
#include "acnetbsd.h"
|
||||
|
||||
#elif defined(__sun)
|
||||
#include "acsolaris.h"
|
||||
|
||||
#elif defined(MODESTO)
|
||||
#include "acmodesto.h"
|
||||
|
||||
#elif defined(NETWARE)
|
||||
#include "acnetware.h"
|
||||
|
||||
#elif defined(__sun)
|
||||
#include "acsolaris.h"
|
||||
#elif defined(_CYGWIN)
|
||||
#include "accygwin.h"
|
||||
|
||||
#elif defined(WIN32)
|
||||
#include "acwin.h"
|
||||
|
||||
#elif defined(WIN64)
|
||||
#include "acwin64.h"
|
||||
|
||||
#elif defined(_WRS_LIB_BUILD)
|
||||
#include "acvxworks.h"
|
||||
|
||||
#elif defined(__OS2__)
|
||||
#include "acos2.h"
|
||||
|
||||
#elif defined(_AED_EFI)
|
||||
#include "acefi.h"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
#include "achaiku.h"
|
||||
|
||||
#else
|
||||
|
||||
/* All other environments */
|
||||
|
||||
#define ACPI_USE_STANDARD_HEADERS
|
||||
|
||||
#define COMPILER_DEPENDENT_INT64 long long
|
||||
#define COMPILER_DEPENDENT_UINT64 unsigned long long
|
||||
/* Unknown environment */
|
||||
|
||||
#error Unknown target environment
|
||||
#endif
|
||||
|
||||
/*! [End] no source code translation !*/
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Miscellaneous configuration
|
||||
* Setup defaults for the required symbols that were not defined in one of
|
||||
* the host/compiler files above.
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Are mutexes supported by the host? default is no, use binary semaphores.
|
||||
*/
|
||||
/* 64-bit data types */
|
||||
|
||||
#ifndef COMPILER_DEPENDENT_INT64
|
||||
#define COMPILER_DEPENDENT_INT64 long long
|
||||
#endif
|
||||
|
||||
#ifndef COMPILER_DEPENDENT_UINT64
|
||||
#define COMPILER_DEPENDENT_UINT64 unsigned long long
|
||||
#endif
|
||||
|
||||
/* Type of mutex supported by host. Default is binary semaphores. */
|
||||
#ifndef ACPI_MUTEX_TYPE
|
||||
#define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE
|
||||
#endif
|
||||
|
||||
/* Global Lock acquire/release */
|
||||
|
||||
#ifndef ACPI_ACQUIRE_GLOBAL_LOCK
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(Glptr, acquired) acquired = 1
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_RELEASE_GLOBAL_LOCK
|
||||
#define ACPI_RELEASE_GLOBAL_LOCK(Glptr, pending) pending = 0
|
||||
#endif
|
||||
|
||||
/* Flush CPU cache - used when going to sleep. Wbinvd or similar. */
|
||||
|
||||
#ifndef ACPI_FLUSH_CPU_CACHE
|
||||
#define ACPI_FLUSH_CPU_CACHE()
|
||||
#endif
|
||||
|
||||
/* "inline" keywords - configurable since inline is not standardized */
|
||||
|
||||
#ifndef ACPI_INLINE
|
||||
#define ACPI_INLINE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Configurable calling conventions:
|
||||
*
|
||||
* ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads)
|
||||
* ACPI_EXTERNAL_XFACE - External ACPI interfaces
|
||||
* ACPI_INTERNAL_XFACE - Internal ACPI interfaces
|
||||
* ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces
|
||||
*/
|
||||
#ifndef ACPI_SYSTEM_XFACE
|
||||
#define ACPI_SYSTEM_XFACE
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_EXTERNAL_XFACE
|
||||
#define ACPI_EXTERNAL_XFACE
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_INTERNAL_XFACE
|
||||
#define ACPI_INTERNAL_XFACE
|
||||
#endif
|
||||
|
||||
#ifndef ACPI_INTERNAL_VAR_XFACE
|
||||
#define ACPI_INTERNAL_VAR_XFACE
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Debugger threading model
|
||||
* Use single threaded if the entire subsystem is contained in an application
|
||||
@@ -222,17 +283,26 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
#define ACPI_IS_ASCII(c) ((c) < 0x80)
|
||||
|
||||
/*
|
||||
* ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library.
|
||||
* Otherwise, local versions of string/memory functions will be used.
|
||||
* ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and
|
||||
* the standard header files may be used.
|
||||
*
|
||||
* The ACPICA subsystem only uses low level C library functions that do not call
|
||||
* operating system services and may therefore be inlined in the code.
|
||||
*
|
||||
* It may be necessary to tailor these include files to the target
|
||||
* generation environment.
|
||||
*/
|
||||
#ifdef ACPI_USE_SYSTEM_CLIBRARY
|
||||
/*
|
||||
* Use the standard C library headers.
|
||||
* We want to keep these to a minimum.
|
||||
*/
|
||||
|
||||
/* Use the standard C library headers. We want to keep these to a minimum. */
|
||||
|
||||
#ifdef ACPI_USE_STANDARD_HEADERS
|
||||
/*
|
||||
* Use the standard headers from the standard locations
|
||||
*/
|
||||
|
||||
/* Use the standard headers from the standard locations */
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -240,9 +310,8 @@
|
||||
|
||||
#endif /* ACPI_USE_STANDARD_HEADERS */
|
||||
|
||||
/*
|
||||
* We will be linking to the standard Clib functions
|
||||
*/
|
||||
/* We will be linking to the standard Clib functions */
|
||||
|
||||
#define ACPI_STRSTR(s1,s2) strstr((s1), (s2))
|
||||
#define ACPI_STRCHR(s1,c) strchr((s1), (c))
|
||||
#define ACPI_STRLEN(s) (acpi_size) strlen((s))
|
||||
@@ -274,13 +343,12 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Use local definitions of C library macros and functions
|
||||
* NOTE: The function implementations may not be as efficient
|
||||
* as an inline or assembly code implementation provided by a
|
||||
* native C library.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Use local definitions of C library macros and functions. These function
|
||||
* implementations may not be as efficient as an inline or assembly code
|
||||
* implementation provided by a native C library, but they are functionally
|
||||
* equivalent.
|
||||
*/
|
||||
#ifndef va_arg
|
||||
|
||||
#ifndef _VALIST
|
||||
@@ -288,22 +356,22 @@
|
||||
typedef char *va_list;
|
||||
#endif /* _VALIST */
|
||||
|
||||
/*
|
||||
* Storage alignment properties
|
||||
*/
|
||||
/* Storage alignment properties */
|
||||
|
||||
#define _AUPBND (sizeof (acpi_native_int) - 1)
|
||||
#define _ADNBND (sizeof (acpi_native_int) - 1)
|
||||
|
||||
/*
|
||||
* Variable argument list macro definitions
|
||||
*/
|
||||
/* Variable argument list macro definitions */
|
||||
|
||||
#define _bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd)))
|
||||
#define va_arg(ap, T) (*(T *)(((ap) += (_bnd (T, _AUPBND))) - (_bnd (T,_ADNBND))))
|
||||
#define va_end(ap) (void) 0
|
||||
#define va_end(ap) (ap = (va_list) NULL)
|
||||
#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_bnd (A,_AUPBND))))
|
||||
|
||||
#endif /* va_arg */
|
||||
|
||||
/* Use the local (ACPICA) definitions of the clib functions */
|
||||
|
||||
#define ACPI_STRSTR(s1,s2) acpi_ut_strstr ((s1), (s2))
|
||||
#define ACPI_STRCHR(s1,c) acpi_ut_strchr ((s1), (c))
|
||||
#define ACPI_STRLEN(s) (acpi_size) acpi_ut_strlen ((s))
|
||||
@@ -322,59 +390,4 @@ typedef char *va_list;
|
||||
|
||||
#endif /* ACPI_USE_SYSTEM_CLIBRARY */
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Assembly code macros
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* Handle platform- and compiler-specific assembly language differences.
|
||||
* These should already have been defined by the platform includes above.
|
||||
*
|
||||
* Notes:
|
||||
* 1) Interrupt 3 is used to break into a debugger
|
||||
* 2) Interrupts are turned off during ACPI register setup
|
||||
*/
|
||||
|
||||
/* Unrecognized compiler, use defaults */
|
||||
|
||||
#ifndef ACPI_ASM_MACROS
|
||||
|
||||
/*
|
||||
* Calling conventions:
|
||||
*
|
||||
* ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads)
|
||||
* ACPI_EXTERNAL_XFACE - External ACPI interfaces
|
||||
* ACPI_INTERNAL_XFACE - Internal ACPI interfaces
|
||||
* ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces
|
||||
*/
|
||||
#define ACPI_SYSTEM_XFACE
|
||||
#define ACPI_EXTERNAL_XFACE
|
||||
#define ACPI_INTERNAL_XFACE
|
||||
#define ACPI_INTERNAL_VAR_XFACE
|
||||
|
||||
#define ACPI_ASM_MACROS
|
||||
#define BREAKPOINT3
|
||||
#define ACPI_DISABLE_IRQS()
|
||||
#define ACPI_ENABLE_IRQS()
|
||||
#define ACPI_ACQUIRE_GLOBAL_LOCK(Glptr, acq)
|
||||
#define ACPI_RELEASE_GLOBAL_LOCK(Glptr, acq)
|
||||
|
||||
#endif /* ACPI_ASM_MACROS */
|
||||
|
||||
#ifdef ACPI_APPLICATION
|
||||
|
||||
/* Don't want software interrupts within a ring3 application */
|
||||
|
||||
#undef BREAKPOINT3
|
||||
#define BREAKPOINT3
|
||||
#endif
|
||||
|
||||
/******************************************************************************
|
||||
*
|
||||
* Compiler-specific information is contained in the compiler-specific
|
||||
* headers.
|
||||
*
|
||||
*****************************************************************************/
|
||||
#endif /* __ACENV_H__ */
|
||||
|
@@ -64,8 +64,4 @@
|
||||
*/
|
||||
#define ACPI_UNUSED_VAR __attribute__ ((unused))
|
||||
|
||||
#ifdef _ANSI
|
||||
#define inline
|
||||
#endif
|
||||
|
||||
#endif /* __ACGCC_H__ */
|
||||
|
@@ -108,7 +108,6 @@
|
||||
|
||||
#include <acpi/platform/acgcc.h>
|
||||
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <acpi/actypes.h>
|
||||
/*
|
||||
|
Reference in New Issue
Block a user