10 Jul, 2006

5 commits

  • Len Brown
     
  • Len Brown
     
  • Replace acpi_in_resume with a more general hack
    to check irqs_disabled() on any kmalloc() from ACPI.
    While setting (system_state != SYSTEM_RUNNING) on resume
    seemed more general, Andrew Morton preferred this approach.

    http://bugzilla.kernel.org/show_bug.cgi?id=3469

    Make acpi_os_allocate() into an inline function to
    allow /proc/slab_allocators to work.

    Delete some memset() that could fault on allocation failure.

    Signed-off-by: Len Brown

    Len Brown
     
  • Linux mutexes and the debug code that that reference
    acpi_os_get_thread_id() are happy with 0.
    But the AML mutexes in exmutex.c expect a unique non-zero
    number for each thread - as they track this thread_id
    to permit the mutex re-entrancy defined by the ACPI spec.

    http://bugzilla.kernel.org/show_bug.cgi?id=6687

    Signed-off-by: Len Brown

    Len Brown
     
  • Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to
    support C compilers that do not allow the initialization
    of address pointers within packed structures - even though
    the hardware itself may support misaligned transfers. Some
    of the debug data structures are packed by default to
    minimize size.

    Added an error message for the case where
    acpi_os_get_thread_id() returns zero. A non-zero value is
    required by the core ACPICA code to ensure the proper
    operation of AML mutexes and recursive control methods.

    The DSDT is now the only ACPI table that determines whether
    the AML interpreter is in 32-bit or 64-bit mode. Not really
    a functional change, but the hooks for per-table 32/64
    switching have been removed from the code. A clarification
    to the ACPI specification is forthcoming in ACPI 3.0B.

    Fixed a possible leak of an Owner ID in the error
    path of tbinstal.c acpi_tb_init_table_descriptor() and
    migrated all table OwnerID deletion to a single place in
    acpi_tb_uninstall_table() to correct possible leaks when using
    the acpi_tb_delete_tables_by_type() interface (with assistance
    from Lance Ortiz.)

    Fixed a problem with Serialized control methods where the
    semaphore associated with the method could be over-signaled
    after multiple method invocations.

    Fixed two issues with the locking of the internal
    namespace data structure. Both the Unload() operator and
    acpi_unload_table() interface now lock the namespace during
    the namespace deletion associated with the table unload
    (with assistance from Linn Crosetto.)

    Fixed problem reports (Valery Podrezov) integrated: -
    Eliminate unnecessary memory allocation for CreateXxxxField
    http://bugzilla.kernel.org/show_bug.cgi?id=5426

    Fixed problem reports (Fiodor Suietov) integrated: -
    Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
    - On Address Space handler deletion, needless deactivation
    call (BZ 374) - AcpiRemoveAddressSpaceHandler: validate
    Device handle parameter (BZ 375) - Possible memory leak,
    Notify sub-objects of Processor, Power, ThermalZone (BZ
    376) - AcpiRemoveAddressSpaceHandler: validate Handler
    parameter (BZ 378) - Minimum Length of RSDT should be
    validated (BZ 379) - AcpiRemoveNotifyHandler: return
    AE_NOT_EXIST if Processor Obj has no Handler (BZ (380)
    - AcpiUnloadTable: return AE_NOT_EXIST if no table of
    specified type loaded (BZ 381)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

09 Jul, 2006

1 commit


30 Jun, 2006

2 commits


28 Jun, 2006

3 commits

  • Track the actual time spent in C-States (C2 upwards, we can't determine this
    for C1), not only the number of invocations. This is especially useful for
    dynamic ticks / "tickless systems", but is also of interest on normal systems,
    as any interrupt activity leads to C-States being exited, not only the timer
    interrupt.

    The time is being measured in PM timer ticks, so an increase by one equals 279
    nanoseconds.

    Signed-off-by: Dominik Brodowski
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Dominik Brodowski
     
  • Implemented a new acpi_spinlock type for the OSL lock
    interfaces. This allows the type to be customized to
    the host OS for improved efficiency (since a spinlock is
    usually a very small object.)

    Implemented support for "ignored" bits in the ACPI
    registers. According to the ACPI specification, these
    bits should be preserved when writing the registers via
    a read/modify/write cycle. There are 3 bits preserved
    in this manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9],
    and PM1_STATUS[11].
    http://bugzilla.kernel.org/show_bug.cgi?id=3691

    Implemented the initial deployment of new OSL mutex
    interfaces. Since some host operating systems have
    separate mutex and semaphore objects, this feature was
    requested. The base code now uses mutexes (and the new
    mutex interfaces) wherever a binary semaphore was used
    previously. However, for the current release, the mutex
    interfaces are defined as macros to map them to the
    existing semaphore interfaces.

    Fixed several problems with the support for the control
    method SyncLevel parameter. The SyncLevel now works
    according to the ACPI specification and in concert with the
    Mutex SyncLevel parameter, since the current SyncLevel is
    a property of the executing thread. Mutual exclusion for
    control methods is now implemented with a mutex instead
    of a semaphore.

    Fixed three instances of the use of the C shift operator
    in the bitfield support code (exfldio.c) to avoid the use
    of a shift value larger than the target data width. The
    behavior of C compilers is undefined in this case and can
    cause unpredictable results, and therefore the case must
    be detected and avoided. (Fiodor Suietov)

    Added an info message whenever an SSDT or OEM table
    is loaded dynamically via the Load() or LoadTable()
    ASL operators. This should improve debugging capability
    since it will show exactly what tables have been loaded
    (beyond the tables present in the RSDT/XSDT.)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Create a driver which lives in the acpi subsystem to handle dock events.
    This driver is not an "ACPI" driver, because acpi drivers require that the
    object be present when the driver is loaded.

    Signed-off-by: Kristen Carlson Accardi
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Kristen Accardi
     

