Print this page
acpica-unix2-20130823
PANKOVs restructure

*** 1,14 **** - /****************************************************************************** * * Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only) * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2011, Intel Corp. * 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,13 ---- /****************************************************************************** * * Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only) * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2013, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:
*** 92,102 **** /* Values for Flag byte above */ #define AOPOBJ_AML_CONSTANT 0x01 /* Integer is an AML constant */ #define AOPOBJ_STATIC_POINTER 0x02 /* Data is part of an ACPI table, don't delete */ ! #define AOPOBJ_DATA_VALID 0x04 /* Object is intialized and data is valid */ #define AOPOBJ_OBJECT_INITIALIZED 0x08 /* Region is initialized, _REG was run */ #define AOPOBJ_SETUP_COMPLETE 0x10 /* Region setup is complete */ #define AOPOBJ_INVALID 0x20 /* Host OS won't allow a Region address */ --- 91,101 ---- /* Values for Flag byte above */ #define AOPOBJ_AML_CONSTANT 0x01 /* Integer is an AML constant */ #define AOPOBJ_STATIC_POINTER 0x02 /* Data is part of an ACPI table, don't delete */ ! #define AOPOBJ_DATA_VALID 0x04 /* Object is initialized and data is valid */ #define AOPOBJ_OBJECT_INITIALIZED 0x08 /* Region is initialized, _REG was run */ #define AOPOBJ_SETUP_COMPLETE 0x10 /* Region setup is complete */ #define AOPOBJ_INVALID 0x20 /* Host OS won't allow a Region address */
*** 121,132 **** } ACPI_OBJECT_INTEGER; /* ! * Note: The String and Buffer object must be identical through the Pointer ! * and length elements. There is code that depends on this. * * Fields common to both Strings and Buffers */ #define ACPI_COMMON_BUFFER_INFO(_Type) \ _Type *Pointer; \ --- 120,131 ---- } ACPI_OBJECT_INTEGER; /* ! * Note: The String and Buffer object must be identical through the ! * pointer and length elements. There is code that depends on this. * * Fields common to both Strings and Buffers */ #define ACPI_COMMON_BUFFER_INFO(_Type) \ _Type *Pointer; \
*** 244,255 **** /* * Common fields for objects that support ASL notifications */ #define ACPI_COMMON_NOTIFY_INFO \ ! union acpi_operand_object *SystemNotify; /* Handler for system notifies */\ ! union acpi_operand_object *DeviceNotify; /* Handler for driver notifies */\ union acpi_operand_object *Handler; /* Handler for Address space */ typedef struct acpi_object_notify_common /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ { --- 243,253 ---- /* * Common fields for objects that support ASL notifications */ #define ACPI_COMMON_NOTIFY_INFO \ ! union acpi_operand_object *NotifyList[2]; /* Handlers for system/device notifies */\ union acpi_operand_object *Handler; /* Handler for Address space */ typedef struct acpi_object_notify_common /* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ {
*** 318,327 **** --- 316,326 ---- ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */\ UINT32 BitLength; /* Length of field in bits */\ UINT32 BaseByteOffset; /* Byte offset within containing object */\ UINT32 Value; /* Value to store into the Bank or Index register */\ UINT8 StartFieldBitOffset;/* Bit offset within first field datum (0-63) */\ + UINT8 AccessLength; /* For serial regions/fields */ typedef struct acpi_object_field_common /* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ { ACPI_OBJECT_COMMON_HEADER
*** 333,343 **** --- 332,344 ---- typedef struct acpi_object_region_field { ACPI_OBJECT_COMMON_HEADER ACPI_COMMON_FIELD_INFO + UINT16 ResourceLength; union acpi_operand_object *RegionObj; /* Containing OpRegion object */ + UINT8 *ResourceBuffer; /* ResourceTemplate for serial regions/fields */ } ACPI_OBJECT_REGION_FIELD; typedef struct acpi_object_bank_field
*** 384,395 **** typedef struct acpi_object_notify_handler { ACPI_OBJECT_COMMON_HEADER ACPI_NAMESPACE_NODE *Node; /* Parent device */ ! ACPI_NOTIFY_HANDLER Handler; void *Context; } ACPI_OBJECT_NOTIFY_HANDLER; typedef struct acpi_object_addr_handler --- 385,398 ---- typedef struct acpi_object_notify_handler { ACPI_OBJECT_COMMON_HEADER ACPI_NAMESPACE_NODE *Node; /* Parent device */ ! UINT32 HandlerType; /* Type: Device/System/Both */ ! ACPI_NOTIFY_HANDLER Handler; /* Handler address */ void *Context; + union acpi_operand_object *Next[2]; /* Device and System handler lists */ } ACPI_OBJECT_NOTIFY_HANDLER; typedef struct acpi_object_addr_handler
*** 399,409 **** UINT8 HandlerFlags; ACPI_ADR_SPACE_HANDLER Handler; ACPI_NAMESPACE_NODE *Node; /* Parent device */ void *Context; ACPI_ADR_SPACE_SETUP Setup; ! union acpi_operand_object *RegionList; /* regions using this handler */ union acpi_operand_object *Next; } ACPI_OBJECT_ADDR_HANDLER; /* Flags for address handler (HandlerFlags) */ --- 402,412 ---- UINT8 HandlerFlags; ACPI_ADR_SPACE_HANDLER Handler; ACPI_NAMESPACE_NODE *Node; /* Parent device */ void *Context; ACPI_ADR_SPACE_SETUP Setup; ! union acpi_operand_object *RegionList; /* Regions using this handler */ union acpi_operand_object *Next; } ACPI_OBJECT_ADDR_HANDLER; /* Flags for address handler (HandlerFlags) */
*** 461,470 **** --- 464,474 ---- */ typedef struct acpi_object_extra { ACPI_OBJECT_COMMON_HEADER ACPI_NAMESPACE_NODE *Method_REG; /* _REG method for this region (if any) */ + ACPI_NAMESPACE_NODE *ScopeNode; void *RegionContext; /* Region-specific data */ UINT8 *AmlStart; UINT32 AmlLength; } ACPI_OBJECT_EXTRA;