Merge ACPICA 20120620.
This commit is contained in:
commit
f38b0f210c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=237412
@ -1,3 +1,67 @@
|
|||||||
|
----------------------------------------
|
||||||
|
20 June 2012. Summary of changes for version 20120620:
|
||||||
|
|
||||||
|
This release is available at https://www.acpica.org/downloads
|
||||||
|
The ACPI 5.0 specification is available at www.acpi.info
|
||||||
|
|
||||||
|
1) ACPICA Kernel-resident Subsystem:
|
||||||
|
|
||||||
|
Implemented support to expand the "implicit notify" feature to allow multiple
|
||||||
|
devices to be notified by a single GPE. This feature automatically generates a
|
||||||
|
runtime device notification in the absence of a BIOS-provided GPE control
|
||||||
|
method (_Lxx/_Exx) or a host-installed handler for the GPE. Implicit notify is
|
||||||
|
provided by ACPICA for Windows compatibility, and is a workaround for BIOS AML
|
||||||
|
code errors. See the description of the AcpiSetupGpeForWake interface in the
|
||||||
|
APCICA reference. Bob Moore, Rafael Wysocki. ACPICA BZ 918.
|
||||||
|
|
||||||
|
Changed some comments and internal function names to simplify and ensure
|
||||||
|
correctness of the Linux code translation. No functional changes.
|
||||||
|
|
||||||
|
Example Code and Data Size: These are the sizes for the OS-independent
|
||||||
|
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug
|
||||||
|
version of the code includes the debug output trace mechanism and has a much
|
||||||
|
larger code and data size.
|
||||||
|
|
||||||
|
Previous Release:
|
||||||
|
Non-Debug Version: 93.0K Code, 25.1K Data, 118.1K Total
|
||||||
|
Debug Version: 172.7K Code, 73.6K Data, 246.3K Total
|
||||||
|
Current Release:
|
||||||
|
Non-Debug Version: 93.1K Code, 25.1K Data, 118.2K Total
|
||||||
|
Debug Version: 172.9K Code, 73.6K Data, 246.5K Total
|
||||||
|
|
||||||
|
|
||||||
|
2) iASL Compiler/Disassembler and Tools:
|
||||||
|
|
||||||
|
Disassembler: Added support to emit short, commented descriptions for the ACPI
|
||||||
|
predefined names in order to improve the readability of the disassembled
|
||||||
|
output. ACPICA BZ 959. Changes include:
|
||||||
|
1) Emit descriptions for all standard predefined names (_INI, _STA, _PRW,
|
||||||
|
etc.)
|
||||||
|
2) Emit generic descriptions for the special names (_Exx, _Qxx, etc.)
|
||||||
|
3) Emit descriptions for the resource descriptor names (_MIN, _LEN, etc.)
|
||||||
|
|
||||||
|
AcpiSrc: Fixed several long-standing Linux code translation issues. Argument
|
||||||
|
descriptions in function headers are now translated properly to lower case and
|
||||||
|
underscores. ACPICA BZ 961. Also fixes translation problems such as these:
|
||||||
|
(old -> new)
|
||||||
|
i_aSL -> iASL
|
||||||
|
00-7_f -> 00-7F
|
||||||
|
16_k -> 16K
|
||||||
|
local_fADT -> local_FADT
|
||||||
|
execute_oSI -> execute_OSI
|
||||||
|
|
||||||
|
iASL: Fixed a problem where null bytes were inadvertently emitted into some
|
||||||
|
listing files.
|
||||||
|
|
||||||
|
iASL: Added the existing debug options to the standard help screen. There are
|
||||||
|
no longer two different help screens. ACPICA BZ 957.
|
||||||
|
|
||||||
|
AcpiHelp: Fixed some typos in the various predefined name descriptions. Also
|
||||||
|
expand some of the descriptions where appropriate.
|
||||||
|
|
||||||
|
iASL: Fixed the -ot option (display compile times/statistics). Was not working
|
||||||
|
properly for standard output; only worked for the debug file case.
|
||||||
|
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
18 May 2012. Summary of changes for version 20120518:
|
18 May 2012. Summary of changes for version 20120518:
|
||||||
|
|
||||||
|
323
sys/contrib/dev/acpica/common/ahpredef.c
Normal file
323
sys/contrib/dev/acpica/common/ahpredef.c
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Module Name: ahpredef - Table of all known ACPI predefined names
|
||||||
|
*
|
||||||
|
*****************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2000 - 2012, 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. 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.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <contrib/dev/acpica/include/acpi.h>
|
||||||
|
#include <contrib/dev/acpica/include/accommon.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* iASL only needs a partial table (short descriptions only).
|
||||||
|
* AcpiHelp needs the full table.
|
||||||
|
*/
|
||||||
|
#ifdef ACPI_ASL_COMPILER
|
||||||
|
#define AH_PREDEF(Name, ShortDesc, LongDesc) {Name, ShortDesc}
|
||||||
|
#else
|
||||||
|
#define AH_PREDEF(Name, ShortDesc, LongDesc) {Name, ShortDesc, LongDesc}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Predefined ACPI names, with short description and return value.
|
||||||
|
* This table was extracted directly from the ACPI specification.
|
||||||
|
*/
|
||||||
|
const AH_PREDEFINED_NAME AslPredefinedInfo[] =
|
||||||
|
{
|
||||||
|
AH_PREDEF ("_ACx", "Active Cooling", "Returns the active cooling policy threshold values"),
|
||||||
|
AH_PREDEF ("_ADR", "Address", "Returns the address of a device on its parent bus"),
|
||||||
|
AH_PREDEF ("_AEI", "ACPI Event Interrupts", "Returns a list of GPIO events to be used as ACPI events"),
|
||||||
|
AH_PREDEF ("_ALC", "Ambient Light Chromaticity", "Returns the ambient light color chromaticity"),
|
||||||
|
AH_PREDEF ("_ALI", "Ambient Light Illuminance", "Returns the ambient light brightness"),
|
||||||
|
AH_PREDEF ("_ALN", "Alignment", "Base alignment, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_ALP", "Ambient Light Polling", "Returns the ambient light sensor polling frequency"),
|
||||||
|
AH_PREDEF ("_ALR", "Ambient Light Response", "Returns the ambient light brightness to display brightness mappings"),
|
||||||
|
AH_PREDEF ("_ALT", "Ambient Light Temperature", "Returns the ambient light color temperature"),
|
||||||
|
AH_PREDEF ("_ALx", "Active List", "Returns a list of active cooling device objects"),
|
||||||
|
AH_PREDEF ("_ART", "Active Cooling Relationship Table", "Returns thermal relationship information between platform devices and fan devices"),
|
||||||
|
AH_PREDEF ("_ASI", "Address Space Id", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_ASZ", "Access Size", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_ATT", "Type-Specific Attribute", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_BAS", "Base Address", "Range base address, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_BBN", "BIOS Bus Number", "Returns the PCI bus number returned by the BIOS"),
|
||||||
|
AH_PREDEF ("_BCL", "Brightness Control Levels", "Returns a list of supported brightness control levels"),
|
||||||
|
AH_PREDEF ("_BCM", "Brightness Control Method", "Sets the brightness level of the display device"),
|
||||||
|
AH_PREDEF ("_BCT", "Battery Charge Time", "Returns time remaining to complete charging battery"),
|
||||||
|
AH_PREDEF ("_BDN", "BIOS Dock Name", "Returns the Dock ID returned by the BIOS"),
|
||||||
|
AH_PREDEF ("_BFS", "Back From Sleep", "Inform AML of a wake event"),
|
||||||
|
AH_PREDEF ("_BIF", "Battery Information", "Returns a Control Method Battery information block"),
|
||||||
|
AH_PREDEF ("_BIX", "Battery Information Extended", "Returns a Control Method Battery extended information block"),
|
||||||
|
AH_PREDEF ("_BLT", "Battery Level Threshold", "Set battery level threshold preferences"),
|
||||||
|
AH_PREDEF ("_BM_", "Bus Master", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_BMA", "Battery Measurement Averaging Interval", "Sets battery measurement averaging interval"),
|
||||||
|
AH_PREDEF ("_BMC", "Battery Maintenance Control", "Sets battery maintenance and control features"),
|
||||||
|
AH_PREDEF ("_BMD", "Battery Maintenance Data", "Returns battery maintenance, control, and state data"),
|
||||||
|
AH_PREDEF ("_BMS", "Battery Measurement Sampling Time", "Sets the battery measurement sampling time"),
|
||||||
|
AH_PREDEF ("_BQC", "Brightness Query Current", "Returns the current display brightness level"),
|
||||||
|
AH_PREDEF ("_BST", "Battery Status", "Returns a Control Method Battery status block"),
|
||||||
|
AH_PREDEF ("_BTM", "Battery Time", "Returns the battery runtime"),
|
||||||
|
AH_PREDEF ("_BTP", "Battery Trip Point", "Sets a Control Method Battery trip point"),
|
||||||
|
AH_PREDEF ("_CBA", "Configuration Base Address", "Sets the base address for a PCI Express host bridge"),
|
||||||
|
AH_PREDEF ("_CDM", "Clock Domain", "Returns a logical processor's clock domain identifier"),
|
||||||
|
AH_PREDEF ("_CID", "Compatible ID", "Returns a device's Plug and Play Compatible ID list"),
|
||||||
|
AH_PREDEF ("_CLS", "Class Code", "Returns PCI class code and subclass"),
|
||||||
|
AH_PREDEF ("_CPC", "Continuous Performance Control", "Returns a list of performance control interfaces"),
|
||||||
|
AH_PREDEF ("_CRS", "Current Resource Settings", "Returns the current resource settings for a device"),
|
||||||
|
AH_PREDEF ("_CRT", "Critical Temperature", "Returns the shutdown critical temperature"),
|
||||||
|
AH_PREDEF ("_CSD", "C-State Dependencies", "Returns a list of C-state dependencies"),
|
||||||
|
AH_PREDEF ("_CST", "C-States", "Returns a list of supported C-states"),
|
||||||
|
AH_PREDEF ("_CWS", "Clear Wake Alarm Status", "Clear the status of wake alarms"),
|
||||||
|
AH_PREDEF ("_DBT", "Debounce Timeout", "Timeout value, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_DCK", "Dock Present", "Sets docking isolation. Presence indicates device is a docking station"),
|
||||||
|
AH_PREDEF ("_DCS", "Display Current Status", "Returns status of the display output device"),
|
||||||
|
AH_PREDEF ("_DDC", "Display Data Current", "Returns the EDID for the display output device"),
|
||||||
|
AH_PREDEF ("_DDN", "DOS Device Name", "Returns a device logical name"),
|
||||||
|
AH_PREDEF ("_DEC", "Decode", "Device decoding type, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_DEP", "Dependencies", "Returns a list of operation region dependencies"),
|
||||||
|
AH_PREDEF ("_DGS", "Display Graphics State", "Return the current state of the output device"),
|
||||||
|
AH_PREDEF ("_DIS", "Disable Device", "Disables a device"),
|
||||||
|
AH_PREDEF ("_DLM", "Device Lock Mutex", "Defines mutex for OS/AML sharing"),
|
||||||
|
AH_PREDEF ("_DMA", "Direct Memory Access", "Returns a device's current resources for DMA transactions"),
|
||||||
|
AH_PREDEF ("_DOD", "Display Output Devices", "Enumerate all devices attached to the display adapter"),
|
||||||
|
AH_PREDEF ("_DOS", "Disable Output Switching", "Sets the display output switching mode"),
|
||||||
|
AH_PREDEF ("_DPL", "Device Selection Polarity", "Polarity of Device Selection signal, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_DRS", "Drive Strength", "Drive Strength setting for GPIO connection, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_DSM", "Device-Specific Method", "Executes device-specific functions"),
|
||||||
|
AH_PREDEF ("_DSS", "Device Set State", "Sets the display device state"),
|
||||||
|
AH_PREDEF ("_DSW", "Device Sleep Wake", "Sets the sleep and wake transition states for a device"),
|
||||||
|
AH_PREDEF ("_DTI", "Device Temperature Indication", "Conveys native device temperature to the platform"),
|
||||||
|
AH_PREDEF ("_Exx", "Edge-Triggered GPE", "Method executed as a result of a general-purpose event"),
|
||||||
|
AH_PREDEF ("_EC_", "Embedded Controller", "returns EC offset and query information"),
|
||||||
|
AH_PREDEF ("_EDL", "Eject Device List", "Returns a list of devices that are dependent on a device (docking)"),
|
||||||
|
AH_PREDEF ("_EJD", "Ejection Dependent Device", "Returns the name of dependent (parent) device (docking)"),
|
||||||
|
AH_PREDEF ("_EJx", "Eject Device", "Begin or cancel a device ejection request (docking)"),
|
||||||
|
AH_PREDEF ("_END", "Endianness", "Endian orientation, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_EVT", "Event", "Event method for GPIO events"),
|
||||||
|
AH_PREDEF ("_FDE", "Floppy Disk Enumerate", "Returns floppy disk configuration information"),
|
||||||
|
AH_PREDEF ("_FDI", "Floppy Drive Information", "Returns a floppy drive information block"),
|
||||||
|
AH_PREDEF ("_FDM", "Floppy Drive Mode", "Sets a floppy drive speed"),
|
||||||
|
AH_PREDEF ("_FIF", "Fan Information", "Returns fan device information"),
|
||||||
|
AH_PREDEF ("_FIX", "Fixed Register Resource Provider", "Returns a list of devices that implement FADT register blocks"),
|
||||||
|
AH_PREDEF ("_FLC", "Flow Control", "Flow control, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_FPS", "Fan Performance States", "Returns a list of supported fan performance states"),
|
||||||
|
AH_PREDEF ("_FSL", "Fan Set Level", "Control method that sets the fan device's speed level (performance state)"),
|
||||||
|
AH_PREDEF ("_FST", "Fan Status", "Returns current status information for a fan device"),
|
||||||
|
AH_PREDEF ("_GAI", "Get Averaging Interval", "Returns the power meter averaging interval"),
|
||||||
|
AH_PREDEF ("_GCP", "Get Capabilities", "Get device time capabilities"),
|
||||||
|
AH_PREDEF ("_GHL", "Get Hardware Limit", "Returns the hardware limit enforced by the power meter"),
|
||||||
|
AH_PREDEF ("_GL_", "Global Lock", "OS-defined Global Lock mutex object"),
|
||||||
|
AH_PREDEF ("_GLK", "Get Global Lock Requirement", "Returns a device's Global Lock requirement for device access"),
|
||||||
|
AH_PREDEF ("_GPD", "Get Post Data", "Returns the value of the VGA device that will be posted at boot"),
|
||||||
|
AH_PREDEF ("_GPE", "General Purpose Events", "Predefined scope (\\_GPE) or SCI number for EC"),
|
||||||
|
AH_PREDEF ("_GRA", "Granularity", "Address space granularity, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_GRT", "Get Real Time", "Returns current time-of-day from a time/alarm device"),
|
||||||
|
AH_PREDEF ("_GSB", "Global System Interrupt Base", "Returns the GSB for a I/O APIC device"),
|
||||||
|
AH_PREDEF ("_GTF", "Get Task File", "Returns a list of ATA commands to restore a drive to default state"),
|
||||||
|
AH_PREDEF ("_GTM", "Get Timing Mode", "Returns a list of IDE controller timing information"),
|
||||||
|
AH_PREDEF ("_GTS", "Going To Sleep", "Inform AML of pending sleep"),
|
||||||
|
AH_PREDEF ("_GWS", "Get Wake Status", "Return status of wake alarms"),
|
||||||
|
AH_PREDEF ("_HE_", "High-Edge", "Interrupt triggering, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_HID", "Hardware ID", "Returns a device's Plug and Play Hardware ID"),
|
||||||
|
AH_PREDEF ("_HOT", "Hot Temperature", "Returns the critical temperature for sleep (entry to S4)"),
|
||||||
|
AH_PREDEF ("_HPP", "Hot Plug Parameters", "Returns a list of hot-plug information for a PCI device"),
|
||||||
|
AH_PREDEF ("_HPX", "Hot Plug Parameter Extensions", "Returns a list of hot-plug information for a PCI device. Supersedes _HPP"),
|
||||||
|
AH_PREDEF ("_HRV", "Hardware Revision", "Returns a hardware revision value"),
|
||||||
|
AH_PREDEF ("_IFT", "IPMI Interface Type", "See the Intelligent Platform Management Interface Specification"),
|
||||||
|
AH_PREDEF ("_INI", "Initialize", "Performs device specific initialization"),
|
||||||
|
AH_PREDEF ("_INT", "Interrupts", "Interrupt mask bits, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_IOR", "I/O Restriction", "Restriction type, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_IRC", "Inrush Current", "Presence indicates that a device has a significant inrush current draw"),
|
||||||
|
AH_PREDEF ("_Lxx", "Level-Triggered GPE", "Control method executed as a result of a general-purpose event"),
|
||||||
|
AH_PREDEF ("_LCK", "Lock Device", "Locks or unlocks a device (docking)"),
|
||||||
|
AH_PREDEF ("_LEN", "Length", "Range length, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_LID", "Lid Status", "Returns the open/closed status of the lid on a mobile system"),
|
||||||
|
AH_PREDEF ("_LIN", "Lines In Use", "Handshake lines, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_LL_", "Low Level", "Interrupt polarity, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MAF", "Maximum Address Fixed", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MAT", "Multiple APIC Table Entry", "Returns a list of MADT APIC structure entries"),
|
||||||
|
AH_PREDEF ("_MAX", "Maximum Base Address", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MBM", "Memory Bandwidth Monitoring Data", "Returns bandwidth monitoring data for a memory device"),
|
||||||
|
AH_PREDEF ("_MEM", "Memory Attributes", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MIF", "Minimum Address Fixed", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MIN", "Minimum Base Address", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MLS", "Multiple Language String", "Returns a device description in multiple languages"),
|
||||||
|
AH_PREDEF ("_MOD", "Mode", "Interrupt mode, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_MSG", "Message", "Sets the system message waiting status indicator"),
|
||||||
|
AH_PREDEF ("_MSM", "Memory Set Monitoring", "Sets bandwidth monitoring parameters for a memory device"),
|
||||||
|
AH_PREDEF ("_MTP", "Memory Type", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_NTT", "Notification Temperature Threshold", "Returns a threshold for device temperature change that requires platform notification"),
|
||||||
|
AH_PREDEF ("_OFF", "Power Off", "Sets a power resource to the off state"),
|
||||||
|
AH_PREDEF ("_ON_", "Power On", "Sets a power resource to the on state"),
|
||||||
|
AH_PREDEF ("_OS_", "Operating System", "Returns a string that identifies the operating system"),
|
||||||
|
AH_PREDEF ("_OSC", "Operating System Capabilities", "Inform AML of host features and capabilities"),
|
||||||
|
AH_PREDEF ("_OSI", "Operating System Interfaces", "Returns supported interfaces, behaviors, and features"),
|
||||||
|
AH_PREDEF ("_OST", "OSPM Status Indication", "Inform AML of event processing status"),
|
||||||
|
AH_PREDEF ("_PAI", "Power Averaging Interval", "Sets the averaging interval for a power meter"),
|
||||||
|
AH_PREDEF ("_PAR", "Parity", "Parity bits, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_PCL", "Power Consumer List", "Returns a list of devices powered by a power source"),
|
||||||
|
AH_PREDEF ("_PCT", "Performance Control", "Returns processor performance control and status registers"),
|
||||||
|
AH_PREDEF ("_PDC", "Processor Driver Capabilities", "Inform AML of processor driver capabilities"),
|
||||||
|
AH_PREDEF ("_PDL", "P-state Depth Limit", "Returns the lowest available performance P-state"),
|
||||||
|
AH_PREDEF ("_PHA", "Clock Phase", "Clock phase, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_PIC", "Interrupt Model", "Inform AML of the interrupt model in use"),
|
||||||
|
AH_PREDEF ("_PIF", "Power Source Information", "Returns a Power Source information block"),
|
||||||
|
AH_PREDEF ("_PIN", "Pin List", "Pin list, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_PLD", "Physical Device Location", "Returns a device's physical location information"),
|
||||||
|
AH_PREDEF ("_PMC", "Power Meter Capabilities", "Returns a list of Power Meter capabilities info"),
|
||||||
|
AH_PREDEF ("_PMD", "Power Metered Devices", "Returns a list of devices that are measured by the power meter device"),
|
||||||
|
AH_PREDEF ("_PMM", "Power Meter Measurement", "Returns the current value of the Power Meter"),
|
||||||
|
AH_PREDEF ("_POL", "Polarity", "Interrupt polarity, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_PPC", "Performance Present Capabilites", "Returns a list of the performance states currently supported by the platform"),
|
||||||
|
AH_PREDEF ("_PPE", "Polling for Platform Error", "Returns the polling interval to retrieve Corrected Platform Error information"),
|
||||||
|
AH_PREDEF ("_PPI", "Pin Configuration", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_PR", "Processor", "Predefined scope for processor objects"),
|
||||||
|
AH_PREDEF ("_PR0", "Power Resources for D0", "Returns a list of dependent power resources to enter state D0 (fully on)"),
|
||||||
|
AH_PREDEF ("_PR1", "Power Resources for D1", "Returns a list of dependent power resources to enter state D1"),
|
||||||
|
AH_PREDEF ("_PR2", "Power Resources for D2", "Returns a list of dependent power resources to enter state D2"),
|
||||||
|
AH_PREDEF ("_PR3", "Power Resources for D3hot", "Returns a list of dependent power resources to enter state D3hot"),
|
||||||
|
AH_PREDEF ("_PRE", "Power Resources for Enumeration", "Returns a list of dependent power resources to enumerate devices on a bus"),
|
||||||
|
AH_PREDEF ("_PRL", "Power Source Redundancy List", "Returns a list of power source devices in the same redundancy grouping"),
|
||||||
|
AH_PREDEF ("_PRS", "Possible Resource Settings", "Returns a list of a device's possible resource settings"),
|
||||||
|
AH_PREDEF ("_PRT", "PCI Routing Table", "Returns a list of PCI interrupt mappings"),
|
||||||
|
AH_PREDEF ("_PRW", "Power Resources for Wake", "Returns a list of dependent power resources for waking"),
|
||||||
|
AH_PREDEF ("_PS0", "Power State 0", "Sets a device's power state to D0 (device fully on)"),
|
||||||
|
AH_PREDEF ("_PS1", "Power State 1", "Sets a device's power state to D1"),
|
||||||
|
AH_PREDEF ("_PS2", "Power State 2", "Sets a device's power state to D2"),
|
||||||
|
AH_PREDEF ("_PS3", "Power State 3", "Sets a device's power state to D3 (device off)"),
|
||||||
|
AH_PREDEF ("_PSC", "Power State Current", "Returns a device's current power state"),
|
||||||
|
AH_PREDEF ("_PSD", "Power State Dependencies", "Returns processor P-State dependencies"),
|
||||||
|
AH_PREDEF ("_PSE", "Power State for Enumeration", "Put a bus into enumeration power mode"),
|
||||||
|
AH_PREDEF ("_PSL", "Passive List", "Returns a list of passive cooling device objects"),
|
||||||
|
AH_PREDEF ("_PSR", "Power Source", "Returns the power source device currently in use"),
|
||||||
|
AH_PREDEF ("_PSS", "Performance Supported States", "Returns a list of supported processor performance states"),
|
||||||
|
AH_PREDEF ("_PSV", "Passive Temperature", "Returns the passive trip point temperature"),
|
||||||
|
AH_PREDEF ("_PSW", "Power State Wake", "Sets a device's wake function"),
|
||||||
|
AH_PREDEF ("_PTC", "Processor Throttling Control", "Returns throttling control and status registers"),
|
||||||
|
AH_PREDEF ("_PTP", "Power Trip Points", "Sets trip points for the Power Meter device"),
|
||||||
|
AH_PREDEF ("_PTS", "Prepare To Sleep", "Inform the platform of an impending sleep transition"),
|
||||||
|
AH_PREDEF ("_PUR", "Processor Utilization Request", "Returns the number of processors that the platform would like to idle"),
|
||||||
|
AH_PREDEF ("_PXM", "Device Proximity", "Returns a device's proximity domain identifier"),
|
||||||
|
AH_PREDEF ("_Qxx", "EC Query", "Embedded Controller query and SMBus Alarm control method"),
|
||||||
|
AH_PREDEF ("_RBO", "Register Bit Offset", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_RBW", "Register Bit Width", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_REG", "Region Availability", "Inform AML code of an operation region availability change"),
|
||||||
|
AH_PREDEF ("_REV", "Supported ACPI Revision", "Returns the revision of the ACPI specification that is implemented"),
|
||||||
|
AH_PREDEF ("_RMV", "Removal Status", "Returns a device's removal ability status (docking)"),
|
||||||
|
AH_PREDEF ("_RNG", "Range", "Memory range type, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_ROM", "Read-Only Memory", "Returns a copy of the ROM data for a display device"),
|
||||||
|
AH_PREDEF ("_RT_", "Resource Type", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_RTV", "Relative Temperature Values", "Returns temperature value information"),
|
||||||
|
AH_PREDEF ("_RW_", "Read-Write Status", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_RXL", "Receive Buffer Size", "Serial channel buffer, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_S0_", "S0 System State", "Returns values to enter the system into the S0 state"),
|
||||||
|
AH_PREDEF ("_S1_", "S1 System State", "Returns values to enter the system into the S1 state"),
|
||||||
|
AH_PREDEF ("_S2_", "S2 System State", "Returns values to enter the system into the S2 state"),
|
||||||
|
AH_PREDEF ("_S3_", "S3 System State", "Returns values to enter the system into the S3 state"),
|
||||||
|
AH_PREDEF ("_S4_", "S4 System State", "Returns values to enter the system into the S4 state"),
|
||||||
|
AH_PREDEF ("_S5_", "S5 System State", "Returns values to enter the system into the S5 state"),
|
||||||
|
AH_PREDEF ("_S1D", "S1 Device State", "Returns the highest D-state supported by a device when in the S1 state"),
|
||||||
|
AH_PREDEF ("_S2D", "S2 Device State", "Returns the highest D-state supported by a device when in the S2 state"),
|
||||||
|
AH_PREDEF ("_S3D", "S3 Device State", "Returns the highest D-state supported by a device when in the S3 state"),
|
||||||
|
AH_PREDEF ("_S4D", "S4 Device State", "Returns the highest D-state supported by a device when in the S4 state"),
|
||||||
|
AH_PREDEF ("_S0W", "S0 Device Wake State", "Returns the lowest D-state that the device can wake itself from S0"),
|
||||||
|
AH_PREDEF ("_S1W", "S1 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S1"),
|
||||||
|
AH_PREDEF ("_S2W", "S2 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S2"),
|
||||||
|
AH_PREDEF ("_S3W", "S3 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S3"),
|
||||||
|
AH_PREDEF ("_S4W", "S4 Device Wake State", "Returns the lowest D-state for this device that can wake the system from S4"),
|
||||||
|
AH_PREDEF ("_SB_", "System Bus", "Predefined scope for device and bus objects"),
|
||||||
|
AH_PREDEF ("_SBS", "Smart Battery Subsystem", "Returns the subsystem configuration"),
|
||||||
|
AH_PREDEF ("_SCP", "Set Cooling Policy", "Sets the cooling policy (active or passive)"),
|
||||||
|
AH_PREDEF ("_SDD", "Set Device Data", "Sets data for a SATA device"),
|
||||||
|
AH_PREDEF ("_SEG", "PCI Segment", "Returns a device's PCI Segment Group number"),
|
||||||
|
AH_PREDEF ("_SHL", "Set Hardware Limit", "Sets the hardware limit enforced by the Power Meter"),
|
||||||
|
AH_PREDEF ("_SHR", "Sharable", "Interrupt share status, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_SI_", "System Indicators", "Predefined scope"),
|
||||||
|
AH_PREDEF ("_SIZ", "Size", "DMA transfer size, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_SLI", "System Locality Information", "Returns a list of NUMA system localities"),
|
||||||
|
AH_PREDEF ("_SLV", "Slave Mode", "Mode setting, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_SPD", "Set Post Device", "Sets which video device will be posted at boot"),
|
||||||
|
AH_PREDEF ("_SPE", "Speed", "Connection speed, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_SRS", "Set Resource Settings", "Sets a device's resource allocation"),
|
||||||
|
AH_PREDEF ("_SRT", "Set Real Time", "Sets the current time for a time/alarm device"),
|
||||||
|
AH_PREDEF ("_SRV", "IPMI Spec Revision", "See the Intelligent Platform Management Interface Specification"),
|
||||||
|
AH_PREDEF ("_SST", "System Status", "Sets the system status indicator"),
|
||||||
|
AH_PREDEF ("_STA", "Status", "Returns the current status of a Device or Power Resource"),
|
||||||
|
AH_PREDEF ("_STB", "Stop Bits", "Serial channel stop bits, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_STM", "Set Timing Mode", "Sets an IDE controller transfer timings"),
|
||||||
|
AH_PREDEF ("_STP", "Set Expired Timer Wake Policy", "Sets expired timer policies of the wake alarm device"),
|
||||||
|
AH_PREDEF ("_STR", "Description String", "Returns a device's description string"),
|
||||||
|
AH_PREDEF ("_STV", "Set Timer Value", "Set timer values of the wake alarm device"),
|
||||||
|
AH_PREDEF ("_SUB", "Subsystem ID", "Returns the subsystem ID for a device"),
|
||||||
|
AH_PREDEF ("_SUN", "Slot User Number", "Returns the slot unique ID number"),
|
||||||
|
AH_PREDEF ("_SWS", "System Wake Source", "Returns the source event that caused the system to wake"),
|
||||||
|
AH_PREDEF ("_T_x", "Emitted by ASL Compiler", "Reserved for use by ASL compilers"),
|
||||||
|
AH_PREDEF ("_TC1", "Thermal Constant 1", "Returns TC1 for the passive cooling formula"),
|
||||||
|
AH_PREDEF ("_TC2", "Thermal Constant 2", "Returns TC2 for the passive cooling formula"),
|
||||||
|
AH_PREDEF ("_TDL", "T-State Depth Limit", "Returns the _TSS entry number of the lowest power throttling state"),
|
||||||
|
AH_PREDEF ("_TIP", "Expired Timer Wake Policy", "Returns timer policies of the wake alarm device"),
|
||||||
|
AH_PREDEF ("_TIV", "Timer Values", "Returns remaining time of the wake alarm device"),
|
||||||
|
AH_PREDEF ("_TMP", "Temperature", "Returns a thermal zone's current temperature"),
|
||||||
|
AH_PREDEF ("_TPC", "Throttling Present Capabilities", "Returns the current number of supported throttling states"),
|
||||||
|
AH_PREDEF ("_TPT", "Trip Point Temperature", "Inform AML that a device's embedded temperature sensor has crossed a temperature trip point"),
|
||||||
|
AH_PREDEF ("_TRA", "Translation", "Address translation offset, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TRS", "Translation Sparse", "Sparse/dense flag, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TRT", "Thermal Relationship Table", "Returns thermal relationships between platform devices"),
|
||||||
|
AH_PREDEF ("_TSD", "Throttling State Dependencies", "Returns a list of T-state dependencies"),
|
||||||
|
AH_PREDEF ("_TSF", "Type-Specific Flags", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TSP", "Thermal Sampling Period", "Returns the thermal sampling period for passive cooling"),
|
||||||
|
AH_PREDEF ("_TSS", "Throttling Supported States", "Returns supported throttling state information"),
|
||||||
|
AH_PREDEF ("_TST", "Temperature Sensor Threshold", "Returns the minimum separation for a device's temperature trip points"),
|
||||||
|
AH_PREDEF ("_TTP", "Translation Type", "Translation/static flag, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TTS", "Transition To State", "Inform AML of an S-state transition"),
|
||||||
|
AH_PREDEF ("_TXL", "Transmit Buffer Size", "Serial Channel buffer, Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TYP", "Type", "DMA channel type (speed), Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_TZ_", "Thermal Zone", "Predefined scope: ACPI 1.0"),
|
||||||
|
AH_PREDEF ("_TZD", "Thermal Zone Devices", "Returns a list of device names associated with a Thermal Zone"),
|
||||||
|
AH_PREDEF ("_TZM", "Thermal Zone Member", "Returns a reference to the thermal zone of which a device is a member"),
|
||||||
|
AH_PREDEF ("_TZP", "Thermal Zone Polling", "Returns a Thermal zone's polling frequency"),
|
||||||
|
AH_PREDEF ("_UID", "Unique ID", "Return a device's unique persistent ID"),
|
||||||
|
AH_PREDEF ("_UPC", "USB Port Capabilities", "Returns a list of USB port capabilities"),
|
||||||
|
AH_PREDEF ("_UPD", "User Presence Detect", "Returns user detection information"),
|
||||||
|
AH_PREDEF ("_UPP", "User Presence Polling", "Returns the recommended user presence polling interval"),
|
||||||
|
AH_PREDEF ("_VEN", "Vendor Data", "Resource Descriptor field"),
|
||||||
|
AH_PREDEF ("_VPO", "Video Post Options", "Returns the implemented video post options"),
|
||||||
|
AH_PREDEF ("_WAK", "Wake", "Inform AML that the system has just awakened"),
|
||||||
|
AH_PREDEF ("_Wxx", "Wake Event", "Method executed as a result of a wake event"),
|
||||||
|
AH_PREDEF (NULL, NULL, NULL)
|
||||||
|
};
|
@ -221,8 +221,10 @@ AcpiDmNormalizeParentPrefix (
|
|||||||
*/
|
*/
|
||||||
ACPI_STRCAT (Fullpath, ParentPath);
|
ACPI_STRCAT (Fullpath, ParentPath);
|
||||||
|
|
||||||
/* Add dot separator (don't need dot if parent fullpath is a single "\") */
|
/*
|
||||||
|
* Add dot separator
|
||||||
|
* (don't need dot if parent fullpath is a single backslash)
|
||||||
|
*/
|
||||||
if (ParentPath[1])
|
if (ParentPath[1])
|
||||||
{
|
{
|
||||||
ACPI_STRCAT (Fullpath, ".");
|
ACPI_STRCAT (Fullpath, ".");
|
||||||
|
@ -73,6 +73,7 @@ AcpiDmGetResourceTag (
|
|||||||
|
|
||||||
static char *
|
static char *
|
||||||
AcpiGetTagPathname (
|
AcpiGetTagPathname (
|
||||||
|
ACPI_PARSE_OBJECT *Op,
|
||||||
ACPI_NAMESPACE_NODE *BufferNode,
|
ACPI_NAMESPACE_NODE *BufferNode,
|
||||||
ACPI_NAMESPACE_NODE *ResourceNode,
|
ACPI_NAMESPACE_NODE *ResourceNode,
|
||||||
UINT32 BitIndex);
|
UINT32 BitIndex);
|
||||||
@ -443,7 +444,6 @@ AcpiDmCheckResourceReference (
|
|||||||
ACPI_NAMESPACE_NODE *BufferNode;
|
ACPI_NAMESPACE_NODE *BufferNode;
|
||||||
ACPI_NAMESPACE_NODE *ResourceNode;
|
ACPI_NAMESPACE_NODE *ResourceNode;
|
||||||
const ACPI_OPCODE_INFO *OpInfo;
|
const ACPI_OPCODE_INFO *OpInfo;
|
||||||
char *Pathname;
|
|
||||||
UINT32 BitIndex;
|
UINT32 BitIndex;
|
||||||
|
|
||||||
|
|
||||||
@ -519,14 +519,7 @@ AcpiDmCheckResourceReference (
|
|||||||
|
|
||||||
/* Translate the Index to a resource tag pathname */
|
/* Translate the Index to a resource tag pathname */
|
||||||
|
|
||||||
Pathname = AcpiGetTagPathname (BufferNode, ResourceNode, BitIndex);
|
AcpiGetTagPathname (IndexOp, BufferNode, ResourceNode, BitIndex);
|
||||||
if (Pathname)
|
|
||||||
{
|
|
||||||
/* Complete the conversion of the Index to a symbol */
|
|
||||||
|
|
||||||
IndexOp->Common.AmlOpcode = AML_INT_NAMEPATH_OP;
|
|
||||||
IndexOp->Common.Value.String = Pathname;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -597,6 +590,7 @@ AcpiDmGetResourceNode (
|
|||||||
|
|
||||||
static char *
|
static char *
|
||||||
AcpiGetTagPathname (
|
AcpiGetTagPathname (
|
||||||
|
ACPI_PARSE_OBJECT *IndexOp,
|
||||||
ACPI_NAMESPACE_NODE *BufferNode,
|
ACPI_NAMESPACE_NODE *BufferNode,
|
||||||
ACPI_NAMESPACE_NODE *ResourceNode,
|
ACPI_NAMESPACE_NODE *ResourceNode,
|
||||||
UINT32 BitIndex)
|
UINT32 BitIndex)
|
||||||
@ -689,6 +683,15 @@ AcpiGetTagPathname (
|
|||||||
|
|
||||||
AcpiNsInternalizeName (Pathname, &InternalPath);
|
AcpiNsInternalizeName (Pathname, &InternalPath);
|
||||||
ACPI_FREE (Pathname);
|
ACPI_FREE (Pathname);
|
||||||
|
|
||||||
|
/* Update the Op with the symbol */
|
||||||
|
|
||||||
|
AcpiPsInitOp (IndexOp, AML_INT_NAMEPATH_OP);
|
||||||
|
IndexOp->Common.Value.String = InternalPath;
|
||||||
|
|
||||||
|
/* We will need the tag later. Cheat by putting it in the Node field */
|
||||||
|
|
||||||
|
IndexOp->Common.Node = ACPI_CAST_PTR (ACPI_NAMESPACE_NODE, Tag);
|
||||||
return (InternalPath);
|
return (InternalPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,6 +67,10 @@ FlConsumeNewComment (
|
|||||||
FILE *Handle,
|
FILE *Handle,
|
||||||
ASL_FILE_STATUS *Status);
|
ASL_FILE_STATUS *Status);
|
||||||
|
|
||||||
|
static void
|
||||||
|
CmDumpAllEvents (
|
||||||
|
void);
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
@ -717,45 +721,65 @@ CmDoOutputFiles (
|
|||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: CmDumpEvent
|
* FUNCTION: CmDumpAllEvents
|
||||||
*
|
*
|
||||||
* PARAMETERS: Event - A compiler event struct
|
* PARAMETERS: None
|
||||||
*
|
*
|
||||||
* RETURN: None.
|
* RETURN: None.
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Dump a compiler event struct
|
* DESCRIPTION: Dump all compiler events
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
CmDumpEvent (
|
CmDumpAllEvents (
|
||||||
ASL_EVENT_INFO *Event)
|
void)
|
||||||
{
|
{
|
||||||
|
ASL_EVENT_INFO *Event;
|
||||||
UINT32 Delta;
|
UINT32 Delta;
|
||||||
UINT32 USec;
|
UINT32 USec;
|
||||||
UINT32 MSec;
|
UINT32 MSec;
|
||||||
|
UINT32 i;
|
||||||
|
|
||||||
if (!Event->Valid)
|
|
||||||
|
Event = AslGbl_Events;
|
||||||
|
|
||||||
|
DbgPrint (ASL_DEBUG_OUTPUT, "\n\nElapsed time for major events\n\n");
|
||||||
|
if (Gbl_CompileTimesFlag)
|
||||||
{
|
{
|
||||||
return;
|
printf ("\nElapsed time for major events\n\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Delta will be in 100-nanosecond units */
|
for (i = 0; i < AslGbl_NextEvent; i++)
|
||||||
|
|
||||||
Delta = (UINT32) (Event->EndTime - Event->StartTime);
|
|
||||||
|
|
||||||
USec = Delta / 10;
|
|
||||||
MSec = Delta / 10000;
|
|
||||||
|
|
||||||
/* Round milliseconds up */
|
|
||||||
|
|
||||||
if ((USec - (MSec * 1000)) >= 500)
|
|
||||||
{
|
{
|
||||||
MSec++;
|
if (Event->Valid)
|
||||||
}
|
{
|
||||||
|
/* Delta will be in 100-nanosecond units */
|
||||||
|
|
||||||
DbgPrint (ASL_DEBUG_OUTPUT, "%8u usec %8u msec - %s\n",
|
Delta = (UINT32) (Event->EndTime - Event->StartTime);
|
||||||
USec, MSec, Event->EventName);
|
|
||||||
|
USec = Delta / 10;
|
||||||
|
MSec = Delta / 10000;
|
||||||
|
|
||||||
|
/* Round milliseconds up */
|
||||||
|
|
||||||
|
if ((USec - (MSec * 1000)) >= 500)
|
||||||
|
{
|
||||||
|
MSec++;
|
||||||
|
}
|
||||||
|
|
||||||
|
DbgPrint (ASL_DEBUG_OUTPUT, "%8u usec %8u msec - %s\n",
|
||||||
|
USec, MSec, Event->EventName);
|
||||||
|
|
||||||
|
if (Gbl_CompileTimesFlag)
|
||||||
|
{
|
||||||
|
printf ("%8u usec %8u msec - %s\n",
|
||||||
|
USec, MSec, Event->EventName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Event++;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -786,20 +810,12 @@ CmCleanupAndExit (
|
|||||||
AePrintErrorLog (ASL_FILE_STDOUT);
|
AePrintErrorLog (ASL_FILE_STDOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
DbgPrint (ASL_DEBUG_OUTPUT, "\n\nElapsed time for major events\n\n");
|
/* Emit compile times if enabled */
|
||||||
for (i = 0; i < AslGbl_NextEvent; i++)
|
|
||||||
{
|
CmDumpAllEvents ();
|
||||||
CmDumpEvent (&AslGbl_Events[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Gbl_CompileTimesFlag)
|
if (Gbl_CompileTimesFlag)
|
||||||
{
|
{
|
||||||
printf ("\nElapsed time for major events\n\n");
|
|
||||||
for (i = 0; i < AslGbl_NextEvent; i++)
|
|
||||||
{
|
|
||||||
CmDumpEvent (&AslGbl_Events[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
printf ("\nMiscellaneous compile statistics\n\n");
|
printf ("\nMiscellaneous compile statistics\n\n");
|
||||||
printf ("%11u : %s\n", TotalParseNodes, "Parse nodes");
|
printf ("%11u : %s\n", TotalParseNodes, "Parse nodes");
|
||||||
printf ("%11u : %s\n", Gbl_NsLookupCount, "Namespace searches");
|
printf ("%11u : %s\n", Gbl_NsLookupCount, "Namespace searches");
|
||||||
|
@ -341,7 +341,7 @@ AePrintException (
|
|||||||
|
|
||||||
if (Gbl_VerboseErrors)
|
if (Gbl_VerboseErrors)
|
||||||
{
|
{
|
||||||
fprintf (OutputFile, "%s %4.4d - ",
|
fprintf (OutputFile, "%s %4.4d -",
|
||||||
AslErrorLevel[Enode->Level],
|
AslErrorLevel[Enode->Level],
|
||||||
Enode->MessageId + ((Enode->Level+1) * 1000));
|
Enode->MessageId + ((Enode->Level+1) * 1000));
|
||||||
}
|
}
|
||||||
|
@ -754,7 +754,7 @@ FlOpenInputFile (
|
|||||||
|
|
||||||
/* Open the input ASL file, text mode */
|
/* Open the input ASL file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_INPUT, InputFilename, "r");
|
FlOpenFile (ASL_FILE_INPUT, InputFilename, "rt");
|
||||||
AslCompilerin = Gbl_Files[ASL_FILE_INPUT].Handle;
|
AslCompilerin = Gbl_Files[ASL_FILE_INPUT].Handle;
|
||||||
|
|
||||||
return (AE_OK);
|
return (AE_OK);
|
||||||
@ -838,7 +838,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the hex file, text mode */
|
/* Open the hex file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_HEX_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
AslCompilerSignon (ASL_FILE_HEX_OUTPUT);
|
AslCompilerSignon (ASL_FILE_HEX_OUTPUT);
|
||||||
AslCompilerFileHeader (ASL_FILE_HEX_OUTPUT);
|
AslCompilerFileHeader (ASL_FILE_HEX_OUTPUT);
|
||||||
@ -889,7 +889,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the listing file, text mode */
|
/* Open the listing file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_LISTING_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_LISTING_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
AslCompilerSignon (ASL_FILE_LISTING_OUTPUT);
|
AslCompilerSignon (ASL_FILE_LISTING_OUTPUT);
|
||||||
AslCompilerFileHeader (ASL_FILE_LISTING_OUTPUT);
|
AslCompilerFileHeader (ASL_FILE_LISTING_OUTPUT);
|
||||||
@ -907,7 +907,7 @@ FlOpenMiscOutputFiles (
|
|||||||
return (AE_ERROR);
|
return (AE_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_PREPROCESSOR, Filename, "w+b");
|
FlOpenFile (ASL_FILE_PREPROCESSOR, Filename, "w+t");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* All done for data table compiler */
|
/* All done for data table compiler */
|
||||||
@ -952,7 +952,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the assembly code source file, text mode */
|
/* Open the assembly code source file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_ASM_SOURCE_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_ASM_SOURCE_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
AslCompilerSignon (ASL_FILE_ASM_SOURCE_OUTPUT);
|
AslCompilerSignon (ASL_FILE_ASM_SOURCE_OUTPUT);
|
||||||
AslCompilerFileHeader (ASL_FILE_ASM_SOURCE_OUTPUT);
|
AslCompilerFileHeader (ASL_FILE_ASM_SOURCE_OUTPUT);
|
||||||
@ -972,7 +972,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the C code source file, text mode */
|
/* Open the C code source file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_C_SOURCE_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_C_SOURCE_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
FlPrintFile (ASL_FILE_C_SOURCE_OUTPUT, "/*\n");
|
FlPrintFile (ASL_FILE_C_SOURCE_OUTPUT, "/*\n");
|
||||||
AslCompilerSignon (ASL_FILE_C_SOURCE_OUTPUT);
|
AslCompilerSignon (ASL_FILE_C_SOURCE_OUTPUT);
|
||||||
@ -993,7 +993,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the assembly include file, text mode */
|
/* Open the assembly include file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_ASM_INCLUDE_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_ASM_INCLUDE_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
AslCompilerSignon (ASL_FILE_ASM_INCLUDE_OUTPUT);
|
AslCompilerSignon (ASL_FILE_ASM_INCLUDE_OUTPUT);
|
||||||
AslCompilerFileHeader (ASL_FILE_ASM_INCLUDE_OUTPUT);
|
AslCompilerFileHeader (ASL_FILE_ASM_INCLUDE_OUTPUT);
|
||||||
@ -1013,7 +1013,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the C include file, text mode */
|
/* Open the C include file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_C_INCLUDE_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_C_INCLUDE_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
FlPrintFile (ASL_FILE_C_INCLUDE_OUTPUT, "/*\n");
|
FlPrintFile (ASL_FILE_C_INCLUDE_OUTPUT, "/*\n");
|
||||||
AslCompilerSignon (ASL_FILE_C_INCLUDE_OUTPUT);
|
AslCompilerSignon (ASL_FILE_C_INCLUDE_OUTPUT);
|
||||||
@ -1034,7 +1034,7 @@ FlOpenMiscOutputFiles (
|
|||||||
|
|
||||||
/* Open the namespace file, text mode */
|
/* Open the namespace file, text mode */
|
||||||
|
|
||||||
FlOpenFile (ASL_FILE_NAMESPACE_OUTPUT, Filename, "w+");
|
FlOpenFile (ASL_FILE_NAMESPACE_OUTPUT, Filename, "w+t");
|
||||||
|
|
||||||
AslCompilerSignon (ASL_FILE_NAMESPACE_OUTPUT);
|
AslCompilerSignon (ASL_FILE_NAMESPACE_OUTPUT);
|
||||||
AslCompilerFileHeader (ASL_FILE_NAMESPACE_OUTPUT);
|
AslCompilerFileHeader (ASL_FILE_NAMESPACE_OUTPUT);
|
||||||
|
@ -1098,7 +1098,7 @@ LkNamespaceLocateBegin (
|
|||||||
|
|
||||||
if (Message)
|
if (Message)
|
||||||
{
|
{
|
||||||
sprintf (MsgBuffer, "Tag: %u bit%s, Field: %u bit%s",
|
sprintf (MsgBuffer, "Size mismatch, Tag: %u bit%s, Field: %u bit%s",
|
||||||
TagBitLength, (TagBitLength > 1) ? "s" : "",
|
TagBitLength, (TagBitLength > 1) ? "s" : "",
|
||||||
FieldBitLength, (FieldBitLength > 1) ? "s" : "");
|
FieldBitLength, (FieldBitLength > 1) ? "s" : "");
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ Options (
|
|||||||
void);
|
void);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
HelpMessage (
|
FilenameHelp (
|
||||||
void);
|
void);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -170,27 +170,36 @@ Options (
|
|||||||
ACPI_OPTION ("-g", "Get ACPI tables and write to files (*.dat)");
|
ACPI_OPTION ("-g", "Get ACPI tables and write to files (*.dat)");
|
||||||
|
|
||||||
printf ("\nHelp:\n");
|
printf ("\nHelp:\n");
|
||||||
ACPI_OPTION ("-h", "Additional help and compiler debug options");
|
ACPI_OPTION ("-h", "This message");
|
||||||
ACPI_OPTION ("-hc", "Display operators allowed in constant expressions");
|
ACPI_OPTION ("-hc", "Display operators allowed in constant expressions");
|
||||||
|
ACPI_OPTION ("-hf", "Display help for output filename generation");
|
||||||
ACPI_OPTION ("-hr", "Display ACPI reserved method names");
|
ACPI_OPTION ("-hr", "Display ACPI reserved method names");
|
||||||
ACPI_OPTION ("-ht", "Display currently supported ACPI table names");
|
ACPI_OPTION ("-ht", "Display currently supported ACPI table names");
|
||||||
|
|
||||||
|
printf ("\nDebug Options:\n");
|
||||||
|
ACPI_OPTION ("-bf -bt", "Create debug file (full or parse tree only) (*.txt)");
|
||||||
|
ACPI_OPTION ("-f", "Ignore errors, force creation of AML output file(s)");
|
||||||
|
ACPI_OPTION ("-n", "Parse only, no output generation");
|
||||||
|
ACPI_OPTION ("-ot", "Display compile times and statistics");
|
||||||
|
ACPI_OPTION ("-x <level>", "Set debug level for trace output");
|
||||||
|
ACPI_OPTION ("-z", "Do not insert new compiler ID for DataTables");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: HelpMessage
|
* FUNCTION: FilenameHelp
|
||||||
*
|
*
|
||||||
* PARAMETERS: None
|
* PARAMETERS: None
|
||||||
*
|
*
|
||||||
* RETURN: None
|
* RETURN: None
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Display help message
|
* DESCRIPTION: Display help message for output filename generation
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
HelpMessage (
|
FilenameHelp (
|
||||||
void)
|
void)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -202,17 +211,6 @@ HelpMessage (
|
|||||||
printf (" 2) The prefix of the AMLFileName in the ASL Definition Block\n");
|
printf (" 2) The prefix of the AMLFileName in the ASL Definition Block\n");
|
||||||
printf (" 3) The prefix of the input filename\n");
|
printf (" 3) The prefix of the input filename\n");
|
||||||
printf ("\n");
|
printf ("\n");
|
||||||
|
|
||||||
Options ();
|
|
||||||
|
|
||||||
printf ("\nCompiler/Disassembler Debug Options:\n");
|
|
||||||
ACPI_OPTION ("-bb -bp -bt", "Create compiler debug/trace file (*.txt)");
|
|
||||||
ACPI_OPTION ("", "Types: Parse/Tree/Both");
|
|
||||||
ACPI_OPTION ("-f", "Ignore errors, force creation of AML output file(s)");
|
|
||||||
ACPI_OPTION ("-n", "Parse only, no output generation");
|
|
||||||
ACPI_OPTION ("-ot", "Display compile times");
|
|
||||||
ACPI_OPTION ("-x <level>", "Set debug level for trace output");
|
|
||||||
ACPI_OPTION ("-z", "Do not insert new compiler ID for DataTables");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -430,13 +428,7 @@ AslDoOptions (
|
|||||||
case 'b': /* Debug output options */
|
case 'b': /* Debug output options */
|
||||||
switch (AcpiGbl_Optarg[0])
|
switch (AcpiGbl_Optarg[0])
|
||||||
{
|
{
|
||||||
case 'b':
|
case 'f':
|
||||||
AslCompilerdebug = 1; /* same as yydebug */
|
|
||||||
DtParserdebug = 1;
|
|
||||||
PrParserdebug = 1;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'p':
|
|
||||||
AslCompilerdebug = 1; /* same as yydebug */
|
AslCompilerdebug = 1; /* same as yydebug */
|
||||||
DtParserdebug = 1;
|
DtParserdebug = 1;
|
||||||
PrParserdebug = 1;
|
PrParserdebug = 1;
|
||||||
@ -530,13 +522,17 @@ AslDoOptions (
|
|||||||
switch (AcpiGbl_Optarg[0])
|
switch (AcpiGbl_Optarg[0])
|
||||||
{
|
{
|
||||||
case '^':
|
case '^':
|
||||||
HelpMessage ();
|
Usage ();
|
||||||
exit (0);
|
exit (0);
|
||||||
|
|
||||||
case 'c':
|
case 'c':
|
||||||
UtDisplayConstantOpcodes ();
|
UtDisplayConstantOpcodes ();
|
||||||
exit (0);
|
exit (0);
|
||||||
|
|
||||||
|
case 'f':
|
||||||
|
FilenameHelp ();
|
||||||
|
exit (0);
|
||||||
|
|
||||||
case 'r':
|
case 'r':
|
||||||
/* reserved names */
|
/* reserved names */
|
||||||
|
|
||||||
|
@ -92,19 +92,23 @@ static void
|
|||||||
AslDoLineDirective (
|
AslDoLineDirective (
|
||||||
void)
|
void)
|
||||||
{
|
{
|
||||||
char c;
|
int c;
|
||||||
char *Token;
|
char *Token;
|
||||||
UINT32 LineNumber;
|
UINT32 LineNumber;
|
||||||
char *Filename;
|
char *Filename;
|
||||||
|
UINT32 i;
|
||||||
|
|
||||||
|
|
||||||
/* Eat the entire line that contains the #line directive */
|
/* Eat the entire line that contains the #line directive */
|
||||||
|
|
||||||
while ((c = (char) input()) != '\n' && c != EOF)
|
Gbl_LineBufPtr = Gbl_CurrentLineBuffer;
|
||||||
|
|
||||||
|
while ((c = input()) != '\n' && c != EOF)
|
||||||
{
|
{
|
||||||
AslInsertLineBuffer (c);
|
*Gbl_LineBufPtr = c;
|
||||||
|
Gbl_LineBufPtr++;
|
||||||
}
|
}
|
||||||
AslInsertLineBuffer (0);
|
*Gbl_LineBufPtr = 0;
|
||||||
|
|
||||||
/* First argument is the actual line number */
|
/* First argument is the actual line number */
|
||||||
|
|
||||||
@ -114,10 +118,23 @@ AslDoLineDirective (
|
|||||||
goto ResetAndExit;
|
goto ResetAndExit;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert line number. Subtract one to handle _this_ line */
|
/* First argument is the line number */
|
||||||
|
|
||||||
LineNumber = (UINT32) UtDoConstant (Token);
|
LineNumber = (UINT32) UtDoConstant (Token);
|
||||||
FlSetLineNumber (LineNumber - 1);
|
|
||||||
|
/* Emit the appropriate number of newlines */
|
||||||
|
|
||||||
|
Gbl_CurrentColumn = 0;
|
||||||
|
if (LineNumber > Gbl_CurrentLineNumber)
|
||||||
|
{
|
||||||
|
for (i = 0; i < (LineNumber - Gbl_CurrentLineNumber); i++)
|
||||||
|
{
|
||||||
|
FlWriteFile (ASL_FILE_SOURCE_OUTPUT, "\n", 1);
|
||||||
|
Gbl_CurrentColumn++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FlSetLineNumber (LineNumber);
|
||||||
|
|
||||||
/* Second argument is the optional filename (in double quotes) */
|
/* Second argument is the optional filename (in double quotes) */
|
||||||
|
|
||||||
@ -132,7 +149,12 @@ AslDoLineDirective (
|
|||||||
/* Third argument is not supported at this time */
|
/* Third argument is not supported at this time */
|
||||||
|
|
||||||
ResetAndExit:
|
ResetAndExit:
|
||||||
AslResetCurrentLineBuffer ();
|
|
||||||
|
/* Reset globals for a new line */
|
||||||
|
|
||||||
|
Gbl_CurrentLineOffset += Gbl_CurrentColumn;
|
||||||
|
Gbl_CurrentColumn = 0;
|
||||||
|
Gbl_LineBufPtr = Gbl_CurrentLineBuffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -408,8 +430,8 @@ static char
|
|||||||
AslDoComment (
|
AslDoComment (
|
||||||
void)
|
void)
|
||||||
{
|
{
|
||||||
char c;
|
int c;
|
||||||
char c1 = 0;
|
int c1 = 0;
|
||||||
|
|
||||||
|
|
||||||
AslInsertLineBuffer ('/');
|
AslInsertLineBuffer ('/');
|
||||||
@ -419,7 +441,7 @@ loop:
|
|||||||
|
|
||||||
/* Eat chars until end-of-comment */
|
/* Eat chars until end-of-comment */
|
||||||
|
|
||||||
while ((c = (char) input()) != '*' && c != EOF)
|
while ((c = input()) != '*' && c != EOF)
|
||||||
{
|
{
|
||||||
AslInsertLineBuffer (c);
|
AslInsertLineBuffer (c);
|
||||||
c1 = c;
|
c1 = c;
|
||||||
@ -446,7 +468,7 @@ loop:
|
|||||||
|
|
||||||
AslInsertLineBuffer (c);
|
AslInsertLineBuffer (c);
|
||||||
|
|
||||||
if ((c1 = (char) input()) != '/' && c1 != EOF)
|
if ((c1 = input()) != '/' && c1 != EOF)
|
||||||
{
|
{
|
||||||
unput(c1);
|
unput(c1);
|
||||||
goto loop;
|
goto loop;
|
||||||
@ -489,13 +511,13 @@ static char
|
|||||||
AslDoCommentType2 (
|
AslDoCommentType2 (
|
||||||
void)
|
void)
|
||||||
{
|
{
|
||||||
char c;
|
int c;
|
||||||
|
|
||||||
|
|
||||||
AslInsertLineBuffer ('/');
|
AslInsertLineBuffer ('/');
|
||||||
AslInsertLineBuffer ('/');
|
AslInsertLineBuffer ('/');
|
||||||
|
|
||||||
while ((c = (char) input()) != '\n' && c != EOF)
|
while ((c = input()) != '\n' && c != EOF)
|
||||||
{
|
{
|
||||||
AslInsertLineBuffer (c);
|
AslInsertLineBuffer (c);
|
||||||
}
|
}
|
||||||
@ -531,7 +553,7 @@ AslDoStringLiteral (
|
|||||||
char *StringBuffer = MsgBuffer;
|
char *StringBuffer = MsgBuffer;
|
||||||
char *EndBuffer = MsgBuffer + ASL_MSG_BUFFER_SIZE;
|
char *EndBuffer = MsgBuffer + ASL_MSG_BUFFER_SIZE;
|
||||||
char *CleanString;
|
char *CleanString;
|
||||||
char StringChar;
|
int StringChar;
|
||||||
UINT32 State = ASL_NORMAL_CHAR;
|
UINT32 State = ASL_NORMAL_CHAR;
|
||||||
UINT32 i = 0;
|
UINT32 i = 0;
|
||||||
UINT8 Digit;
|
UINT8 Digit;
|
||||||
@ -544,7 +566,7 @@ AslDoStringLiteral (
|
|||||||
* source line buffer.
|
* source line buffer.
|
||||||
*/
|
*/
|
||||||
AslInsertLineBuffer ('\"');
|
AslInsertLineBuffer ('\"');
|
||||||
while ((StringChar = (char) input()) != EOF)
|
while ((StringChar = input()) != EOF)
|
||||||
{
|
{
|
||||||
AslInsertLineBuffer (StringChar);
|
AslInsertLineBuffer (StringChar);
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ UtDisplaySupportedTables (
|
|||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: AcpiPsDisplayConstantOpcodes
|
* FUNCTION: UtDisplayConstantOpcodes
|
||||||
*
|
*
|
||||||
* PARAMETERS: None
|
* PARAMETERS: None
|
||||||
*
|
*
|
||||||
@ -172,11 +172,11 @@ UtDisplayConstantOpcodes (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtLocalCalloc
|
* FUNCTION: UtLocalCalloc
|
||||||
*
|
*
|
||||||
* PARAMETERS: Size - Bytes to be allocated
|
* PARAMETERS: Size - Bytes to be allocated
|
||||||
*
|
*
|
||||||
* RETURN: Pointer to the allocated memory. Guaranteed to be valid.
|
* RETURN: Pointer to the allocated memory. Guaranteed to be valid.
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Allocate zero-initialized memory. Aborts the compile on an
|
* DESCRIPTION: Allocate zero-initialized memory. Aborts the compile on an
|
||||||
* allocation failure, on the assumption that nothing more can be
|
* allocation failure, on the assumption that nothing more can be
|
||||||
* accomplished.
|
* accomplished.
|
||||||
*
|
*
|
||||||
@ -211,9 +211,9 @@ UtLocalCalloc (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtBeginEvent
|
* FUNCTION: UtBeginEvent
|
||||||
*
|
*
|
||||||
* PARAMETERS: Name - Ascii name of this event
|
* PARAMETERS: Name - Ascii name of this event
|
||||||
*
|
*
|
||||||
* RETURN: Event - Event number (integer index)
|
* RETURN: Event number (integer index)
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Saves the current time with this event
|
* DESCRIPTION: Saves the current time with this event
|
||||||
*
|
*
|
||||||
@ -244,7 +244,7 @@ UtBeginEvent (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtEndEvent
|
* FUNCTION: UtEndEvent
|
||||||
*
|
*
|
||||||
* PARAMETERS: Event - Event number (integer index)
|
* PARAMETERS: Event - Event number (integer index)
|
||||||
*
|
*
|
||||||
* RETURN: None
|
* RETURN: None
|
||||||
*
|
*
|
||||||
@ -254,7 +254,7 @@ UtBeginEvent (
|
|||||||
|
|
||||||
void
|
void
|
||||||
UtEndEvent (
|
UtEndEvent (
|
||||||
UINT8 Event)
|
UINT8 Event)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Event >= ASL_NUM_EVENTS)
|
if (Event >= ASL_NUM_EVENTS)
|
||||||
@ -272,7 +272,7 @@ UtEndEvent (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtHexCharToValue
|
* FUNCTION: UtHexCharToValue
|
||||||
*
|
*
|
||||||
* PARAMETERS: HexChar - Hex character in Ascii
|
* PARAMETERS: HexChar - Hex character in Ascii
|
||||||
*
|
*
|
||||||
* RETURN: The binary value of the hex character
|
* RETURN: The binary value of the hex character
|
||||||
*
|
*
|
||||||
@ -303,12 +303,13 @@ UtHexCharToValue (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtConvertByteToHex
|
* FUNCTION: UtConvertByteToHex
|
||||||
*
|
*
|
||||||
* PARAMETERS: RawByte - Binary data
|
* PARAMETERS: RawByte - Binary data
|
||||||
* Buffer - Pointer to where the hex bytes will be stored
|
* Buffer - Pointer to where the hex bytes will be
|
||||||
|
* stored
|
||||||
*
|
*
|
||||||
* RETURN: Ascii hex byte is stored in Buffer.
|
* RETURN: Ascii hex byte is stored in Buffer.
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
|
* DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
|
||||||
* with "0x"
|
* with "0x"
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -331,12 +332,13 @@ UtConvertByteToHex (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtConvertByteToAsmHex
|
* FUNCTION: UtConvertByteToAsmHex
|
||||||
*
|
*
|
||||||
* PARAMETERS: RawByte - Binary data
|
* PARAMETERS: RawByte - Binary data
|
||||||
* Buffer - Pointer to where the hex bytes will be stored
|
* Buffer - Pointer to where the hex bytes will be
|
||||||
|
* stored
|
||||||
*
|
*
|
||||||
* RETURN: Ascii hex byte is stored in Buffer.
|
* RETURN: Ascii hex byte is stored in Buffer.
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
|
* DESCRIPTION: Perform hex-to-ascii translation. The return data is prefixed
|
||||||
* with "0x"
|
* with "0x"
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -358,13 +360,13 @@ UtConvertByteToAsmHex (
|
|||||||
*
|
*
|
||||||
* FUNCTION: DbgPrint
|
* FUNCTION: DbgPrint
|
||||||
*
|
*
|
||||||
* PARAMETERS: Type - Type of output
|
* PARAMETERS: Type - Type of output
|
||||||
* Fmt - Printf format string
|
* Fmt - Printf format string
|
||||||
* ... - variable printf list
|
* ... - variable printf list
|
||||||
*
|
*
|
||||||
* RETURN: None
|
* RETURN: None
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Conditional print statement. Prints to stderr only if the
|
* DESCRIPTION: Conditional print statement. Prints to stderr only if the
|
||||||
* debug flag is set.
|
* debug flag is set.
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -438,7 +440,7 @@ UtPrintFormattedName (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtSetParseOpName
|
* FUNCTION: UtSetParseOpName
|
||||||
*
|
*
|
||||||
* PARAMETERS: Op
|
* PARAMETERS: Op - Parse op to be named.
|
||||||
*
|
*
|
||||||
* RETURN: None
|
* RETURN: None
|
||||||
*
|
*
|
||||||
@ -460,7 +462,7 @@ UtSetParseOpName (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtDisplaySummary
|
* FUNCTION: UtDisplaySummary
|
||||||
*
|
*
|
||||||
* PARAMETERS: FileID - ID of outpout file
|
* PARAMETERS: FileID - ID of outpout file
|
||||||
*
|
*
|
||||||
* RETURN: None
|
* RETURN: None
|
||||||
*
|
*
|
||||||
@ -571,11 +573,11 @@ UtDisplaySummary (
|
|||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: UtDisplaySummary
|
* FUNCTION: UtCheckIntegerRange
|
||||||
*
|
*
|
||||||
* PARAMETERS: Op - Integer parse node
|
* PARAMETERS: Op - Integer parse node
|
||||||
* LowValue - Smallest allowed value
|
* LowValue - Smallest allowed value
|
||||||
* HighValue - Largest allowed value
|
* HighValue - Largest allowed value
|
||||||
*
|
*
|
||||||
* RETURN: Op if OK, otherwise NULL
|
* RETURN: Op if OK, otherwise NULL
|
||||||
*
|
*
|
||||||
@ -626,11 +628,11 @@ UtCheckIntegerRange (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtGetStringBuffer
|
* FUNCTION: UtGetStringBuffer
|
||||||
*
|
*
|
||||||
* PARAMETERS: Length - Size of buffer requested
|
* PARAMETERS: Length - Size of buffer requested
|
||||||
*
|
*
|
||||||
* RETURN: Pointer to the buffer. Aborts on allocation failure
|
* RETURN: Pointer to the buffer. Aborts on allocation failure
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Allocate a string buffer. Bypass the local
|
* DESCRIPTION: Allocate a string buffer. Bypass the local
|
||||||
* dynamic memory manager for performance reasons (This has a
|
* dynamic memory manager for performance reasons (This has a
|
||||||
* major impact on the speed of the compiler.)
|
* major impact on the speed of the compiler.)
|
||||||
*
|
*
|
||||||
@ -661,8 +663,8 @@ UtGetStringBuffer (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtInternalizeName
|
* FUNCTION: UtInternalizeName
|
||||||
*
|
*
|
||||||
* PARAMETERS: ExternalName - Name to convert
|
* PARAMETERS: ExternalName - Name to convert
|
||||||
* ConvertedName - Where the converted name is returned
|
* ConvertedName - Where the converted name is returned
|
||||||
*
|
*
|
||||||
* RETURN: Status
|
* RETURN: Status
|
||||||
*
|
*
|
||||||
@ -714,8 +716,8 @@ UtInternalizeName (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtPadNameWithUnderscores
|
* FUNCTION: UtPadNameWithUnderscores
|
||||||
*
|
*
|
||||||
* PARAMETERS: NameSeg - Input nameseg
|
* PARAMETERS: NameSeg - Input nameseg
|
||||||
* PaddedNameSeg - Output padded nameseg
|
* PaddedNameSeg - Output padded nameseg
|
||||||
*
|
*
|
||||||
* RETURN: Padded nameseg.
|
* RETURN: Padded nameseg.
|
||||||
*
|
*
|
||||||
@ -752,8 +754,8 @@ UtPadNameWithUnderscores (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtAttachNameseg
|
* FUNCTION: UtAttachNameseg
|
||||||
*
|
*
|
||||||
* PARAMETERS: Op - Parent parse node
|
* PARAMETERS: Op - Parent parse node
|
||||||
* Name - Full ExternalName
|
* Name - Full ExternalName
|
||||||
*
|
*
|
||||||
* RETURN: None; Sets the NameSeg field in parent node
|
* RETURN: None; Sets the NameSeg field in parent node
|
||||||
*
|
*
|
||||||
@ -809,12 +811,12 @@ UtAttachNameseg (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtAttachNamepathToOwner
|
* FUNCTION: UtAttachNamepathToOwner
|
||||||
*
|
*
|
||||||
* PARAMETERS: Op - Parent parse node
|
* PARAMETERS: Op - Parent parse node
|
||||||
* NameOp - Node that contains the name
|
* NameOp - Node that contains the name
|
||||||
*
|
*
|
||||||
* RETURN: Sets the ExternalName and Namepath in the parent node
|
* RETURN: Sets the ExternalName and Namepath in the parent node
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Store the name in two forms in the parent node: The original
|
* DESCRIPTION: Store the name in two forms in the parent node: The original
|
||||||
* (external) name, and the internalized name that is used within
|
* (external) name, and the internalized name that is used within
|
||||||
* the ACPI namespace manager.
|
* the ACPI namespace manager.
|
||||||
*
|
*
|
||||||
@ -854,11 +856,11 @@ UtAttachNamepathToOwner (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtDoConstant
|
* FUNCTION: UtDoConstant
|
||||||
*
|
*
|
||||||
* PARAMETERS: String - Hex, Octal, or Decimal string
|
* PARAMETERS: String - Hex, Octal, or Decimal string
|
||||||
*
|
*
|
||||||
* RETURN: Converted Integer
|
* RETURN: Converted Integer
|
||||||
*
|
*
|
||||||
* DESCRIPTION: Convert a string to an integer. With error checking.
|
* DESCRIPTION: Convert a string to an integer, with error checking.
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
@ -889,10 +891,10 @@ UtDoConstant (
|
|||||||
*
|
*
|
||||||
* FUNCTION: UtStrtoul64
|
* FUNCTION: UtStrtoul64
|
||||||
*
|
*
|
||||||
* PARAMETERS: String - Null terminated string
|
* PARAMETERS: String - Null terminated string
|
||||||
* Terminater - Where a pointer to the terminating byte is
|
* Terminater - Where a pointer to the terminating byte
|
||||||
* returned
|
* is returned
|
||||||
* Base - Radix of the string
|
* Base - Radix of the string
|
||||||
*
|
*
|
||||||
* RETURN: Converted value
|
* RETURN: Converted value
|
||||||
*
|
*
|
||||||
@ -1072,5 +1074,3 @@ UtStrtoul64 (
|
|||||||
|
|
||||||
return (Status);
|
return (Status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ DtCreateAllTemplates (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create the "special ACPI tables:
|
* Create the special ACPI tables:
|
||||||
* 1) DSDT/SSDT are AML tables, not data tables
|
* 1) DSDT/SSDT are AML tables, not data tables
|
||||||
* 2) FACS and RSDP have non-standard headers
|
* 2) FACS and RSDP have non-standard headers
|
||||||
*/
|
*/
|
||||||
|
@ -792,10 +792,12 @@ AcpiDbDisplayGpes (
|
|||||||
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
||||||
ACPI_GPE_REGISTER_INFO *GpeRegisterInfo;
|
ACPI_GPE_REGISTER_INFO *GpeRegisterInfo;
|
||||||
char *GpeType;
|
char *GpeType;
|
||||||
|
ACPI_GPE_NOTIFY_INFO *Notify;
|
||||||
UINT32 GpeIndex;
|
UINT32 GpeIndex;
|
||||||
UINT32 Block = 0;
|
UINT32 Block = 0;
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
UINT32 j;
|
UINT32 j;
|
||||||
|
UINT32 Count;
|
||||||
char Buffer[80];
|
char Buffer[80];
|
||||||
ACPI_BUFFER RetBuf;
|
ACPI_BUFFER RetBuf;
|
||||||
ACPI_STATUS Status;
|
ACPI_STATUS Status;
|
||||||
@ -916,7 +918,14 @@ AcpiDbDisplayGpes (
|
|||||||
AcpiOsPrintf ("Handler");
|
AcpiOsPrintf ("Handler");
|
||||||
break;
|
break;
|
||||||
case ACPI_GPE_DISPATCH_NOTIFY:
|
case ACPI_GPE_DISPATCH_NOTIFY:
|
||||||
AcpiOsPrintf ("Notify");
|
Count = 0;
|
||||||
|
Notify = GpeEventInfo->Dispatch.NotifyList;
|
||||||
|
while (Notify)
|
||||||
|
{
|
||||||
|
Count++;
|
||||||
|
Notify = Notify->Next;
|
||||||
|
}
|
||||||
|
AcpiOsPrintf ("Implicit Notify on %u devices", Count);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
AcpiOsPrintf ("UNKNOWN: %X",
|
AcpiOsPrintf ("UNKNOWN: %X",
|
||||||
|
@ -872,8 +872,8 @@ AcpiDbMethodThread (
|
|||||||
|
|
||||||
if (Info->InitArgs)
|
if (Info->InitArgs)
|
||||||
{
|
{
|
||||||
AcpiDbUInt32ToHexString (Info->NumCreated, Info->IndexOfThreadStr);
|
AcpiDbUint32ToHexString (Info->NumCreated, Info->IndexOfThreadStr);
|
||||||
AcpiDbUInt32ToHexString ((UINT32) AcpiOsGetThreadId (), Info->IdOfThreadStr);
|
AcpiDbUint32ToHexString ((UINT32) AcpiOsGetThreadId (), Info->IdOfThreadStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Info->Threads && (Info->NumCreated < Info->NumThreads))
|
if (Info->Threads && (Info->NumCreated < Info->NumThreads))
|
||||||
@ -1063,7 +1063,7 @@ AcpiDbCreateExecutionThreads (
|
|||||||
AcpiGbl_DbMethodInfo.ArgTypes[1] = ACPI_TYPE_INTEGER;
|
AcpiGbl_DbMethodInfo.ArgTypes[1] = ACPI_TYPE_INTEGER;
|
||||||
AcpiGbl_DbMethodInfo.ArgTypes[2] = ACPI_TYPE_INTEGER;
|
AcpiGbl_DbMethodInfo.ArgTypes[2] = ACPI_TYPE_INTEGER;
|
||||||
|
|
||||||
AcpiDbUInt32ToHexString (NumThreads, AcpiGbl_DbMethodInfo.NumThreadsStr);
|
AcpiDbUint32ToHexString (NumThreads, AcpiGbl_DbMethodInfo.NumThreadsStr);
|
||||||
|
|
||||||
AcpiDbExecuteSetup (&AcpiGbl_DbMethodInfo);
|
AcpiDbExecuteSetup (&AcpiGbl_DbMethodInfo);
|
||||||
|
|
||||||
|
@ -360,7 +360,7 @@ AcpiDbLocalNsLookup (
|
|||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: AcpiDbUInt32ToHexString
|
* FUNCTION: AcpiDbUint32ToHexString
|
||||||
*
|
*
|
||||||
* PARAMETERS: Value - The value to be converted to string
|
* PARAMETERS: Value - The value to be converted to string
|
||||||
* Buffer - Buffer for result (not less than 11 bytes)
|
* Buffer - Buffer for result (not less than 11 bytes)
|
||||||
@ -375,7 +375,7 @@ AcpiDbLocalNsLookup (
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
void
|
void
|
||||||
AcpiDbUInt32ToHexString (
|
AcpiDbUint32ToHexString (
|
||||||
UINT32 Value,
|
UINT32 Value,
|
||||||
char *Buffer)
|
char *Buffer)
|
||||||
{
|
{
|
||||||
|
@ -46,6 +46,7 @@
|
|||||||
#include <contrib/dev/acpica/include/acparser.h>
|
#include <contrib/dev/acpica/include/acparser.h>
|
||||||
#include <contrib/dev/acpica/include/amlcode.h>
|
#include <contrib/dev/acpica/include/amlcode.h>
|
||||||
#include <contrib/dev/acpica/include/acdisasm.h>
|
#include <contrib/dev/acpica/include/acdisasm.h>
|
||||||
|
#include <contrib/dev/acpica/include/acnamesp.h>
|
||||||
|
|
||||||
#ifdef ACPI_DISASSEMBLER
|
#ifdef ACPI_DISASSEMBLER
|
||||||
|
|
||||||
@ -59,6 +60,218 @@ AcpiDmMatchKeyword (
|
|||||||
ACPI_PARSE_OBJECT *Op);
|
ACPI_PARSE_OBJECT *Op);
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AcpiDmPredefinedDescription
|
||||||
|
*
|
||||||
|
* PARAMETERS: Op - Name() parse object
|
||||||
|
*
|
||||||
|
* RETURN: None
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Emit a description comment for a predefined ACPI name.
|
||||||
|
* Used for iASL compiler only.
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
void
|
||||||
|
AcpiDmPredefinedDescription (
|
||||||
|
ACPI_PARSE_OBJECT *Op)
|
||||||
|
{
|
||||||
|
#ifdef ACPI_ASL_COMPILER
|
||||||
|
const AH_PREDEFINED_NAME *Info;
|
||||||
|
char *NameString;
|
||||||
|
int LastCharIsDigit;
|
||||||
|
int LastCharsAreHex;
|
||||||
|
|
||||||
|
|
||||||
|
if (!Op)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ensure that the comment field is emitted only once */
|
||||||
|
|
||||||
|
if (Op->Common.DisasmFlags & ACPI_PARSEOP_PREDEF_CHECKED)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Op->Common.DisasmFlags |= ACPI_PARSEOP_PREDEF_CHECKED;
|
||||||
|
|
||||||
|
/* Predefined name must start with an underscore */
|
||||||
|
|
||||||
|
NameString = ACPI_CAST_PTR (char, &Op->Named.Name);
|
||||||
|
if (NameString[0] != '_')
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Check for the special ACPI names:
|
||||||
|
* _ACd, _ALd, _EJd, _Exx, _Lxx, _Qxx, _Wxx, _T_a
|
||||||
|
* (where d=decimal_digit, x=hex_digit, a=anything)
|
||||||
|
*
|
||||||
|
* Convert these to the generic name for table lookup.
|
||||||
|
* Note: NameString is guaranteed to be upper case here.
|
||||||
|
*/
|
||||||
|
LastCharIsDigit =
|
||||||
|
(ACPI_IS_DIGIT (NameString[3])); /* d */
|
||||||
|
LastCharsAreHex =
|
||||||
|
(ACPI_IS_XDIGIT (NameString[2]) && /* xx */
|
||||||
|
ACPI_IS_XDIGIT (NameString[3]));
|
||||||
|
|
||||||
|
switch (NameString[1])
|
||||||
|
{
|
||||||
|
case 'A':
|
||||||
|
if ((NameString[2] == 'C') && (LastCharIsDigit))
|
||||||
|
{
|
||||||
|
NameString = "_ACx";
|
||||||
|
}
|
||||||
|
else if ((NameString[2] == 'L') && (LastCharIsDigit))
|
||||||
|
{
|
||||||
|
NameString = "_ALx";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'E':
|
||||||
|
if ((NameString[2] == 'J') && (LastCharIsDigit))
|
||||||
|
{
|
||||||
|
NameString = "_EJx";
|
||||||
|
}
|
||||||
|
else if (LastCharsAreHex)
|
||||||
|
{
|
||||||
|
NameString = "_Exx";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'L':
|
||||||
|
if (LastCharsAreHex)
|
||||||
|
{
|
||||||
|
NameString = "_Lxx";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'Q':
|
||||||
|
if (LastCharsAreHex)
|
||||||
|
{
|
||||||
|
NameString = "_Qxx";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'T':
|
||||||
|
if (NameString[2] == '_')
|
||||||
|
{
|
||||||
|
NameString = "_T_x";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'W':
|
||||||
|
if (LastCharsAreHex)
|
||||||
|
{
|
||||||
|
NameString = "_Wxx";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Match the name in the info table */
|
||||||
|
|
||||||
|
for (Info = AslPredefinedInfo; Info->Name; Info++)
|
||||||
|
{
|
||||||
|
if (ACPI_COMPARE_NAME (NameString, Info->Name))
|
||||||
|
{
|
||||||
|
AcpiOsPrintf (" // %4.4s: %s",
|
||||||
|
NameString, ACPI_CAST_PTR (char, Info->Description));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************************************************************
|
||||||
|
*
|
||||||
|
* FUNCTION: AcpiDmFieldPredefinedDescription
|
||||||
|
*
|
||||||
|
* PARAMETERS: Op - Parse object
|
||||||
|
*
|
||||||
|
* RETURN: None
|
||||||
|
*
|
||||||
|
* DESCRIPTION: Emit a description comment for a resource descriptor tag
|
||||||
|
* (which is a predefined ACPI name.) Used for iASL compiler only.
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
void
|
||||||
|
AcpiDmFieldPredefinedDescription (
|
||||||
|
ACPI_PARSE_OBJECT *Op)
|
||||||
|
{
|
||||||
|
#ifdef ACPI_ASL_COMPILER
|
||||||
|
ACPI_PARSE_OBJECT *IndexOp;
|
||||||
|
char *Tag;
|
||||||
|
const ACPI_OPCODE_INFO *OpInfo;
|
||||||
|
const AH_PREDEFINED_NAME *Info;
|
||||||
|
|
||||||
|
|
||||||
|
if (!Op)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Ensure that the comment field is emitted only once */
|
||||||
|
|
||||||
|
if (Op->Common.DisasmFlags & ACPI_PARSEOP_PREDEF_CHECKED)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Op->Common.DisasmFlags |= ACPI_PARSEOP_PREDEF_CHECKED;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Op must be one of the Create* operators: CreateField, CreateBitField,
|
||||||
|
* CreateByteField, CreateWordField, CreateDwordField, CreateQwordField
|
||||||
|
*/
|
||||||
|
OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
|
||||||
|
if (!(OpInfo->Flags & AML_CREATE))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Second argument is the Index argument */
|
||||||
|
|
||||||
|
IndexOp = Op->Common.Value.Arg;
|
||||||
|
IndexOp = IndexOp->Common.Next;
|
||||||
|
|
||||||
|
/* Index argument must be a namepath */
|
||||||
|
|
||||||
|
if (IndexOp->Common.AmlOpcode != AML_INT_NAMEPATH_OP)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Major cheat: We previously put the Tag ptr in the Node field */
|
||||||
|
|
||||||
|
Tag = ACPI_CAST_PTR (char, IndexOp->Common.Node);
|
||||||
|
|
||||||
|
/* Match the name in the info table */
|
||||||
|
|
||||||
|
for (Info = AslPredefinedInfo; Info->Name; Info++)
|
||||||
|
{
|
||||||
|
if (ACPI_COMPARE_NAME (Tag, Info->Name))
|
||||||
|
{
|
||||||
|
AcpiOsPrintf (" // %4.4s: %s", Tag,
|
||||||
|
ACPI_CAST_PTR (char, Info->Description));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: AcpiDmMethodFlags
|
* FUNCTION: AcpiDmMethodFlags
|
||||||
|
@ -453,7 +453,7 @@ AcpiDmDescendingOp (
|
|||||||
* keep track of the current column.
|
* keep track of the current column.
|
||||||
*/
|
*/
|
||||||
Info->Count++;
|
Info->Count++;
|
||||||
if (Info->Count /*+Info->LastLevel*/ > 10)
|
if (Info->Count /* +Info->LastLevel */ > 10)
|
||||||
{
|
{
|
||||||
Info->Count = 0;
|
Info->Count = 0;
|
||||||
AcpiOsPrintf ("\n");
|
AcpiOsPrintf ("\n");
|
||||||
@ -533,6 +533,10 @@ AcpiDmDescendingOp (
|
|||||||
|
|
||||||
AcpiDmMethodFlags (Op);
|
AcpiDmMethodFlags (Op);
|
||||||
AcpiOsPrintf (")");
|
AcpiOsPrintf (")");
|
||||||
|
|
||||||
|
/* Emit description comment for Method() with a predefined ACPI name */
|
||||||
|
|
||||||
|
AcpiDmPredefinedDescription (Op);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
@ -603,7 +607,8 @@ AcpiDmDescendingOp (
|
|||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
||||||
AcpiOsPrintf ("*** Unhandled named opcode %X\n", Op->Common.AmlOpcode);
|
AcpiOsPrintf ("*** Unhandled named opcode %X\n",
|
||||||
|
Op->Common.AmlOpcode);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -644,7 +649,8 @@ AcpiDmDescendingOp (
|
|||||||
NextOp = NextOp->Common.Next;
|
NextOp = NextOp->Common.Next;
|
||||||
|
|
||||||
Info->Flags = ACPI_PARSEOP_PARAMLIST;
|
Info->Flags = ACPI_PARSEOP_PARAMLIST;
|
||||||
AcpiDmWalkParseTree (NextOp, AcpiDmDescendingOp, AcpiDmAscendingOp, Info);
|
AcpiDmWalkParseTree (NextOp, AcpiDmDescendingOp,
|
||||||
|
AcpiDmAscendingOp, Info);
|
||||||
Info->Flags = 0;
|
Info->Flags = 0;
|
||||||
Info->Level = Level;
|
Info->Level = Level;
|
||||||
|
|
||||||
@ -686,12 +692,18 @@ AcpiDmDescendingOp (
|
|||||||
if (Op->Common.DisasmOpcode == ACPI_DASM_RESOURCE)
|
if (Op->Common.DisasmOpcode == ACPI_DASM_RESOURCE)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* We have a resource list. Don't need to output
|
* We have a resource list. Don't need to output
|
||||||
* the buffer size Op. Open up a new block
|
* the buffer size Op. Open up a new block
|
||||||
*/
|
*/
|
||||||
NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
|
NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
|
||||||
NextOp = NextOp->Common.Next;
|
NextOp = NextOp->Common.Next;
|
||||||
AcpiOsPrintf (")\n");
|
AcpiOsPrintf (")");
|
||||||
|
|
||||||
|
/* Emit description comment for Name() with a predefined ACPI name */
|
||||||
|
|
||||||
|
AcpiDmPredefinedDescription (Op->Asl.Parent);
|
||||||
|
|
||||||
|
AcpiOsPrintf ("\n");
|
||||||
AcpiDmIndent (Info->Level);
|
AcpiDmIndent (Info->Level);
|
||||||
AcpiOsPrintf ("{\n");
|
AcpiOsPrintf ("{\n");
|
||||||
return (AE_OK);
|
return (AE_OK);
|
||||||
@ -719,7 +731,7 @@ AcpiDmDescendingOp (
|
|||||||
|
|
||||||
case AML_PACKAGE_OP:
|
case AML_PACKAGE_OP:
|
||||||
|
|
||||||
/* The next op is the size or predicate parameter */
|
/* The next op is the size parameter */
|
||||||
|
|
||||||
NextOp = AcpiPsGetDepthNext (NULL, Op);
|
NextOp = AcpiPsGetDepthNext (NULL, Op);
|
||||||
if (NextOp)
|
if (NextOp)
|
||||||
@ -772,6 +784,7 @@ AcpiDmAscendingOp (
|
|||||||
void *Context)
|
void *Context)
|
||||||
{
|
{
|
||||||
ACPI_OP_WALK_INFO *Info = Context;
|
ACPI_OP_WALK_INFO *Info = Context;
|
||||||
|
ACPI_PARSE_OBJECT *ParentOp;
|
||||||
|
|
||||||
|
|
||||||
if (Op->Common.DisasmFlags & ACPI_PARSEOP_IGNORE)
|
if (Op->Common.DisasmFlags & ACPI_PARSEOP_IGNORE)
|
||||||
@ -797,6 +810,19 @@ AcpiDmAscendingOp (
|
|||||||
|
|
||||||
AcpiOsPrintf (")");
|
AcpiOsPrintf (")");
|
||||||
|
|
||||||
|
if (Op->Common.AmlOpcode == AML_NAME_OP)
|
||||||
|
{
|
||||||
|
/* Emit description comment for Name() with a predefined ACPI name */
|
||||||
|
|
||||||
|
AcpiDmPredefinedDescription (Op);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* For Create* operators, attempt to emit resource tag description */
|
||||||
|
|
||||||
|
AcpiDmFieldPredefinedDescription (Op);
|
||||||
|
}
|
||||||
|
|
||||||
/* Could be a nested operator, check if comma required */
|
/* Could be a nested operator, check if comma required */
|
||||||
|
|
||||||
if (!AcpiDmCommaIfListMember (Op))
|
if (!AcpiDmCommaIfListMember (Op))
|
||||||
@ -911,7 +937,20 @@ AcpiDmAscendingOp (
|
|||||||
*/
|
*/
|
||||||
if (Op->Common.Next)
|
if (Op->Common.Next)
|
||||||
{
|
{
|
||||||
AcpiOsPrintf (")\n");
|
AcpiOsPrintf (")");
|
||||||
|
|
||||||
|
/* Emit description comment for Name() with a predefined ACPI name */
|
||||||
|
|
||||||
|
ParentOp = Op->Common.Parent;
|
||||||
|
if (ParentOp)
|
||||||
|
{
|
||||||
|
ParentOp = ParentOp->Common.Parent;
|
||||||
|
if (ParentOp && ParentOp->Asl.AmlOpcode == AML_NAME_OP)
|
||||||
|
{
|
||||||
|
AcpiDmPredefinedDescription (ParentOp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
AcpiOsPrintf ("\n");
|
||||||
AcpiDmIndent (Level - 1);
|
AcpiDmIndent (Level - 1);
|
||||||
AcpiOsPrintf ("{\n");
|
AcpiOsPrintf ("{\n");
|
||||||
}
|
}
|
||||||
|
@ -152,8 +152,8 @@ AcpiDsCreateExternalRegion (
|
|||||||
* CreateBitFieldOp,
|
* CreateBitFieldOp,
|
||||||
* CreateByteFieldOp,
|
* CreateByteFieldOp,
|
||||||
* CreateWordFieldOp,
|
* CreateWordFieldOp,
|
||||||
* CreateDWordFieldOp,
|
* CreateDwordFieldOp,
|
||||||
* CreateQWordFieldOp,
|
* CreateQwordFieldOp,
|
||||||
* CreateFieldOp (all of which define a field in a buffer)
|
* CreateFieldOp (all of which define a field in a buffer)
|
||||||
*
|
*
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
@ -523,18 +523,18 @@ AcpiDsEvalTableRegionOperands (
|
|||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is where we evaluate the SignatureString and OemIDString
|
* This is where we evaluate the Signature string, OemId string,
|
||||||
* and OemTableIDString of the DataTableRegion declaration
|
* and OemTableId string of the Data Table Region declaration
|
||||||
*/
|
*/
|
||||||
Node = Op->Common.Node;
|
Node = Op->Common.Node;
|
||||||
|
|
||||||
/* NextOp points to SignatureString op */
|
/* NextOp points to Signature string op */
|
||||||
|
|
||||||
NextOp = Op->Common.Value.Arg;
|
NextOp = Op->Common.Value.Arg;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Evaluate/create the SignatureString and OemIDString
|
* Evaluate/create the Signature string, OemId string,
|
||||||
* and OemTableIDString operands
|
* and OemTableId string operands
|
||||||
*/
|
*/
|
||||||
Status = AcpiDsCreateOperands (WalkState, NextOp);
|
Status = AcpiDsCreateOperands (WalkState, NextOp);
|
||||||
if (ACPI_FAILURE (Status))
|
if (ACPI_FAILURE (Status))
|
||||||
@ -543,8 +543,8 @@ AcpiDsEvalTableRegionOperands (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Resolve the SignatureString and OemIDString
|
* Resolve the Signature string, OemId string,
|
||||||
* and OemTableIDString operands
|
* and OemTableId string operands
|
||||||
*/
|
*/
|
||||||
Status = AcpiExResolveOperands (Op->Common.AmlOpcode,
|
Status = AcpiExResolveOperands (Op->Common.AmlOpcode,
|
||||||
ACPI_WALK_OPERANDS, WalkState);
|
ACPI_WALK_OPERANDS, WalkState);
|
||||||
|
@ -518,6 +518,7 @@ AcpiEvAsynchExecuteGpeMethod (
|
|||||||
ACPI_STATUS Status;
|
ACPI_STATUS Status;
|
||||||
ACPI_GPE_EVENT_INFO *LocalGpeEventInfo;
|
ACPI_GPE_EVENT_INFO *LocalGpeEventInfo;
|
||||||
ACPI_EVALUATE_INFO *Info;
|
ACPI_EVALUATE_INFO *Info;
|
||||||
|
ACPI_GPE_NOTIFY_INFO *Notify;
|
||||||
|
|
||||||
|
|
||||||
ACPI_FUNCTION_TRACE (EvAsynchExecuteGpeMethod);
|
ACPI_FUNCTION_TRACE (EvAsynchExecuteGpeMethod);
|
||||||
@ -573,10 +574,18 @@ AcpiEvAsynchExecuteGpeMethod (
|
|||||||
* completes. The notify handlers are NOT invoked synchronously
|
* completes. The notify handlers are NOT invoked synchronously
|
||||||
* from this thread -- because handlers may in turn run other
|
* from this thread -- because handlers may in turn run other
|
||||||
* control methods.
|
* control methods.
|
||||||
|
*
|
||||||
|
* June 2012: Expand implicit notify mechanism to support
|
||||||
|
* notifies on multiple device objects.
|
||||||
*/
|
*/
|
||||||
Status = AcpiEvQueueNotifyRequest (
|
Notify = LocalGpeEventInfo->Dispatch.NotifyList;
|
||||||
LocalGpeEventInfo->Dispatch.DeviceNode,
|
while (ACPI_SUCCESS (Status) && Notify)
|
||||||
ACPI_NOTIFY_DEVICE_WAKE);
|
{
|
||||||
|
Status = AcpiEvQueueNotifyRequest (Notify->DeviceNode,
|
||||||
|
ACPI_NOTIFY_DEVICE_WAKE);
|
||||||
|
|
||||||
|
Notify = Notify->Next;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ACPI_GPE_DISPATCH_METHOD:
|
case ACPI_GPE_DISPATCH_METHOD:
|
||||||
|
@ -391,6 +391,8 @@ AcpiEvDeleteGpeHandlers (
|
|||||||
void *Context)
|
void *Context)
|
||||||
{
|
{
|
||||||
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
||||||
|
ACPI_GPE_NOTIFY_INFO *Notify;
|
||||||
|
ACPI_GPE_NOTIFY_INFO *Next;
|
||||||
UINT32 i;
|
UINT32 i;
|
||||||
UINT32 j;
|
UINT32 j;
|
||||||
|
|
||||||
@ -412,10 +414,27 @@ AcpiEvDeleteGpeHandlers (
|
|||||||
if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||||
ACPI_GPE_DISPATCH_HANDLER)
|
ACPI_GPE_DISPATCH_HANDLER)
|
||||||
{
|
{
|
||||||
|
/* Delete an installed handler block */
|
||||||
|
|
||||||
ACPI_FREE (GpeEventInfo->Dispatch.Handler);
|
ACPI_FREE (GpeEventInfo->Dispatch.Handler);
|
||||||
GpeEventInfo->Dispatch.Handler = NULL;
|
GpeEventInfo->Dispatch.Handler = NULL;
|
||||||
GpeEventInfo->Flags &= ~ACPI_GPE_DISPATCH_MASK;
|
GpeEventInfo->Flags &= ~ACPI_GPE_DISPATCH_MASK;
|
||||||
}
|
}
|
||||||
|
else if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||||
|
ACPI_GPE_DISPATCH_NOTIFY)
|
||||||
|
{
|
||||||
|
/* Delete the implicit notification device list */
|
||||||
|
|
||||||
|
Notify = GpeEventInfo->Dispatch.NotifyList;
|
||||||
|
while (Notify)
|
||||||
|
{
|
||||||
|
Next = Notify->Next;
|
||||||
|
ACPI_FREE (Notify);
|
||||||
|
Notify = Next;
|
||||||
|
}
|
||||||
|
GpeEventInfo->Dispatch.NotifyList = NULL;
|
||||||
|
GpeEventInfo->Flags &= ~ACPI_GPE_DISPATCH_MASK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,9 +295,10 @@ AcpiSetupGpeForWake (
|
|||||||
ACPI_HANDLE GpeDevice,
|
ACPI_HANDLE GpeDevice,
|
||||||
UINT32 GpeNumber)
|
UINT32 GpeNumber)
|
||||||
{
|
{
|
||||||
ACPI_STATUS Status = AE_BAD_PARAMETER;
|
ACPI_STATUS Status;
|
||||||
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
ACPI_GPE_EVENT_INFO *GpeEventInfo;
|
||||||
ACPI_NAMESPACE_NODE *DeviceNode;
|
ACPI_NAMESPACE_NODE *DeviceNode;
|
||||||
|
ACPI_GPE_NOTIFY_INFO *Notify;
|
||||||
ACPI_CPU_FLAGS Flags;
|
ACPI_CPU_FLAGS Flags;
|
||||||
|
|
||||||
|
|
||||||
@ -338,26 +339,69 @@ AcpiSetupGpeForWake (
|
|||||||
/* Ensure that we have a valid GPE number */
|
/* Ensure that we have a valid GPE number */
|
||||||
|
|
||||||
GpeEventInfo = AcpiEvGetGpeEventInfo (GpeDevice, GpeNumber);
|
GpeEventInfo = AcpiEvGetGpeEventInfo (GpeDevice, GpeNumber);
|
||||||
if (GpeEventInfo)
|
if (!GpeEventInfo)
|
||||||
{
|
{
|
||||||
/*
|
Status = AE_BAD_PARAMETER;
|
||||||
* If there is no method or handler for this GPE, then the
|
goto UnlockAndExit;
|
||||||
* WakeDevice will be notified whenever this GPE fires (aka
|
|
||||||
* "implicit notify") Note: The GPE is assumed to be
|
|
||||||
* level-triggered (for windows compatibility).
|
|
||||||
*/
|
|
||||||
if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
|
||||||
ACPI_GPE_DISPATCH_NONE)
|
|
||||||
{
|
|
||||||
GpeEventInfo->Flags =
|
|
||||||
(ACPI_GPE_DISPATCH_NOTIFY | ACPI_GPE_LEVEL_TRIGGERED);
|
|
||||||
GpeEventInfo->Dispatch.DeviceNode = DeviceNode;
|
|
||||||
}
|
|
||||||
|
|
||||||
GpeEventInfo->Flags |= ACPI_GPE_CAN_WAKE;
|
|
||||||
Status = AE_OK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If there is no method or handler for this GPE, then the
|
||||||
|
* WakeDevice will be notified whenever this GPE fires. This is
|
||||||
|
* known as an "implicit notify". Note: The GPE is assumed to be
|
||||||
|
* level-triggered (for windows compatibility).
|
||||||
|
*/
|
||||||
|
if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||||
|
ACPI_GPE_DISPATCH_NONE)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* This is the first device for implicit notify on this GPE.
|
||||||
|
* Just set the flags here, and enter the NOTIFY block below.
|
||||||
|
*/
|
||||||
|
GpeEventInfo->Flags =
|
||||||
|
(ACPI_GPE_DISPATCH_NOTIFY | ACPI_GPE_LEVEL_TRIGGERED);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If we already have an implicit notify on this GPE, add
|
||||||
|
* this device to the notify list.
|
||||||
|
*/
|
||||||
|
if ((GpeEventInfo->Flags & ACPI_GPE_DISPATCH_MASK) ==
|
||||||
|
ACPI_GPE_DISPATCH_NOTIFY)
|
||||||
|
{
|
||||||
|
/* Ensure that the device is not already in the list */
|
||||||
|
|
||||||
|
Notify = GpeEventInfo->Dispatch.NotifyList;
|
||||||
|
while (Notify)
|
||||||
|
{
|
||||||
|
if (Notify->DeviceNode == DeviceNode)
|
||||||
|
{
|
||||||
|
Status = AE_ALREADY_EXISTS;
|
||||||
|
goto UnlockAndExit;
|
||||||
|
}
|
||||||
|
Notify = Notify->Next;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Add this device to the notify list for this GPE */
|
||||||
|
|
||||||
|
Notify = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_GPE_NOTIFY_INFO));
|
||||||
|
if (!Notify)
|
||||||
|
{
|
||||||
|
Status = AE_NO_MEMORY;
|
||||||
|
goto UnlockAndExit;
|
||||||
|
}
|
||||||
|
|
||||||
|
Notify->DeviceNode = DeviceNode;
|
||||||
|
Notify->Next = GpeEventInfo->Dispatch.NotifyList;
|
||||||
|
GpeEventInfo->Dispatch.NotifyList = Notify;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Mark the GPE as a possible wake event */
|
||||||
|
|
||||||
|
GpeEventInfo->Flags |= ACPI_GPE_CAN_WAKE;
|
||||||
|
Status = AE_OK;
|
||||||
|
|
||||||
|
UnlockAndExit:
|
||||||
AcpiOsReleaseLock (AcpiGbl_GpeLock, Flags);
|
AcpiOsReleaseLock (AcpiGbl_GpeLock, Flags);
|
||||||
return_ACPI_STATUS (Status);
|
return_ACPI_STATUS (Status);
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,7 @@ AcpiExLoadTableOp (
|
|||||||
ACPI_FUNCTION_TRACE (ExLoadTableOp);
|
ACPI_FUNCTION_TRACE (ExLoadTableOp);
|
||||||
|
|
||||||
|
|
||||||
/* Validate lengths for the SignatureString, OEMIDString, OEMTableID */
|
/* Validate lengths for the Signature, OemId, and OemTableId strings */
|
||||||
|
|
||||||
if ((Operand[0]->String.Length > ACPI_NAME_SIZE) ||
|
if ((Operand[0]->String.Length > ACPI_NAME_SIZE) ||
|
||||||
(Operand[1]->String.Length > ACPI_OEM_ID_SIZE) ||
|
(Operand[1]->String.Length > ACPI_OEM_ID_SIZE) ||
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
ACPI_MODULE_NAME ("utmisc")
|
ACPI_MODULE_NAME ("utmisc")
|
||||||
|
|
||||||
|
|
||||||
|
#if defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
*
|
*
|
||||||
* FUNCTION: UtConvertBackslashes
|
* FUNCTION: UtConvertBackslashes
|
||||||
@ -86,6 +87,7 @@ UtConvertBackslashes (
|
|||||||
Pathname++;
|
Pathname++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
@ -1330,5 +1332,3 @@ AcpiUtWalkPackageTree (
|
|||||||
|
|
||||||
return_ACPI_STATUS (AE_AML_INTERNAL);
|
return_ACPI_STATUS (AE_AML_INTERNAL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -405,7 +405,7 @@ AcpiDbLocalNsLookup (
|
|||||||
char *Name);
|
char *Name);
|
||||||
|
|
||||||
void
|
void
|
||||||
AcpiDbUInt32ToHexString (
|
AcpiDbUint32ToHexString (
|
||||||
UINT32 Value,
|
UINT32 Value,
|
||||||
char *Buffer);
|
char *Buffer);
|
||||||
|
|
||||||
|
@ -518,6 +518,14 @@ void
|
|||||||
AcpiDmMethodFlags (
|
AcpiDmMethodFlags (
|
||||||
ACPI_PARSE_OBJECT *Op);
|
ACPI_PARSE_OBJECT *Op);
|
||||||
|
|
||||||
|
void
|
||||||
|
AcpiDmPredefinedDescription (
|
||||||
|
ACPI_PARSE_OBJECT *Op);
|
||||||
|
|
||||||
|
void
|
||||||
|
AcpiDmFieldPredefinedDescription (
|
||||||
|
ACPI_PARSE_OBJECT *Op);
|
||||||
|
|
||||||
void
|
void
|
||||||
AcpiDmFieldFlags (
|
AcpiDmFieldFlags (
|
||||||
ACPI_PARSE_OBJECT *Op);
|
ACPI_PARSE_OBJECT *Op);
|
||||||
|
@ -479,4 +479,14 @@ ACPI_EXTERN UINT32 AcpiGbl_SizeOfAcpiObjects;
|
|||||||
|
|
||||||
#endif /* ACPI_DEBUGGER */
|
#endif /* ACPI_DEBUGGER */
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
*
|
||||||
|
* Info/help support
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
extern const AH_PREDEFINED_NAME AslPredefinedInfo[];
|
||||||
|
|
||||||
|
|
||||||
#endif /* __ACGLOBAL_H__ */
|
#endif /* __ACGLOBAL_H__ */
|
||||||
|
@ -462,6 +462,15 @@ typedef struct acpi_gpe_handler_info
|
|||||||
|
|
||||||
} ACPI_GPE_HANDLER_INFO;
|
} ACPI_GPE_HANDLER_INFO;
|
||||||
|
|
||||||
|
/* Notify info for implicit notify, multiple device objects */
|
||||||
|
|
||||||
|
typedef struct acpi_gpe_notify_info
|
||||||
|
{
|
||||||
|
ACPI_NAMESPACE_NODE *DeviceNode; /* Device to be notified */
|
||||||
|
struct acpi_gpe_notify_info *Next;
|
||||||
|
|
||||||
|
} ACPI_GPE_NOTIFY_INFO;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* GPE dispatch info. At any time, the GPE can have at most one type
|
* GPE dispatch info. At any time, the GPE can have at most one type
|
||||||
* of dispatch - Method, Handler, or Implicit Notify.
|
* of dispatch - Method, Handler, or Implicit Notify.
|
||||||
@ -469,8 +478,8 @@ typedef struct acpi_gpe_handler_info
|
|||||||
typedef union acpi_gpe_dispatch_info
|
typedef union acpi_gpe_dispatch_info
|
||||||
{
|
{
|
||||||
ACPI_NAMESPACE_NODE *MethodNode; /* Method node for this GPE level */
|
ACPI_NAMESPACE_NODE *MethodNode; /* Method node for this GPE level */
|
||||||
struct acpi_gpe_handler_info *Handler; /* Installed GPE handler */
|
ACPI_GPE_HANDLER_INFO *Handler; /* Installed GPE handler */
|
||||||
ACPI_NAMESPACE_NODE *DeviceNode; /* Parent _PRW device for implicit notify */
|
ACPI_GPE_NOTIFY_INFO *NotifyList; /* List of _PRW devices for implicit notifies */
|
||||||
|
|
||||||
} ACPI_GPE_DISPATCH_INFO;
|
} ACPI_GPE_DISPATCH_INFO;
|
||||||
|
|
||||||
@ -480,7 +489,7 @@ typedef union acpi_gpe_dispatch_info
|
|||||||
*/
|
*/
|
||||||
typedef struct acpi_gpe_event_info
|
typedef struct acpi_gpe_event_info
|
||||||
{
|
{
|
||||||
union acpi_gpe_dispatch_info Dispatch; /* Either Method or Handler */
|
union acpi_gpe_dispatch_info Dispatch; /* Either Method, Handler, or NotifyList */
|
||||||
struct acpi_gpe_register_info *RegisterInfo; /* Backpointer to register info */
|
struct acpi_gpe_register_info *RegisterInfo; /* Backpointer to register info */
|
||||||
UINT8 Flags; /* Misc info about this GPE */
|
UINT8 Flags; /* Misc info about this GPE */
|
||||||
UINT8 GpeNumber; /* This GPE */
|
UINT8 GpeNumber; /* This GPE */
|
||||||
@ -960,6 +969,7 @@ typedef struct acpi_parse_state
|
|||||||
#define ACPI_PARSEOP_IGNORE 0x01
|
#define ACPI_PARSEOP_IGNORE 0x01
|
||||||
#define ACPI_PARSEOP_PARAMLIST 0x02
|
#define ACPI_PARSEOP_PARAMLIST 0x02
|
||||||
#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04
|
#define ACPI_PARSEOP_EMPTY_TERMLIST 0x04
|
||||||
|
#define ACPI_PARSEOP_PREDEF_CHECKED 0x08
|
||||||
#define ACPI_PARSEOP_SPECIAL 0x10
|
#define ACPI_PARSEOP_SPECIAL 0x10
|
||||||
|
|
||||||
|
|
||||||
@ -1311,4 +1321,20 @@ typedef struct acpi_debug_mem_block
|
|||||||
#define ACPI_NUM_MEM_LISTS 2
|
#define ACPI_NUM_MEM_LISTS 2
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************
|
||||||
|
*
|
||||||
|
* Info/help support
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
typedef struct ah_predefined_name
|
||||||
|
{
|
||||||
|
char *Name;
|
||||||
|
char *Description;
|
||||||
|
#ifndef ACPI_ASL_COMPILER
|
||||||
|
char *Action;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
} AH_PREDEFINED_NAME;
|
||||||
|
|
||||||
#endif /* __ACLOCAL_H__ */
|
#endif /* __ACLOCAL_H__ */
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
/* Current ACPICA subsystem version in YYYYMMDD format */
|
/* Current ACPICA subsystem version in YYYYMMDD format */
|
||||||
|
|
||||||
#define ACPI_CA_VERSION 0x20120518
|
#define ACPI_CA_VERSION 0x20120620
|
||||||
|
|
||||||
#include <contrib/dev/acpica/include/acconfig.h>
|
#include <contrib/dev/acpica/include/acconfig.h>
|
||||||
#include <contrib/dev/acpica/include/actypes.h>
|
#include <contrib/dev/acpica/include/actypes.h>
|
||||||
|
@ -512,14 +512,14 @@ static const ACPI_PREDEFINED_INFO PredefinedNames[] =
|
|||||||
{{"_TMP", 0, ACPI_RTYPE_INTEGER}},
|
{{"_TMP", 0, ACPI_RTYPE_INTEGER}},
|
||||||
{{"_TPC", 0, ACPI_RTYPE_INTEGER}},
|
{{"_TPC", 0, ACPI_RTYPE_INTEGER}},
|
||||||
{{"_TPT", 1, 0}},
|
{{"_TPT", 1, 0}},
|
||||||
{{"_TRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2Ref/6Int */
|
{{"_TRT", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */
|
||||||
{{{ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER}, 6, 0}},
|
{{{ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER}, 6, 0}},
|
||||||
|
|
||||||
{{"_TSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int with count */
|
{{"_TSD", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5 Int with count */
|
||||||
{{{ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0}, 0,0}},
|
{{{ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0}, 0,0}},
|
||||||
|
|
||||||
{{"_TSP", 0, ACPI_RTYPE_INTEGER}},
|
{{"_TSP", 0, ACPI_RTYPE_INTEGER}},
|
||||||
{{"_TSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5Int */
|
{{"_TSS", 0, ACPI_RTYPE_PACKAGE}}, /* Variable-length (Pkgs) each 5 Int */
|
||||||
{{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0}, 0,0}},
|
{{{ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0}, 0,0}},
|
||||||
|
|
||||||
{{"_TST", 0, ACPI_RTYPE_INTEGER}},
|
{{"_TST", 0, ACPI_RTYPE_INTEGER}},
|
||||||
|
@ -429,7 +429,7 @@ AcpiUtDumpBuffer (
|
|||||||
UINT8 *Buffer,
|
UINT8 *Buffer,
|
||||||
UINT32 Count,
|
UINT32 Count,
|
||||||
UINT32 Display,
|
UINT32 Display,
|
||||||
UINT32 componentId);
|
UINT32 ComponentId);
|
||||||
|
|
||||||
void
|
void
|
||||||
AcpiUtDumpBuffer2 (
|
AcpiUtDumpBuffer2 (
|
||||||
|
@ -4,8 +4,8 @@ PROG= iasl
|
|||||||
SRCS= adfile.c adisasm.c adwalk.c
|
SRCS= adfile.c adisasm.c adwalk.c
|
||||||
|
|
||||||
# common
|
# common
|
||||||
SRCS+= dmextern.c dmrestag.c dmtable.c dmtbdump.c dmtbinfo.c \
|
SRCS+= ahpredef.c dmextern.c dmrestag.c dmtable.c dmtbdump.c \
|
||||||
getopt.c
|
dmtbinfo.c getopt.c
|
||||||
|
|
||||||
# compiler
|
# compiler
|
||||||
SRCS+= aslanalyze.c aslbtypes.c aslcodegen.c aslcompile.c \
|
SRCS+= aslanalyze.c aslbtypes.c aslcodegen.c aslcompile.c \
|
||||||
|
Loading…
Reference in New Issue
Block a user