System firmware and FSP
Information about low level stuff: the POWER system firmware, the hypervisor and the Flexible Service Processor (FSP).
By reading this document, you acknowledge that I cannot be held liable for any damage coming from the use of the information listed below. If you don't accept it, please leave this page.
Trivia
- Power Hypervisor - PHYP is "Based on iSeries (SLIC) hypervisor, enhanced for converged i/p design, provides VLAN, virtual I/O, sub-processor partitioning" - applies for POWER5++ [1]
- "The POWER Hypervisor code is based on the iSeries PLIC code that is enhanced for use with the IBM eServer i5 hardware." [4]
- PHYP consists of two parts: a non-blocking interrupt driven layer, called Platform Licensed Internal Code (PLIC), and a multitasking kernel, called Dispatchable PHYP. [2]
- ==> PLIC performs time critical operations required for virtualization. It enforces, for example, the partitioned environment. [2]
- ==> Dispatchable PHYP executes as a hidden LPAR and provides non-critical platform services. One of its main duties is to process messages from the HMC and services processor. ... Dispatchable PHYP is responsible for processing and maintaining configuration data on the platform. [2]
- On AS/400: "Partitioning LIC, or PLIC, is the code that communicates with each partition and controls the hardware. PLIC is used to implement Logical Partition (LPAR) functions and to control bus and storage management functions for each partition." [3]
- "The layers of code supporting Linux and AIX-5L consist of System Firmware and Run-Time Abstraction Services (RTAS)." [4]
- ==> "System Firmware is composed of Low Level Firmware and Open Firmware. Low Level Firmware is code that performs server unique input/output (I/O) configurations such as high-speed link (HSL)-2/RIO-G loops and PCI-X bridges. Open Firmware contains the boot time drivers (for example, SCSI, SSA, Token Ring, and Ethernet), the boot manager, and the device drivers required to initialize the PCI adapters and attached devices." [4]
- ==> "The Run-Time Abstraction Services consist of code that supplies platform dependent accesses and can be called from the operating system. The intent of this code is to minimize the need for an operating system to understand hardware unique details. These calls are passed to the POWER Hypervisor that handles all I/O interrupts." [4]
- The hypervisor "Runs on CEC (main system) CPU and resides in CEC Memory" and is "Loaded into the CEC by the FSP on base system IPL" [6]
- "On partitioned hardware, all partitions have a Virtual Service Processor (VSP), provided by the Hypervisor." [6] The PHYP itself has a hidden partition, number 0.
System Firmware updates
- POWER6, POWER7 firmware is delivered in 'code streams' (separate firmware by platform MTM, for example: 01AM720_xxx_yyy for Power 770 and 780) [1]
- Concurrent firmware activation requires a Hardware Management Console. [1]
- HMC is required for firmware updates: POWER5: 590, 595 or 570 with Dual FSP; POWER6 560, 570, 575 and 595; POWER7 770, 780 and 795 [1]
- By default, once an HMC is connected to a managed server, the firmware update policy is set as HMC managed. If you no longer have an HMC your only option is to set the system back to ‘Manufacturing Default Configuration' [1]
- Resetting the managed system to a nonpartitioned configuration
Access the PHYP command interface
"You can gather additional debug information from a failing system by using the debug virtual server (DVS). The DVS enables communication with the server firmware and partition firmware. DVS allows a maximum of eight open connections. External interfaces such as the ASMI and service processor remote application can communicate with the server firmware and partition firmware through DVS. This communication is bidirectional. External interfaces can send a message to the server firmware and partition firmware through DVS. DVS uses the partition ID and session ID to distinguish between the server firmware and partition firmware. The range for both the partition ID and session ID is 0 to 255. Clients, such as the ASMI, interact with DVS using a TCP/IP socket. Port 30002 on the service processor is used for this communication." [5]
- Log on to the ASMI as 'celogin' or 'celogin1'. The user 'admin' doesn't have the full ASMI menu.
- Select "Debug Virtual TTY".
- For partition ID, select 0 for PHYP (see below), session ID 0.
- When the message "Operation completed successfully" appears, telnet from the HMC or another IP in the HMC private LAN to the service processor' s IP address, port 30002.
- You should get to the phyp # prompt now.
- See the referred IBM document [7] for details
Note: the port is only open for a certain amount of time. After that, you will be dropped with the message "Command Time expired Set time 1176079193, Current Time 1218914654"
FSP commands
These commands are not guaranteed to work. As you can see, some of them are not even there on a POWER6 system. I guess these are pretty much outdated now. I have found some of these notes on a random site without any reference.
Most commands have no --help or other flags. The 'registry' command is an exception, see below.
Please bear in mind that the use of these commands may lead to unexpected behavior, system crash/reboot and data loss, and irreversible damage to the system. If you just want to examine the config files or binaries, the only way I found to extract them from the FSP is to create a symlink into the lighttpd's served directory, then get the files via the Web server. The config files can be viewed with cat, for example.
[*] Note: Clear FSP errors (errl -p) and FIPS errors (fipsdump -i) before restarting
registry command
IBM FSP Registry Command 3.2
Usage: registry [flags] option [] []
options:
-r, --read : read
-w, --write : write
-s, --size : sizeof
-u, --udata : retrieve user data
-m, --mpoint : retrieve mount point
-l, --list : list registry keys
-h, --help : print this message
flags:
-H, --hex : print output in hexadecimal or
write as hexadecimal
-R, --raw : print output in raw form (no formatting)
-E, --echo : echo the passed with write option
-V, --verobose : display command processing error messages
PHYP commonly used commands
Note: To close a PHYP console (telnet) type in the following: ^] (as with regular vterms)
Please bear in mind that the use of these commands may lead to unexpected behavior, system crash/reboot and data loss, and irreversible damage to the system.
phyp # vsp
Running macro: vsp
Phyp VSP native macro version: 2.00
LPAR IPL IPL Sys IPL System Sys Operating
Id Name Mode Keylock Reason State Action Reference Code Attn System
----- ---------- ------ -------- --------- ---------- -------- -------------------- ---- ----------
0 PHYP Temp Normal Normal On IPL Off PHYP
1 host0vio-1 Normal Normal Normal On Hold Off RPA
2 somelpar01 Normal Normal ? Off Hold Off RPA
3 somelpar02 Normal Normal ? Off Hold Off RPA
4 host0vio-2 Normal Normal Normal On Hold Off RPA
5 lpar01 Normal Normal ? Off Hold Off RPA
6 lpar02 Normal Normal Normal On Hold Off RPA
phyp # spcninfo
Running macro: spcninfo
Rack RRRRUU: 3C0000 Status: Active Power: Complete Download Status: Not Possible Location: U78A0.001.AAABBB2
Cec RRRRUU: 3C0001 Status: Active Power: Complete Download Status: Not Possible Location: U78A0.001.AAABBB2
Identify: [OFF] Config ID: 00E6 Limited Function: FALSE PCI Backplane Serials: 1234567890ABCDE1
Rack RRRRUU: 3C0300 Status: Active Power: Complete Download Status: Not Needed Location: U7311.D20.123123A
Slave RRRRUU: 3C0301 Status: Active Power: Complete Download Status: Not Possible Location: U7311.D20.123123A
Identify: [OFF] Config ID: 008C Limited Function: FALSE PCI Backplane Serials: 1234567890ABCDE2
Rack RRRRUU: 3C0200 Status: Active Power: Complete Download Status: Not Needed Location: U5802.001.0000009
Slave RRRRUU: 3C0201 Status: Active Power: Complete Download Status: Not Possible Location: U5802.001.0000009
Identify: [OFF] Config ID: 008E Limited Function: FALSE PCI Backplane Serials: 1234567890ABCDE3
"Running macro:" is familiar from OS/400 STRSST.
Related acronyms
LIC: "Licensed Internal Code refers to the server firmware of the IBM eServer i5 models." ... "...contains code for the server processor (FSP), hypervisor (PHYP), partition firmware (PFW), and other low level components."
RPA: RS/6000 Platform Architecture
BPC: Bulk Power Controller, present only in the 59x/79x models
MTMS: Machine Type/Model/Serial
CFM: Concurrent Firmware Maintenance
MDC: Manufacturing Default Configuration - the initial single partition setup of the managed system as received from your service provider
LMB: logical memory block
VPA: virtual processor area, a small (one page) data structure shared between the hypervisor and the operating system. Its primary use is to communicate information between the two software layers.CSP: Converged/Central/Common Service Processor - the old style SP in legacy iSeries, or pSeries POWER4 and below.
FSP: Flexible Service Processor (capable of booting/running IBM i and AIX/Linux = RPA partitions), common expansion hardware, from POWER5 models
PESH (pesh): Product Engineering Shell
MSD: main store dump
PAPR: Power Architecture Platform Requirements
RTAS: Run-Time Abstraction Services, documented in PAPR, see power.org. The /rtas node in Open Firmware is the means of communication with Linux.
CEC: Computing Electronic Complex
References
[1] "HMC and Firmware Management for POWER5/6/7", Allyn Walsh, IBM, 2011
[2] "Retrofitting the IBM POWER Hypervisor to Support Mandatory Access Control", Enriquillo Valdez et al., IBM, 2007, http://acsac.org/2007/papers/153.pdf
[3] Redbook: AS/400 Disk Storage Topics and Tools. IBM, 2000. http://www.redbooks.ibm.com/redbooks/pdfs/sg245693.pdf
[4] Intro to HMC and Console Options for i5 Servers/V5R3 LPAR and HMC, IBM, 2004. ftp://ftp.networking.ibm.com/as400/support/techoverview/v5r3/lparhmc082004.pdf
[5] Debugging the virtual tty, http://pic.dhe.ibm.com/infocenter/powersys/v3r1m5/topic/iphby/debugvirtualtty.htm
[6] Power System i DLPAR Virtualization, IBM, 2009 http://www-935.ibm.com/services/kr/gts/html/file/track4_1.ppt
[7] Adding expansion units to a large configuration with SPCN firmware update control
United States Patent 8230077: Hypervisor-based facility for communicating between a hardware management console and a logical partition, http://www.freepatentsonline.com/8230077.html
KVM on POWER7 (PDF)
See also on this site
ASMI menu structure
POWER7 firmware AM760, user celogin1
Power/Restart Control
Power On/Off System
Auto Power Restart
Immediate Power Off
System Reboot
Wake On LAN
System Service Aids
Error/Event Logs
Serial Port Snoop
System Dump
Service Processor Dump
Partition Dump
Serial Port Setup
Modem Configuration
Call-Home/Call-In Setup
Call-Home Test
Reset Service Processor
Factory Configuration
Service Processor Command Line
Deconfiguration Records
Resource Dump
Performance Dump
System Information
Vital Product Data
Persistent Storage
Power Control Network Trace
Previous Boot Progress Indicator
Progress Indicator History
Real-time Progress Indicator
Memory Serial Presence Detect Data
Firmware Maintenance History
Memory eRepair Data
System Configuration
System Name
Configure I/O Enclosures
Time Of Day
Firmware Update Policy
PCI Error Injection Policy
Monitoring
Interposer Plug Count
HSL Opticonnect Connections
I/O Adapter Enlarged Capacity
Hardware Management Consoles
Virtual I/O Connections
Virtual Ethernet Switches
Floating Point Unit Computation Test
Power Management Mode Setup
Acoustic Mode Control
PCIe Hardware Topology
Hardware Page Table Size
Estimated Corrosion Rates
Hardware Deconfiguration
Deconfiguration Policies
Field Core Override
Processor Deconfiguration
Memory Deconfiguration
Processing Unit Deconfiguration
Clear All Deconfiguration Errors
Program Vital Product Data
System Brand
System Keywords
System Enclosures
Service Indicators
System Attention Indicator
Enclosure Indicators
Indicators by Location code
Lamp Test
Network Services
Network Configuration
Network Access
Debug Virtual TTY
Performance Setup
Logical Memory Block Size
System Memory Page Setup
On Demand Utilities
CoD Order Information
CoD Activation
CoD Recovery
CoD Command
CoD Processor Information
CoD Memory Information
CoD VET Information
VET Capability Settings
Concurrent Maintenance
Control Panel
RIO/HSL Adapter Slot Reservation
Login Profile
Change Password
Retrieve Login Audits
Change Default Language
Update Installed Languages
Less important stuff (~noise)
FSP default static IP addresses (again)
POWER5: 192.168.2.147 and 192.168.3.147
POWER6, POWER7: 169.254.2.147 and 169.254.3.147
Note that these can be changed from ASMI, and if an HMC is used, a DHCP client will be started and picking up leases from the HMC.
System firmware, FSP and Linux versions
SF240: Linux 2.4.18-rc4, Busybox 0.60
EL350: Linux 2.6.16.27-0-fsp1, Busybox 1.1.0
All FSP commands
Commands available on fips240.
- System firmware SF240_417
- Linux 2.4.18-rc4
- BusyBox v0.60.4FSP-GA2-2-3
NB. If you use the "Service Processor Command Line" function from the ASMI, be aware that stderr is swallowed by default. Use 'id 2>&1' for example.
Commands already 'known' are in the table above.
apor
asm
attnhandlr - "!! Attentions Enabled !!" - turns on attention LED. No options.
bdmp_gzip
bdmp_tar
bdmp_util
calldialer
callexec
ccmm
cecserver
comp.resolve
ctrmserver
cupdcmd
dumpsystem
disr_rsrl_complete
errlsrv
evennotifier
evensignal
fsh
fspinit
fspkillall
fsptelinit
fwhp
get_reset_error
hdat_prepare_startos
hdat_prepareos
hdat_startos
hdat_timeos
hdatstep
(this list is to be continued...)