/* * Copyright (c) 2011-2012 The Chromium OS Authors. * SPDX-License-Identifier: GPL-2.0+ */ #include #include #include /* Main state record for the sandbox */ static struct sandbox_state main_state; static struct sandbox_state *state; /* Pointer to current state record */ void state_record_exit(enum exit_type_id exit_type) { state->exit_type = exit_type; } struct sandbox_state *state_get_current(void) { assert(state); return state; } int state_init(void) { state = &main_state; state->ram_size = CONFIG_SYS_SDRAM_SIZE; state->ram_buf = os_malloc(state->ram_size); assert(state->ram_buf); /* * Example of how to use GPIOs: * * sandbox_gpio_set_direction(170, 0); * sandbox_gpio_set_value(170, 0); */ return 0; } int state_uninit(void) { int err; state = &main_state; if (state->write_ram_buf) { err = os_write_ram_buf(state->ram_buf_fname); if (err) { printf("Failed to write RAM buffer\n"); return err; } } return 0; }