blob: 79f3fb0aacd4ea091f0182ee78e8f93b01e4196f [file] [log] [blame]
Simon Glass46508c92018-11-15 18:44:03 -07001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright 2018, Google Inc.
4 * Written by Simon Glass <sjg@chromium.org>
5 */
6
Simon Glassed38aef2020-05-10 11:40:03 -06007#include <command.h>
Simon Glass46508c92018-11-15 18:44:03 -07008#include <dm.h>
9#include <spl.h>
Simon Glass9a27d9d2024-10-28 13:47:57 +010010#include <asm/cpu.h>
Simon Glass3ba929a2020-10-30 21:38:53 -060011#include <asm/global_data.h>
Simon Glass46508c92018-11-15 18:44:03 -070012#include <asm/state.h>
13
Simon Glassed38aef2020-05-10 11:40:03 -060014static int do_sb_handoff(struct cmd_tbl *cmdtp, int flag, int argc,
Simon Glasse14f1a22018-11-15 18:44:09 -070015 char *const argv[])
16{
17#if CONFIG_IS_ENABLED(HANDOFF)
Simon Glass1577b132024-12-01 07:42:35 -070018 if (gd->spl_handoff)
19 printf("SPL handoff magic %lx\n", gd->spl_handoff->arch.magic);
Simon Glasse14f1a22018-11-15 18:44:09 -070020 else
21 printf("SPL handoff info not received\n");
22
23 return 0;
24#else
25 printf("Command not supported\n");
26
27 return CMD_RET_USAGE;
28#endif
29}
30
Simon Glass9a27d9d2024-10-28 13:47:57 +010031static int do_sb_map(struct cmd_tbl *cmdtp, int flag, int argc,
32 char *const argv[])
33{
34 sandbox_map_list();
35
36 return 0;
37}
38
Simon Glassed38aef2020-05-10 11:40:03 -060039static int do_sb_state(struct cmd_tbl *cmdtp, int flag, int argc,
40 char *const argv[])
Simon Glass46508c92018-11-15 18:44:03 -070041{
42 struct sandbox_state *state;
43
44 state = state_get_current();
45 state_show(state);
46
47 return 0;
48}
49
Simon Glass354a6e82024-10-28 13:47:55 +010050U_BOOT_LONGHELP(sb,
Simon Glasse14f1a22018-11-15 18:44:09 -070051 "handoff - Show handoff data received from SPL\n"
Simon Glass9a27d9d2024-10-28 13:47:57 +010052 "sb map - Show mapped memory\n"
Simon Glass354a6e82024-10-28 13:47:55 +010053 "sb state - Show sandbox state");
54
55U_BOOT_CMD_WITH_SUBCMDS(sb, "Sandbox status commands", sb_help_text,
56 U_BOOT_SUBCMD_MKENT(handoff, 1, 1, do_sb_handoff),
Simon Glass9a27d9d2024-10-28 13:47:57 +010057 U_BOOT_SUBCMD_MKENT(map, 1, 1, do_sb_map),
Simon Glass354a6e82024-10-28 13:47:55 +010058 U_BOOT_SUBCMD_MKENT(state, 1, 1, do_sb_state));