2023-04-28 18:57:15

by Mario Limonciello

[permalink] [raw]
Subject: [PATCH v2 03/10] crypto: ccp: Add bootloader and TEE version offsets

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


2023-05-01 18:41:19

by Tom Lendacky

[permalink] [raw]
Subject: Re: [PATCH v2 03/10] crypto: ccp: Add bootloader and TEE version offsets

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 */