Documentos de Académico
Documentos de Profesional
Documentos de Cultura
The Power Architecture and Power.org word marks and the Power and Power.org logos and related marks are trademarks and service marks licensed by Power.org.
Agenda
Background
Overview
Boot programs and client programs
Device tree
Multi-core boot architecture
ePAPR Background
Power.org released the Power Architecture Platform
Requirements (PAPR) specification in August 2006-- for
desktop/server platforms
A complete platform definition is not applicable to embedded
systems, but there are areas where standardization helps
There are a huge number of highly-customized, fixed function,
embedded platforms-- routers, industrial controls, automotive, etc.
Client Program
ePAPR 1.0
ePAPR 1.0 addresses boot services how a boot program initializes
hardware and boots a client program
Key areas
State of machine when control is transferred to client (e.g. registers, MMU, state
of interrupts)
Device Tree definition
Multi-cpu boot architecture
ELF (Executable and Linking Format) for client programs
Loosely related to IEEE 1275, and draws heavily on on-going work being
done in the PowerPC Linux community
(booting-without-of.txt)
Registers
MMU
CPUs
Memory
State of I/O devices no interrupts or DMA
Register
Value
MSR
R3
R7
TCR
An IMA may be mapped by a TLB entry larger than the IMA size,
provided the MMU guarded attribute is set (G=1)
An IMA may span multiple TLB entries.
Abstracts most hardware details out of the OS/client-enables firmware to provide an OS with a complete
description of the physical hardware in a system devices,
hardware address map, interrupt routing
Previously OSes were required to have hardcoded information about
system hardware.
Provides a basis for booting an operating system under a hypervisor in a
partitioned system
Examples
/
soc
cpus
cpu@0
compatible = simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges = <0 e0000000 00100000>;
reg = <e0000000 00000200>;
cpu@1
soc
serial
ethernet
serial
10
compatible = "ns16550"
reg = <4600 100>
clock-frequency = <0>
interrupts = <a 8>
interrupt-parent = < &ipic >
PCI
Open PIC and ISA interrupt controllers
Serial devcies
Network devices
Device Control Registers (DCR)
11
Standard Properties
compatible
model
phandle
status
#address-cells and #size-cells
reg
virtual-reg
ranges
dma-ranges
12
13
Firmware loads the DTB into RAM and passes a pointer to the DTB to
the Operating System kernel when it is started
14
15
16
Future
Enhancements to the current speciciation
Virtualization:
OS to hypervisor ABI
Standardized APIs
Representations in device tree for virtualization
17