diff options
author | Martin Roth <gaumless@gmail.com> | 2023-01-11 19:12:20 -0700 |
---|---|---|
committer | Felix Held <felix-coreboot@felixheld.de> | 2023-02-13 14:51:11 +0000 |
commit | 72c38c9b1d3c7730ee51dbf4c75c954e72c0a177 (patch) | |
tree | 898ff3c76c573c1caf0365e330e8d6883c9f998f | |
parent | 1a4440cba833f8cf292ee9bac6b4679d1f4234bf (diff) |
soc/amd/mendocino: Add svc_write_postcode call instead of stub
To assist in debugging, add a way for PSP_verstage to send postcodes to
the system.
Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I22e45e26f599a0b4f0b781e9b97fccb68e2e5cc1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/71852
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
-rw-r--r-- | src/soc/amd/mendocino/psp_verstage/chipset.c | 5 | ||||
-rw-r--r-- | src/soc/amd/mendocino/psp_verstage/svc.c | 10 | ||||
-rw-r--r-- | src/soc/amd/mendocino/psp_verstage/svc.h | 4 | ||||
-rw-r--r-- | src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h | 1 |
4 files changed, 15 insertions, 5 deletions
diff --git a/src/soc/amd/mendocino/psp_verstage/chipset.c b/src/soc/amd/mendocino/psp_verstage/chipset.c index 7572756b2d..cb2c27ec4e 100644 --- a/src/soc/amd/mendocino/psp_verstage/chipset.c +++ b/src/soc/amd/mendocino/psp_verstage/chipset.c @@ -104,11 +104,6 @@ int platform_set_sha_op(enum vb2_hash_algorithm hash_alg, * These functions should be replaced with proper implementations later. */ -uint32_t svc_write_postcode(uint32_t postcode) -{ - return 0; -} - void platform_report_mode(int developer_mode_enabled) { printk(BIOS_INFO, "Reporting %s mode\n", diff --git a/src/soc/amd/mendocino/psp_verstage/svc.c b/src/soc/amd/mendocino/psp_verstage/svc.c index ccb60777ba..53d1751535 100644 --- a/src/soc/amd/mendocino/psp_verstage/svc.c +++ b/src/soc/amd/mendocino/psp_verstage/svc.c @@ -162,6 +162,16 @@ uint32_t svc_reset_system(enum reset_type reset_type) return retval; } +uint32_t svc_write_postcode(uint32_t postcode) +{ + uint32_t retval = 0; + struct cmd_param_postcode param = { + .postcode = postcode, + }; + SVC_CALL2(SVC_VERSTAGE_CMD, CMD_WRITE_POSTCODE, (void *)¶m, retval); + return retval; +} + uint32_t svc_crypto_sha(struct sha_generic_data *sha_op, enum sha_operation_mode sha_mode) { uint32_t retval = 0; diff --git a/src/soc/amd/mendocino/psp_verstage/svc.h b/src/soc/amd/mendocino/psp_verstage/svc.h index 437591cef9..67977b69bd 100644 --- a/src/soc/amd/mendocino/psp_verstage/svc.h +++ b/src/soc/amd/mendocino/psp_verstage/svc.h @@ -102,4 +102,8 @@ struct cmd_param_get_hsp_secure_state { unsigned int hsp_secure_state; }; +struct cmd_param_postcode { + uint32_t postcode; +}; + #endif /* PSP_VERSTAGE_SVC_H */ diff --git a/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h b/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h index 88ab1f1e92..d09f39cec1 100644 --- a/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h +++ b/src/vendorcode/amd/fsp/mendocino/include/bl_uapp/bl_syscall_public.h @@ -57,6 +57,7 @@ enum verstage_cmd_id { CMD_SET_FW_HASH_TABLE, CMD_GET_PREV_BOOT_STATUS, CMD_GET_HSP_SECURE_STATE, + CMD_WRITE_POSTCODE, }; struct mod_exp_params { |