23 Jun, 2006

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (65 commits)
    ACPI: suppress power button event on S3 resume
    ACPI: resolve merge conflict between sem2mutex and processor_perflib.c
    ACPI: use for_each_possible_cpu() instead of for_each_cpu()
    ACPI: delete newly added debugging macros in processor_perflib.c
    ACPI: UP build fix for bugzilla-5737
    Enable P-state software coordination via _PDC
    P-state software coordination for speedstep-centrino
    P-state software coordination for acpi-cpufreq
    P-state software coordination for ACPI core
    ACPI: create acpi_thermal_resume()
    ACPI: create acpi_fan_suspend()/acpi_fan_resume()
    ACPI: pass pm_message_t from acpi_device_suspend() to root_suspend()
    ACPI: create acpi_device_suspend()/acpi_device_resume()
    ACPI: replace spin_lock_irq with mutex for ec poll mode
    ACPI: Allow a WAN module enable/disable on a Thinkpad X60.
    sem2mutex: acpi, acpi_link_lock
    ACPI: delete unused acpi_bus_drivers_lock
    sem2mutex: drivers/acpi/processor_perflib.c
    ACPI add ia64 exports to build acpi_memhotplug as a module
    ACPI: asus_acpi_init(): propagate correct return value
    ...

    Manual resolve of conflicts in:

    arch/i386/kernel/cpu/cpufreq/acpi-cpufreq.c
    arch/i386/kernel/cpu/cpufreq/speedstep-centrino.c
    include/acpi/processor.h

    Linus Torvalds
     
  • Consolidate the various arch-specific implementations of pxm_to_node() and
    node_to_pxm() into a single generic version.

    Signed-off-by: Yasunori Goto
    Cc: "Luck, Tony"
    Cc: Andi Kleen
    Cc: Dave Hansen
    Cc: "Brown, Len"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yasunori Goto
     

16 Jun, 2006

3 commits


14 Jun, 2006

