diff --git a/src/soc/amd/cezanne/include/soc/psp_transfer.h b/src/soc/amd/cezanne/include/soc/psp_transfer.h index afa6a58a3c..f81785ec11 100644 --- a/src/soc/amd/cezanne/include/soc/psp_transfer.h +++ b/src/soc/amd/cezanne/include/soc/psp_transfer.h @@ -54,7 +54,7 @@ void verify_psp_transfer_buf(void); /* Display the transfer block's PSP_info data */ void show_psp_transfer_info(void); /* Replays the pre-x86 cbmem console into the x86 cbmem console */ -void replay_transfer_buffer_cbmemc(const struct transfer_info_struct *info); +void replay_transfer_buffer_cbmemc(void); /* Called by bootblock_c_entry in the VBOOT_STARTS_BEFORE_BOOTBLOCK case */ void boot_with_psp_timestamp(uint64_t base_timestamp); diff --git a/src/soc/amd/common/vboot/transfer_buffer.c b/src/soc/amd/common/vboot/transfer_buffer.c index 06e564a2f3..63b4f8efe6 100644 --- a/src/soc/amd/common/vboot/transfer_buffer.c +++ b/src/soc/amd/common/vboot/transfer_buffer.c @@ -61,12 +61,17 @@ void show_psp_transfer_info(void) } } -void replay_transfer_buffer_cbmemc(const struct transfer_info_struct *info) +void replay_transfer_buffer_cbmemc(void) { + const struct transfer_info_struct *info = (const struct transfer_info_struct *) + (void *)(uintptr_t)_transfer_buffer; void *cbmemc; size_t cbmemc_size; + if (!transfer_buffer_valid(info)) + return; + if (info->console_offset < sizeof(*info)) return; diff --git a/src/soc/amd/common/vboot/vboot_bootblock.c b/src/soc/amd/common/vboot/vboot_bootblock.c index 72648368e4..1375e9823d 100644 --- a/src/soc/amd/common/vboot/vboot_bootblock.c +++ b/src/soc/amd/common/vboot/vboot_bootblock.c @@ -14,7 +14,7 @@ void boot_with_psp_timestamp(uint64_t base_timestamp) if (!transfer_buffer_valid(info) || info->timestamp == 0) return; - replay_transfer_buffer_cbmemc(info); + replay_transfer_buffer_cbmemc(); /* * info->timestamp is PSP's timestamp (in microseconds) diff --git a/src/soc/amd/picasso/include/soc/psp_transfer.h b/src/soc/amd/picasso/include/soc/psp_transfer.h index 6b10ad27ed..5b5169161d 100644 --- a/src/soc/amd/picasso/include/soc/psp_transfer.h +++ b/src/soc/amd/picasso/include/soc/psp_transfer.h @@ -54,7 +54,7 @@ void verify_psp_transfer_buf(void); /* Display the transfer block's PSP_info data */ void show_psp_transfer_info(void); /* Replays the pre-x86 cbmem console into the x86 cbmem console */ -void replay_transfer_buffer_cbmemc(const struct transfer_info_struct *info); +void replay_transfer_buffer_cbmemc(void); /* Called by bootblock_c_entry in the VBOOT_STARTS_BEFORE_BOOTBLOCK case */ void boot_with_psp_timestamp(uint64_t base_timestamp); diff --git a/src/soc/amd/sabrina/include/soc/psp_transfer.h b/src/soc/amd/sabrina/include/soc/psp_transfer.h index 0fe204d2d3..6e3faaf16b 100644 --- a/src/soc/amd/sabrina/include/soc/psp_transfer.h +++ b/src/soc/amd/sabrina/include/soc/psp_transfer.h @@ -56,7 +56,7 @@ void verify_psp_transfer_buf(void); /* Display the transfer block's PSP_info data */ void show_psp_transfer_info(void); /* Replays the pre-x86 cbmem console into the x86 cbmem console */ -void replay_transfer_buffer_cbmemc(const struct transfer_info_struct *info); +void replay_transfer_buffer_cbmemc(void); /* Called by bootblock_c_entry in the VBOOT_STARTS_BEFORE_BOOTBLOCK case */ void boot_with_psp_timestamp(uint64_t base_timestamp);