[Skiboot] RTAS: Processor module info

Sukadev Bhattiprolu sukadev at linux.vnet.ibm.com
Fri Oct 16 09:20:41 AEDT 2015


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.

Is there a spec or doc for the HDAT that I can refer to find these
fields?  IOW, where on a pKVM host should we look for these procID,
moduleID and chip index fields?

Looking through the skiboot.git code, I see parse_hdat() which seems
to populate directories like:

                /proc/device-tree/cpus/PowerPC,POWER8 at 20
                /proc/device-tree/cpus/PowerPC,POWER8 at 28
                /proc/device-tree/cpus/PowerPC,POWER8 at 68
                /proc/device-tree/cpus/PowerPC,POWER8 at 70
                /proc/device-tree/cpus/PowerPC,POWER8 at 820
                /proc/device-tree/cpus/PowerPC,POWER8 at 828
                /proc/device-tree/cpus/PowerPC,POWER8 at 860
                /proc/device-tree/cpus/PowerPC,POWER8 at 868
                /proc/device-tree/cpus/PowerPC,POWER8 at 8a0
                /proc/device-tree/cpus/PowerPC,POWER8 at 8a8
                /proc/device-tree/cpus/PowerPC,POWER8 at 8e8
                /proc/device-tree/cpus/PowerPC,POWER8 at 8f0
                /proc/device-tree/cpus/PowerPC,POWER8 at a0
                /proc/device-tree/cpus/PowerPC,POWER8 at a8
                /proc/device-tree/cpus/PowerPC,POWER8 at e0
                /proc/device-tree/cpus/PowerPC,POWER8 at e8

on lucca, where each has an 'ibm,chip-id' entry:

		$ lsprop PowerPC,POWER8 at 8a8/ibm,chip-id
		PowerPC,POWER8 at 8a8/ibm,chip-id
				00000011 (17)

Can we count and return these chip entries as the number of chips to the
above rtas call?

How are these "chip" ids different from 4 chip ids in xscom* (again on lucca).

	lsprop /proc/device-tree/xscom*/ibm,chip-id
	xscom at 3fc0000000000/ibm,chip-id
			 00000000
	xscom at 3fc0800000000/ibm,chip-id
			 00000001
	xscom at 3fc8000000000/ibm,chip-id
			 00000010 (16)
	xscom at 3fc8800000000/ibm,chip-id
			 00000011 (17)


Thanks,

Suka



More information about the Skiboot mailing list