soc/amd/picasso: copy local info to transfer buf
We added transfer_info_struct to contain various information about
memory region we pass from PSP to x86 in commit 0c12abe462
.
This should be at the start of transfer region but we only manipulated
it as local variable and didn't put data into the region, resulting
garbage data for transfer_info when x86 tries to read it.
Copy the content of local variable to beginning of _transfer_buffer
before requesting transfer to PSP so coreboot on x86 can access it.
BUG=b:159220781
BRANCH=zork
TEST=check transfer_info_struct is correctly populated on romstage
Signed-off-by: Kangheui Won <khwon@chromium.org>
Change-Id: I14bc34e6af501240a6f633db3999a7759e88d60b
Reviewed-on: https://review.coreboot.org/c/coreboot/+/44751
Reviewed-by: Martin Roth <martinroth@google.com>
Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
8840bcfa86
commit
5f027fa4c2
|
@ -196,6 +196,8 @@ static uint32_t save_buffers(struct vb2_context **ctx)
|
|||
buffer_info.workbuf_offset = (uint32_t)((uintptr_t)_fmap_cache -
|
||||
(uintptr_t)_vboot2_work);
|
||||
|
||||
memcpy(_transfer_buffer, &buffer_info, sizeof(buffer_info));
|
||||
|
||||
retval = svc_save_uapp_data(UAPP_COPYBUF_CHROME_WORKBUF, (void *)_transfer_buffer,
|
||||
buffer_size);
|
||||
if (retval) {
|
||||
|
|
Loading…
Reference in New Issue