6 commits

  • Converted the locking mutex used for the ACPI hardware
    to a spinlock. This change should eliminate all problems
    caused by attempting to acquire a semaphore at interrupt
    level, and it means that all ACPICA external interfaces
    that directly access the ACPI hardware can be safely
    called from interrupt level.

    Fixed a regression introduced in 20060526 where the ACPI
    device initialization could be prematurely aborted with
    an AE_NOT_FOUND if a device did not have an optional
    _INI method.

    Fixed an IndexField issue where a write to the Data
    Register should be limited in size to the AccessSize
    (width) of the IndexField itself. (BZ 433, Fiodor Suietov)

    Fixed problem reports (Valery Podrezov) integrated: - Allow
    store of ThermalZone objects to Debug object.
    http://bugzilla.kernel.org/show_bug.cgi?id=5369
    http://bugzilla.kernel.org/show_bug.cgi?id=5370

    Fixed problem reports (Fiodor Suietov) integrated: -
    acpi_get_table_header() doesn't handle multiple instances
    correctly (BZ 364)

    Removed four global mutexes that were obsolete and were
    no longer being used.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Restructured, flattened, and simplified the internal
    interfaces for namespace object evaluation - resulting
    in smaller code, less CPU stack use, and fewer
    interfaces. (With assistance from Mikhail Kouzmich)

    Fixed a problem with the CopyObject operator where the
    first parameter was not typed correctly for the parser,
    interpreter, compiler, and disassembler. Caused various
    errors and unexpected behavior.

    Fixed a problem where a ShiftLeft or ShiftRight of
    more than 64 bits produced incorrect results with some
    C compilers. Since the behavior of C compilers when
    the shift value is larger than the datatype width is
    apparently not well defined, the interpreter now detects
    this condition and simply returns zero as expected in all
    such cases. (BZ 395)

    Fixed problem reports (Valery Podrezov) integrated: -
    Update String-to-Integer conversion to match ACPI 3.0A spec
    http://bugzilla.kernel.org/show_bug.cgi?id=5329
    Allow interpreter to handle nested method declarations
    http://bugzilla.kernel.org/show_bug.cgi?id=5361

    Fixed problem reports (Fiodor Suietov) integrated: -
    acpi_terminate() doesn't free debug memory allocation
    list objects (BZ 355) - After Core Subsystem
    shutdown, acpi_subsystem_status() returns AE_OK (BZ 356) -
    acpi_os_unmap_memory() for RSDP can be invoked inconsistently
    (BZ 357) - Resource Manager should return AE_TYPE for
    non-device objects (BZ 358) - Incomplete cleanup branch
    in AcpiNsEvaluateRelative (BZ 359) - Use acpi_os_free()
    instead of ACPI_FREE in acpi_rs_set_srs_method_data (BZ 360)
    - Incomplete cleanup branch in acpi_ps_parse_aml (BZ 361) -
    Incomplete cleanup branch in acpi_ds_delete_walk_state (BZ 362)
    - acpi_get_table_header returns AE_NO_ACPI_TABLES until DSDT
    is loaded (BZ 365) - Status of the Global Initialization
    Handler call not used (BZ 366) - Incorrect object parameter
    to Global Initialization Handler (BZ 367)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Replaced the acpi_os_queue_for_execution() with a new
    interface named acpi_os_execute(). The major difference is
    that the new interface does not have a Priority parameter,
    this appeared to be useless and has been replaced by
    a Type parameter. The Type tells the OS what type of
    execution is being requested, such as global lock handler,
    notify handler, GPE handler, etc. This allows the host
    to queue and execute the request as appropriate for the
    request type, possibly using different work queues and
    different priorities for the various request types. This
    enables fixes for multithreading deadlock problems such as
    http://bugzilla.kernel.org/show_bug.cgi?id=5534
    (Alexey Starikovskiy and Bob Moore)

    Fixed a possible memory leak associated with the
    support for the so-called "implicit return" ACPI
    extension. Reported by FreeBSD (Fiodor Suietov)
    http://bugzilla.kernel.org/show_bug.cgi?id=6514

    Fixed a problem with the Load() operator where a table
    load from an operation region could overwrite an internal
    table buffer by up to 7 bytes and cause alignment faults
    on IPF systems. (With assistance from Luming Yu)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Removed a device initialization optimization introduced in
    20051216 where the _STA method was not run unless an _INI
    was also present for the same device. This optimization
    could cause problems because it could allow _INI methods
    to be run within a not-present device subtree (If a
    not-present device had no _INI, _STA would not be run,
    the not-present status would not be discovered, and the
    children of the device would be incorrectly traversed.)

    Implemented a new _STA optimization where namespace
    subtrees that do not contain _INI are identified and
    ignored during device initialization. Selectively running
    _STA can significantly improve boot time on large machines
    (with assistance from Len Brown.)

    Implemented support for the device initialization case
    where the returned _STA flags indicate a device not-present
    but functioning. In this case, _INI is not run, but the
    device children are examined for presence, as per the
    ACPI specification.

    Implemented an additional change to the IndexField support
    in order to conform to MS behavior. The value written to
    the Index Register is not simply a byte offset, it is a
    byte offset in units of the access width of the parent
    Index Field. (Fiodor Suietov)

    Defined and deployed a new OSL interface,
    acpi_os_validate_address(). This interface is called during
    the creation of all AML operation regions, and allows
    the host OS to exert control over what addresses it will
    allow the AML code to access. Operation Regions whose
    addresses are disallowed will cause a runtime exception
    when they are actually accessed (will not affect or abort
    table loading.)

    Defined and deployed a new OSL interface,
    acpi_os_validate_interface(). This interface allows the host OS
    to match the various "optional" interface/behavior strings
    for the _OSI predefined control method as appropriate
    (with assistance from Bjorn Helgaas.)

    Restructured and corrected various problems in the
    exception handling code paths within DsCallControlMethod
    and DsTerminateControlMethod in dsmethod (with assistance
    from Takayoshi Kochi.)

    Modified the Linux source converter to ignore quoted string
    literals while converting identifiers from mixed to lower
    case. This will correct problems with the disassembler
    and other areas where such strings must not be modified.

    The ACPI_FUNCTION_* macros no longer require quotes around
    the function name. This allows the Linux source converter
    to convert the names, now that the converter ignores
    quoted strings.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented header file support for the following
    additional ACPI tables: ASF!, BOOT, CPEP, DBGP, MCFG, SPCR,
    SPMI, TCPA, and WDRT. With this support, all current and
    known ACPI tables are now defined in the ACPICA headers and
    are available for use by device drivers and other software.

    Implemented support to allow tables that contain ACPI
    names with invalid characters to be loaded. Previously,
    this would cause the table load to fail, but since
    there are several known cases of such tables on
    existing machines, this change was made to enable
    ACPI support for them. Also, this matches the
    behavior of the Microsoft ACPI implementation.
    https://bugzilla.novell.com/show_bug.cgi?id=147621

    Fixed a couple regressions introduced during the memory
    optimization in the 20060317 release. The namespace
    node definition required additional reorganization and
    an internal datatype that had been changed to 8-bit was
    restored to 32-bit. (Valery Podrezov)

    Fixed a problem where a null pointer passed to
    acpi_ut_delete_generic_state() could be passed through
    to acpi_os_release_object which is unexpected. Such
    null pointers are now trapped and ignored, matching
    the behavior of the previous implementation before the
    deployment of acpi_os_release_object(). (Valery Podrezov,
    Fiodor Suietov)

    Fixed a memory mapping leak during the deletion of
    a SystemMemory operation region where a cached memory
    mapping was not deleted. This became a noticeable problem
    for operation regions that are defined within frequently
    used control methods. (Dana Meyers)

    Reorganized the ACPI table header files into two main
    files: one for the ACPI tables consumed by the ACPICA core,
    and another for the miscellaneous ACPI tables that are
    consumed by the drivers and other software. The various
    FADT definitions were merged into one common section and
    three different tables (ACPI 1.0, 1.0+, and 2.0)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented the use of a cache object for all internal
    namespace nodes. Since there are about 1000 static nodes
    in a typical system, this will decrease memory use for
    cache implementations that minimize per-allocation overhead
    (such as a slab allocator.)

    Removed the reference count mechanism for internal
    namespace nodes, since it was deemed unnecessary. This
    reduces the size of each namespace node by about 5%-10%
    on all platforms. Nodes are now 20 bytes for the 32-bit
    case, and 32 bytes for the 64-bit case.

    Optimized several internal data structures to reduce
    object size on 64-bit platforms by packing data within
    the 64-bit alignment. This includes the frequently used
    ACPI_OPERAND_OBJECT, of which there can be ~1000 static
    instances corresponding to the namespace objects.

    Added two new strings for the predefined _OSI method:
    "Windows 2001.1 SP1" and "Windows 2006".

    Split the allocation tracking mechanism out to a separate
    file, from utalloc.c to uttrack.c. This mechanism appears
    to be only useful for application-level code. Kernels may
    wish to not include uttrack.c in distributions.

    Removed all remnants of the obsolete ACPI_REPORT_* macros
    and the associated code. (These macros have been replaced
    by the ACPI_ERROR and ACPI_WARNING macros.)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

