[lkml]   [2002]   [Feb]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectNew ACPI source release (20010201)
    Hello all,

    I'm pleased to announce that the big changes that we have been working on
    are now stable enough to distribute to other developers. Since our web
    liaison person doesn't work on the weekend, the site
    will not be updated until the Monday evening push. However, there will be
    early access to the Linux patch via the acpi project on

    There was more than enough changes to justify this release (see below) but
    there are also a number of issues remaining, which should be mentioned:

    - Integration with the 2.5 driver model is not complete
    - FX140 issue is not resolved
    - Fix for PIIX4 BMISX issue is needed
    - Full processing of the MADT (i.e. for Interrupt source override entries)
    has not been implemented
    - Thermal policy still needs validation
    - Linux-specific code has not been fully converted to the new
    "core-allocates" memory model

    We are planning on backporting to 2.4 very soon and unifying IA32 and IA64
    ACPI driver code, but the patch is against 2.5.3 for now.

    Have a great weekend,

    -- Andy

    Summary of changes for this label: 02_01_02

    1) Linux

    All drivers consolidated to single files in main acpi directory

    Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers) in PIC and
    IOAPIC modes. (This may not work on machines with interrupt source override
    entries in their MADT)

    MADT parsing code is more tightly integrated with other ACPI code

    Implemented fix for PIIX reverse throttling errata (Processor driver)

    Added new Limit interface (Processor and Thermal drivers)

    New thermal policy (Thermal driver)

    Many updates to /proc

    Battery "low" event support (Battery driver)

    IA32 - IA64 initialization unification, no longer experimental

    Menuconfig options redesigned

    2) ACPI CA Core Subsystem:

    ACPI 2.0 support is complete in the entire Core Subsystem and the ASL
    All new ACPI 2.0 operators are implemented and all other changes for ACPI
    support are complete. With simultaneous code and data optimizations
    the subsystem, ACPI 2.0 support has been implemented with almost no
    cost in terms of code and data size.

    Implemented a new mechanism for allocation of return buffers. If the buffer
    length is set to ACPI_ALLOCATE_BUFFER, the buffer will be allocated on
    of the caller. Consolidated all return buffer validation and allocation to
    common procedure. Return buffers will be allocated via the primary OSL
    allocation interface since it appears that a separate pool is not needed by
    most users. If a separate pool is required for these buffers, the caller
    can still use the original mechanism and pre-allocate the buffer(s).

    Implemented support for string operands within the DerefOf operator.

    Restructured the Hardware and Event managers to be table driven, simplifying
    the source code and reducing the amount of generated code.

    Split the common read/write low-level ACPI register bitfield procedure into
    a separate read and write, simplifying the code considerably.

    Obsoleted the AcpiOsCallocate OSL interface. This interface was used only a
    handful of times and didn't have enough critical mass for a separate
    interface. Replaced with a common calloc procedure in the core.

    Fixed a reported problem with the GPE number mapping mechanism that allows
    GPE1 numbers to be non-contiguous with GPE0. Reorganized the GPE
    and shrunk a large array that was originally large enough to hold info for
    all possible GPEs (256) to simply large enough to hold all GPEs up to the
    largest GPE number on the machine.

    Fixed a reported problem with resource structure alignment on 64-bit

    Changed the AcpiEnableEvent and AcpiDisableEvent external interfaces to not
    require any flags for the common case of enabling/disabling a GPE.

    Implemented support to allow a "Notify" on a Processor object.

    Most TBDs in comments within the source code have been resolved and

    Fixed a problem in the interpreter where a standalone parent prefix (^) was
    not handled correctly in the interpreter and debugger.

    Removed obsolete and unnecessary GPE save/restore code.

    Implemented Field support in the ASL Load operator. This allows a table to
    be loaded from a named field, in addition to loading a table directly from
    an Operation Region.

    Implemented timeout and handle support in the external Global Lock

    Fixed a problem in the AcpiDump utility where pathnames were no longer being
    generated correctly during the dump of named objects.

    Modified the AML debugger to give a full display of if/while predicates
    instead of just one AML opcode at a time. (The predicate can have several
    nested ASL statements.) The old method was confusing during single

    Code and Data Size: Current core subsystem library sizes are shown below.
    These are the code and data sizes for the acpica.lib produced by the
    Microsoft Visual C++ 6.0 compiler, and these values do not include any ACPI
    driver or OSPM code. The debug version of the code includes the debug
    output trace mechanism and has a larger code and data size. Note that
    these values will vary depending on the efficiency of the compiler and
    the compiler options used during generation.

    Previous Release (12_18_01)
    Non-Debug Version: 66.1K Code, 5.5K Data, 71.6K Total
    Debug Version: 138.3K Code, 55.9K Data, 194.2K Total
    Current Release:
    Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
    Debug Version: 136.9K Code, 56.4K Data, 193.3K Total

    3) ASL Compiler, version X2037:

    Implemented several new output features to simplify integration of AML code
    1) Output the AML in C source code with labels for each named ASL object.
    original ASL source code is interleaved as C comments.
    2) Output the AML in ASM source code with labels and interleaved ASL
    3) Output the AML in raw hex table form, in either C or ASM.

    Implemented support for optional string parameters to the LoadTable

    Completed support for embedded escape sequences within string literals. The
    compiler now supports all single character escapes as well as the Octal and
    Hex escapes. Note: the insertion of a null byte into a string literal (via
    the hex/octal escape) causes the string to be immediately terminated. A
    warning is issued.

    Fixed a problem where incorrect AML was generated for the case where an ASL
    namepath consists of a single parent prefix (^) with no trailing name

    The compiler has been successfully generated with a 64-bit C compiler.

    Andrew Grover
    Intel/MPG/Mobile Arch Lab

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:23    [W:0.039 / U:5.576 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site