sandbox: Write out bloblist when exiting
Sandbox provides a way to write out its emulated memory on exit. This makes it possible to pass a bloblist from one phase (e.g. SPL) to the next. However the bloblist is not closed off, so the checksum is generally invalid. Fix this by finishing up the bloblist before writing the memory file. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <common.h>
|
#include <common.h>
|
||||||
|
#include <bloblist.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fdtdec.h>
|
#include <fdtdec.h>
|
||||||
#include <log.h>
|
#include <log.h>
|
||||||
@@ -398,8 +399,12 @@ int state_uninit(void)
|
|||||||
{
|
{
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
log_info("Writing sandbox state\n");
|
||||||
state = &main_state;
|
state = &main_state;
|
||||||
|
|
||||||
|
/* Finish the bloblist, so that it is correct before writing memory */
|
||||||
|
bloblist_finish();
|
||||||
|
|
||||||
if (state->write_ram_buf) {
|
if (state->write_ram_buf) {
|
||||||
err = os_write_ram_buf(state->ram_buf_fname);
|
err = os_write_ram_buf(state->ram_buf_fname);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
Reference in New Issue
Block a user