From 9d73b518fc3c61640123f8499aab7f8373e41dbd Mon Sep 17 00:00:00 2001 From: Jean-Christophe PLAGNIOL-VILLARD Date: Wed, 12 Sep 2012 15:38:42 +0200 Subject: sandbox: add sdl video support This will allow speed up the dev on framebuffer. By default the resolution is VGA but this can be changed via cmdline. We use a pthread to Flip the screen every 100ms as we can not detect when barebox update it as barebox simpliy write in a buffer. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD Signed-off-by: Sascha Hauer --- arch/sandbox/os/common.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'arch/sandbox/os/common.c') diff --git a/arch/sandbox/os/common.c b/arch/sandbox/os/common.c index d2aea383fb..a73f400676 100644 --- a/arch/sandbox/os/common.c +++ b/arch/sandbox/os/common.c @@ -52,6 +52,9 @@ #include #include +int sdl_xres; +int sdl_yres; + static struct termios term_orig, term_vi; static char erase_char; /* the users erase character */ @@ -278,10 +281,12 @@ static struct option long_options[] = { {"env", 1, 0, 'e'}, {"stdout", 1, 0, 'O'}, {"stdin", 1, 0, 'I'}, + {"xres", 1, 0, 'x'}, + {"yres", 1, 0, 'y'}, {0, 0, 0, 0}, }; -static const char optstring[] = "hm:i:e:O:I:"; +static const char optstring[] = "hm:i:e:O:I:x:y:"; int main(int argc, char *argv[]) { @@ -333,6 +338,12 @@ int main(int argc, char *argv[]) barebox_register_console("cin", fd, -1); break; + case 'x': + sdl_xres = strtoul(optarg, NULL, 0); + break; + case 'y': + sdl_yres = strtoul(optarg, NULL, 0); + break; default: exit(1); } @@ -415,7 +426,9 @@ static void print_usage(const char *prgname) " -O, --stdout= Register a file as a console capable of doing stdout.\n" " can be a regular file or a FIFO.\n" " -I, --stdin= Register a file as a console capable of doing stdin.\n" -" can be a regular file or a FIFO.\n", +" can be a regular file or a FIFO.\n" +" -x, --xres= SDL width.\n" +" -y, --yres= SDL height.\n", prgname ); } @@ -455,6 +468,14 @@ static void print_usage(const char *prgname) * Register \ as a console capable of doing stdin. \ can be a regular * file or a fifo. * + * -x, --xres \ + * + * Specify SDL width + * + * -y, --yres \ + * + * Specify SDL height + * * @section simu_dbg How to debug barebox simulator * */ -- cgit v1.2.3