ASIA 2013 (LCA13)
LEG: ACPI for ARMv8
Al Stone, Red Hat
ASIA 2013 (LCA13)
www.linaro.org
What is ACPI?
ACPI == Advanced Configuration and Power Interface
As usual, an overloaded ...
ASIA 2013 (LCA13)
www.linaro.org
Hardware
Register
Blocks
What Does ACPI Look Like?
RSD Ptr
Pointer
Pointer
Root System De...
ASIA 2013 (LCA13)
www.linaro.org
What's in the Tables?
ACPI can describe:
System power management
Device power management
...
ASIA 2013 (LCA13)
www.linaro.org
Where Are We?
Notes:
[0] OSL is provided by ACPICA, and incorporated in each OS
[1] Packa...
ASIA 2013 (LCA13)
www.linaro.org
The Plan
Goal: provide ACPI feature parity for ARMv8 Linux
Phases:
0: Proof of Concept on...
ASIA 2013 (LCA13)
www.linaro.org
Implementation State
Phase 0: Proof of Concept for ARMv7
User Space:
ACPICA 20130214 pack...
More about Linaro Connect: www.linaro.org/connect/
More about Linaro: www.linaro.org/about/
More about Linaro engineering:...
Upcoming SlideShare
Loading in …5
×

LCA13: ARM Server Mini-Summit: ACPI

485
-1

Published on

Resource: LCA13
Name: ARM Server Mini-Summit: ACPI
Date: 05-03-2013
Speaker: Al Stone

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
485
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LCA13: ARM Server Mini-Summit: ACPI

  1. 1. ASIA 2013 (LCA13) LEG: ACPI for ARMv8 Al Stone, Red Hat
  2. 2. ASIA 2013 (LCA13) www.linaro.org What is ACPI? ACPI == Advanced Configuration and Power Interface As usual, an overloaded term: A specification (4.0a, 5.0: http://www.acpi.info) An implementation (MS Windows, Linux drivers) The tables, objects and methods that create an instance for specific hardware A text or binary representation of an instance (ASL or AML) A reference implementation (ACPICA: http://www.acpica.org) User-space tools Why do we care? Expected in the enterprise environment: it is a known Manufacturer demand (SoC vendors, Server OEMs) Standardization for AArch64 (e.g., UEFI) Issues: Governance in producing the specification
  3. 3. ASIA 2013 (LCA13) www.linaro.org Hardware Register Blocks What Does ACPI Look Like? RSD Ptr Pointer Pointer Root System Description Pointer Header XSDT Entry ..... Entry Entry Extended System Description Table Header FACP Static Info BLKs DSDT FIRM Fixed ACPI Description Table Header FACS Wake Vector Shared Lock Firmware ACPI Control Structure Header DSDT Differentiated System Description Table Differentiated Definition Block Header Sig Contents Header Sig Contents ..... ACPI Driver Software Hardware Hardware Register Blocks Hardware Register Blocks Port Space OEM Specific Device I/O Device Memory PCI Configuration Embedded Controller Space
  4. 4. ASIA 2013 (LCA13) www.linaro.org What's in the Tables? ACPI can describe: System power management Device power management Processor power management Configuration / Plug and Play System events Battery management Thermal management Embedded controller SMBus controller AML: ACPI Machine Language Describe the above in ASL (ACPI Source Language) Use iasl (in the ACPICA user tools) to compile to tables containing AML methods and objects Load via UEFI and pass to kernel driver
  5. 5. ASIA 2013 (LCA13) www.linaro.org Where Are We? Notes: [0] OSL is provided by ACPICA, and incorporated in each OS [1] Packaged and submitted for all distros, pending inclusion [2] Boots, does little else, based on Linaro kernel [3] Best estimate based on documentation available [4] TBD; we assume at least as much as was done in 4.0a, but still verifying
  6. 6. ASIA 2013 (LCA13) www.linaro.org The Plan Goal: provide ACPI feature parity for ARMv8 Linux Phases: 0: Proof of Concept on ARMv7 Goal: push the power button and have ACPI handle it Result: prototype implementation 1: Core Support for ARMv7 Goal: provide basic functionality for inclusion upstream Result: ACPI for ARMv7 in upstream, Arndale tables 2: Adapt Core Support to ARMv8 Goal: provide basic functionality for inclusion upstream Result: ACPI for ARMv8 in upstream, VE tables 3: Add Support for Additional Requirements for ARMv8 Goal: feature parity with x86 Result: robust ACPI for ARMv8 upstream, robust VE tables
  7. 7. ASIA 2013 (LCA13) www.linaro.org Implementation State Phase 0: Proof of Concept for ARMv7 User Space: ACPICA 20130214 packages prepared, submitted to Fedora, Debian and Linaro PPA Inclusion pending distro acceptance Integration of test suites into LAVA in progress Linux Kernel: git clone -b acpi git://git.linaro.org/people/ahs3/arndale-acpi.git Config options added Kernel and modules build with skeleton driver Kernel boots, ACPI loads and makes debug tools available To Do: Write ASL for power button Fill in the blanks to actully load tables (U-boot, then UEFI) Fill in the blanks for event handling Verify correct AML debugger and method execution
  8. 8. More about Linaro Connect: www.linaro.org/connect/ More about Linaro: www.linaro.org/about/ More about Linaro engineering: www.linaro.org/engineering/ ASIA 2013 (LCA13)
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×