SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
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)

Weitere ähnliche Inhalte

Mehr von Linaro

Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Linaro
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
Linaro
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
Linaro
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
Linaro
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
Linaro
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
Linaro
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
Linaro
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
Linaro
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
Linaro
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
Linaro
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
Linaro
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
Linaro
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 Servers
Linaro
 

Mehr von Linaro (20)

Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
Intelligent Interconnect Architecture to Enable Next Generation HPC - Linaro ...
 
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
Yutaka Ishikawa - Post-K and Arm HPC Ecosystem - Linaro Arm HPC Workshop Sant...
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
HKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP WorkshopHKG18-318 - OpenAMP Workshop
HKG18-318 - OpenAMP Workshop
 
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainlineHKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
HKG18-501 - EAS on Common Kernel 4.14 and getting (much) closer to mainline
 
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and allHKG18-315 - Why the ecosystem is a wonderful thing, warts and all
HKG18-315 - Why the ecosystem is a wonderful thing, warts and all
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
HKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMUHKG18-TR08 - Upstreaming SVE in QEMU
HKG18-TR08 - Upstreaming SVE in QEMU
 
HKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8MHKG18-113- Secure Data Path work with i.MX8M
HKG18-113- Secure Data Path work with i.MX8M
 
HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation HKG18-120 - Devicetree Schema Documentation and Validation
HKG18-120 - Devicetree Schema Documentation and Validation
 
HKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted bootHKG18-223 - Trusted FirmwareM: Trusted boot
HKG18-223 - Trusted FirmwareM: Trusted boot
 
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
HKG18-500K1 - Keynote: Dileep Bhandarkar - Emerging Computing Trends in the D...
 
HKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready ProgramHKG18-317 - Arm Server Ready Program
HKG18-317 - Arm Server Ready Program
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
 
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
HKG18-301 - Dramatically Accelerate 96Board Software via an FPGA with Integra...
 
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
HKG18-300K2 - Keynote: Tomas Evensen - All Programmable SoCs? – Platforms to ...
 
HKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: IntroductionHKG18-212 - Trusted Firmware M: Introduction
HKG18-212 - Trusted Firmware M: Introduction
 
HKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 ServersHKG18-116 - RAS Solutions for Arm64 Servers
HKG18-116 - RAS Solutions for Arm64 Servers
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

LCA13: ARM Server Mini-Summit: ACPI

  • 1. ASIA 2013 (LCA13) LEG: ACPI for ARMv8 Al Stone, Red Hat
  • 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. 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. 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. 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. 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. 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. 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)