15 May, 2006

2 commits


14 May, 2006

1 commit

  • Nobody looks at the return value, and this brings it into line with
    pci_unregister_driver(), etc. Also removed validation of the driver
    pointer passed in to register and unregister. More consistent, and we'll
    find bugs faster if we fault rather than returning an error that's ignored.

    Also makes internal functions acpi_device_unregister() and
    acpi_driver_detach() void, since nobody uses their returns either.

    Signed-off-by: Bjorn Helgaas
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    Bjorn Helgaas
     

26 Apr, 2006

1 commit


01 Apr, 2006

3 commits

  • acpi_os_get_thread_id() is used only for debugging
    code that is not enabled on Linux, so stub it out.

    Signed-off-by: Len Brown

    Len Brown
     
  • Tagged all external interfaces to the subsystem with the
    new ACPI_EXPORT_SYMBOL macro. This macro can be defined
    as necessary to assist kernel integration. For Linux,
    the macro resolves to the EXPORT_SYMBOL macro. The default
    definition is NULL.

    Added the ACPI_THREAD_ID type for the return value from
    acpi_os_get_thread_id(). This allows the host to define this
    as necessary to simplify kernel integration. The default
    definition is ACPI_NATIVE_UINT.

    Valery Podrezov fixed two interpreter problems related
    to error processing, the deletion of objects, and placing
    invalid pointers onto the internal operator result stack.
    http://bugzilla.kernel.org/show_bug.cgi?id=6028
    http://bugzilla.kernel.org/show_bug.cgi?id=6151

    Increased the reference count threshold where a warning is
    emitted for large reference counts in order to eliminate
    unnecessary warnings on systems with large namespaces
    (especially 64-bit.) Increased the value from 0x400
    to 0x800.

    Due to universal disagreement as to the meaning of the
    'c' in the calloc() function, the ACPI_MEM_CALLOCATE
    macro has been renamed to ACPI_ALLOCATE_ZEROED so that the
    purpose of the interface is 'clear'. ACPI_MEM_ALLOCATE and
    ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and ACPI_FREE.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     
  • Implemented a change to the IndexField support to match
    the behavior of the Microsoft AML interpreter. The value
    written to the Index register is now a byte offset,
    no longer an index based upon the width of the Data
    register. This should fix IndexField problems seen on
    some machines where the Data register is not exactly one
    byte wide. The ACPI specification will be clarified on
    this point.

    Fixed a problem where several resource descriptor
    types could overrun the internal descriptor buffer due
    to size miscalculation: VendorShort, VendorLong, and
    Interrupt. This was noticed on IA64 machines, but could
    affect all platforms.

    Fixed a problem where individual resource descriptors were
    misaligned within the internal buffer, causing alignment
    faults on IA64 platforms.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

