sandbox: Decouple program entry from sandbox init

Move the program's entry point to os.c, in preparation for a separate
fuzzing entry point to be added.

Signed-off-by: Andrew Scull <ascull@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Andrew Scull 2022-05-30 10:00:10 +00:00 committed by Tom Rini
parent 36f641c54e
commit 001c39a196
3 changed files with 25 additions and 1 deletions

View File

@ -27,6 +27,7 @@
#include <linux/types.h>
#include <asm/getopt.h>
#include <asm/main.h>
#include <asm/sections.h>
#include <asm/state.h>
#include <os.h>
@ -1001,3 +1002,8 @@ void os_relaunch(char *argv[])
execv(argv[0], argv);
os_exit(1);
}
int main(int argc, char *argv[])
{
return sandbox_main(argc, argv);
}

View File

@ -453,7 +453,7 @@ void sandbox_reset(void)
os_relaunch(os_argv);
}
int main(int argc, char *argv[])
int sandbox_main(int argc, char *argv[])
{
struct sandbox_state *state;
void * text_base;

View File

@ -0,0 +1,18 @@
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright (c) 2022 Google, Inc.
* Written by Andrew Scull <ascull@google.com>
*/
#ifndef __ASM_SANDBOX_MAIN_H
#define __ASM_SANDBOX_MAIN_H
/**
* sandbox_main() - main entrypoint for sandbox
*
* @argc: the number of arguments passed to the program
* @argv: array of argc+1 pointers, of which the last one is null
*/
int sandbox_main(int argc, char *argv[]);
#endif /* __ASM_SANDBOX_MAIN_H */