[Skiboot] RTAS: Processor module info
sukadev at linux.vnet.ibm.com
Wed Oct 21 06:46:50 AEDT 2015
Sukadev Bhattiprolu [sukadev at linux.vnet.ibm.com] wrote:
| We are trying to implement the RTAS_SYSPARM_PROCESSOR_MODULE_INFO
| parameter to rtas_get_sysparm() call in QEMU/KVM.
| This parameter requires gathering:
| - number of module types
| - for each module type:
| - number of sockets in the type,
| - number of chips per socket
| - number of cores per chip.
| PHYP gets the RTAS information from the HDAT, from procID, moduleID
| and chip index fields.
I have been looking through skiboot code, doc/device-tree.txt, and the
HDAT specs. I am trying to see if we can have QEMU use the following
device tree information from the host to implement PROCESSOR_MODULE_INFO
The distros apparently need this for licensing.
Appreciate any comments.
# of Module types:
1 (hard code for now?) Or do we support more than
one module types like SCM and DCM?
# of Sockets of this module type
PowerVM seems to treat modules as sockets.
Can we use 'lsprop xscom*/ibm,hw-module-id' to
determine the number of modules?
On my PowerKVM system, I see two module ids:
$ lsprop xscom*/ibm,hw-module-id
xscom at 3fc0000000000/ibm,hw-module-id
xscom at 3fc0800000000/ibm,hw-module-id
xscom at 3fc8000000000/ibm,hw-module-id
xscom at 3fc8800000000/ibm,hw-module-id
# of chips per this module type
Referring to skiboot.git/doc/device-tree.txt
"xscom is the closest thing to a chip..."
Would a count of xscom*/ibm,proc-chip-id give us a count
of the number of chips?
(The chips belong to different modules but we assume
they are of the same module type which is what this
RTAS call is supposed to return)
Again, on my PowerKVM system, we would get 4 in this field.
$ lsprop xscom*/ibm,proc-chip-id
xscom at 3fc0000000000/ibm,proc-chip-id
xscom at 3fc0800000000/ibm,proc-chip-id
xscom at 3fc8000000000/ibm,proc-chip-id
xscom at 3fc8800000000/ibm,proc-chip-id
# of cores/chip in this module type
Again, skiboot.git/doc/device-tree.txt, indicates that
the cpus/PowerPC,Power8* section must exist for each core
in the system.
So count the 'cpus/PowerPC,POWER8*' entries and divide
by the above number of cores?
On my PowerKVM system, I see 16 cores. So we would return
4 cores per chip in this field.
 My Power KVM system info:
PowerKVM release 184.108.40.206-28.0,
More information about the Skiboot