31 Mar, 2006

1 commit

  • Removed a couple of extraneous ACPI_ERROR messages that
    appeared during normal execution. These became apparent
    after the conversion from ACPI_DEBUG_PRINT.

    Fixed a problem where the CreateField operator could hang
    if the BitIndex or NumBits parameter referred to a named
    object. From Valery Podrezov.
    http://bugzilla.kernel.org/show_bug.cgi?id=5359

    Fixed a problem where a DeRefOf operation on a buffer
    object incorrectly failed with an exception. This also
    fixes a couple of related RefOf and DeRefOf issues.
    From Valery Podrezov.
    http://bugzilla.kernel.org/show_bug.cgi?id=5360
    http://bugzilla.kernel.org/show_bug.cgi?id=5387
    http://bugzilla.kernel.org/show_bug.cgi?id=5392

    Fixed a problem where the AE_BUFFER_LIMIT exception was
    returned instead of AE_STRING_LIMIT on an out-of-bounds
    Index() operation. From Valery Podrezov.
    http://bugzilla.kernel.org/show_bug.cgi?id=5480

    Implemented a memory cleanup at the end of the execution
    of each iteration of an AML While() loop, preventing the
    accumulation of outstanding objects. From Valery Podrezov.
    http://bugzilla.kernel.org/show_bug.cgi?id=5427

    Eliminated a chunk of duplicate code in the object
    resolution code. From Valery Podrezov.
    http://bugzilla.kernel.org/show_bug.cgi?id=5336

    Fixed several warnings during the 64-bit code generation.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

