LCA13: ARM Server Mini-Summit: ACPI
Upcoming SlideShare
Loading in...5
×
 

LCA13: ARM Server Mini-Summit: ACPI

on

  • 434 views

Resource: LCA13

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

Statistics

Views

Total Views
434
Views on SlideShare
434
Embed Views
0

Actions

Likes
0
Downloads
10
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

LCA13: ARM Server Mini-Summit: ACPI LCA13: ARM Server Mini-Summit: ACPI Presentation Transcript

  • 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 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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)