The bootloader and TEE versions are stored in registers that can be
accessed from sysfs. This exports the information for recent client
and datacenter parts.
Signed-off-by: Mario Limonciello <[email protected]>
---
drivers/crypto/ccp/sp-pci.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/crypto/ccp/sp-pci.c b/drivers/crypto/ccp/sp-pci.c
index 7ef7c09b4a2f..46dd7a2ade18 100644
--- a/drivers/crypto/ccp/sp-pci.c
+++ b/drivers/crypto/ccp/sp-pci.c
@@ -423,6 +423,7 @@ static const struct tee_vdata teev1 = {
.cmdbuff_addr_hi_reg = 0x1054c, /* C2PMSG_19 */
.ring_wptr_reg = 0x10550, /* C2PMSG_20 */
.ring_rptr_reg = 0x10554, /* C2PMSG_21 */
+ .info_reg = 0x109e8, /* C2PMSG_58 */
};
static const struct platform_access_vdata pa_v1 = {
@@ -435,6 +436,7 @@ static const struct platform_access_vdata pa_v1 = {
static const struct psp_vdata pspv1 = {
.sev = &sevv1,
+ .bootloader_info_reg = 0x105ec, /* C2PMSG_59 */
.feature_reg = 0x105fc, /* C2PMSG_63 */
.inten_reg = 0x10610, /* P2CMSG_INTEN */
.intsts_reg = 0x10614, /* P2CMSG_INTSTS */
@@ -442,6 +444,7 @@ static const struct psp_vdata pspv1 = {
static const struct psp_vdata pspv2 = {
.sev = &sevv2,
+ .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
.feature_reg = 0x109fc, /* C2PMSG_63 */
.inten_reg = 0x10690, /* P2CMSG_INTEN */
.intsts_reg = 0x10694, /* P2CMSG_INTSTS */
@@ -450,6 +453,7 @@ static const struct psp_vdata pspv2 = {
static const struct psp_vdata pspv3 = {
.tee = &teev1,
.platform_access = &pa_v1,
+ .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
.feature_reg = 0x109fc, /* C2PMSG_63 */
.inten_reg = 0x10690, /* P2CMSG_INTEN */
.intsts_reg = 0x10694, /* P2CMSG_INTSTS */
@@ -458,6 +462,7 @@ static const struct psp_vdata pspv3 = {
static const struct psp_vdata pspv4 = {
.sev = &sevv2,
.tee = &teev1,
+ .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
.feature_reg = 0x109fc, /* C2PMSG_63 */
.inten_reg = 0x10690, /* P2CMSG_INTEN */
.intsts_reg = 0x10694, /* P2CMSG_INTSTS */
--
2.34.1
On 4/28/23 13:55, Mario Limonciello wrote:
> The bootloader and TEE versions are stored in registers that can be
> accessed from sysfs. This exports the information for recent client
> and datacenter parts.
>
> Signed-off-by: Mario Limonciello <[email protected]>
Acked-by: Tom Lendacky <[email protected]>
> ---
> drivers/crypto/ccp/sp-pci.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/crypto/ccp/sp-pci.c b/drivers/crypto/ccp/sp-pci.c
> index 7ef7c09b4a2f..46dd7a2ade18 100644
> --- a/drivers/crypto/ccp/sp-pci.c
> +++ b/drivers/crypto/ccp/sp-pci.c
> @@ -423,6 +423,7 @@ static const struct tee_vdata teev1 = {
> .cmdbuff_addr_hi_reg = 0x1054c, /* C2PMSG_19 */
> .ring_wptr_reg = 0x10550, /* C2PMSG_20 */
> .ring_rptr_reg = 0x10554, /* C2PMSG_21 */
> + .info_reg = 0x109e8, /* C2PMSG_58 */
> };
>
> static const struct platform_access_vdata pa_v1 = {
> @@ -435,6 +436,7 @@ static const struct platform_access_vdata pa_v1 = {
>
> static const struct psp_vdata pspv1 = {
> .sev = &sevv1,
> + .bootloader_info_reg = 0x105ec, /* C2PMSG_59 */
> .feature_reg = 0x105fc, /* C2PMSG_63 */
> .inten_reg = 0x10610, /* P2CMSG_INTEN */
> .intsts_reg = 0x10614, /* P2CMSG_INTSTS */
> @@ -442,6 +444,7 @@ static const struct psp_vdata pspv1 = {
>
> static const struct psp_vdata pspv2 = {
> .sev = &sevv2,
> + .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
> .feature_reg = 0x109fc, /* C2PMSG_63 */
> .inten_reg = 0x10690, /* P2CMSG_INTEN */
> .intsts_reg = 0x10694, /* P2CMSG_INTSTS */
> @@ -450,6 +453,7 @@ static const struct psp_vdata pspv2 = {
> static const struct psp_vdata pspv3 = {
> .tee = &teev1,
> .platform_access = &pa_v1,
> + .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
> .feature_reg = 0x109fc, /* C2PMSG_63 */
> .inten_reg = 0x10690, /* P2CMSG_INTEN */
> .intsts_reg = 0x10694, /* P2CMSG_INTSTS */
> @@ -458,6 +462,7 @@ static const struct psp_vdata pspv3 = {
> static const struct psp_vdata pspv4 = {
> .sev = &sevv2,
> .tee = &teev1,
> + .bootloader_info_reg = 0x109ec, /* C2PMSG_59 */
> .feature_reg = 0x109fc, /* C2PMSG_63 */
> .inten_reg = 0x10690, /* P2CMSG_INTEN */
> .intsts_reg = 0x10694, /* P2CMSG_INTSTS */