24 Mar, 2006

2 commits


09 Feb, 2006

2 commits


31 Jan, 2006

1 commit

  • Implemented support in the Resource Manager to allow
    unresolved namestring references within resource package
    objects for the _PRT method. This support is in addition
    to the previously implemented unresolved reference
    support within the AML parser. If the interpreter slack
    mode is enabled (true on Linux unless acpi=strict),
    these unresolved references will be passed through
    to the caller as a NULL package entry.
    http://bugzilla.kernel.org/show_bug.cgi?id=5741

    Implemented and deployed new macros and functions for
    error and warning messages across the subsystem. These
    macros are simpler and generate less code than their
    predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION,
    ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_*
    macros.

    Implemented the acpi_cpu_flags type to simplify host OS
    integration of the Acquire/Release Lock OSL interfaces.
    Suggested by Steven Rostedt and Andrew Morton.

    Fixed a problem where Alias ASL operators are sometimes
    not correctly resolved. causing AE_AML_INTERNAL
    http://bugzilla.kernel.org/show_bug.cgi?id=5189
    http://bugzilla.kernel.org/show_bug.cgi?id=5674

    Fixed several problems with the implementation of the
    ConcatenateResTemplate ASL operator. As per the ACPI
    specification, zero length buffers are now treated as a
    single EndTag. One-length buffers always cause a fatal
    exception. Non-zero length buffers that do not end with
    a full 2-byte EndTag cause a fatal exception.

    Fixed a possible structure overwrite in the
    AcpiGetObjectInfo external interface. (With assistance
    from Thomas Renninger)

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

25 Jan, 2006

1 commit


20 Jan, 2006

1 commit

  • Added 2006 copyright.

    At SuSE's suggestion, enabled all error messages
    without enabling function tracing, ie with CONFIG_ACPI_DEBUG=n

    Replaced all instances of the ACPI_DEBUG_PRINT macro invoked at
    the ACPI_DB_ERROR and ACPI_DB_WARN debug levels with
    the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros,
    respectively. This preserves all error and warning messages
    in the non-debug version of the ACPICA code (this has been
    referred to as the "debug lite" option.) Over 200 cases
    were converted to create a total of over 380 error/warning
    messages across the ACPICA code. This increases the code
    and data size of the default non-debug version by about 13K.
    Added ACPI_NO_ERROR_MESSAGES flag to enable deleting all messages.
    The size of the debug version remains about the same.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

08 Jan, 2006

1 commit


28 Dec, 2005

1 commit

  • Implemented optional support to allow unresolved names
    within ASL Package objects. A null object is inserted in
    the package when a named reference cannot be located in
    the current namespace. Enabled via the interpreter slack
    flag which Linux has enabled by default (acpi=strict
    to disable slack). This should eliminate AE_NOT_FOUND
    exceptions seen on machines that contain such code.

    Implemented an optimization to the initialization
    sequence that can improve boot time. During ACPI device
    initialization, the _STA method is now run if and only
    if the _INI method exists. The _STA method is used to
    determine if the device is present; An _INI can only be
    run if _STA returns present, but it is a waste of time to
    run the _STA method if the _INI does not exist. (Prototype
    and assistance from Dong Wei)

    Implemented use of the C99 uintptr_t for the pointer
    casting macros if it is available in the current
    compiler. Otherwise, the default (void *) cast is used
    as before.

    Fixed some possible memory leaks found within the
    execution path of the Break, Continue, If, and CreateField
    operators. (Valery Podrezov)

    Fixed a problem introduced in the 20051202 release where
    an exception is generated during method execution if a
    control method attempts to declare another method.

    Signed-off-by: Bob Moore
    Signed-off-by: Len Brown

    Bob Moore
     

21 Dec, 2005

1 commit