15837db46SPaolo Bonzini /* 25837db46SPaolo Bonzini * Semihosting Stubs for system emulation 35837db46SPaolo Bonzini * 45837db46SPaolo Bonzini * Copyright (c) 2019 Linaro Ltd 55837db46SPaolo Bonzini * 65837db46SPaolo Bonzini * Stubs for system targets that don't actually do semihosting. 75837db46SPaolo Bonzini * 85837db46SPaolo Bonzini * SPDX-License-Identifier: GPL-2.0-or-later 95837db46SPaolo Bonzini */ 105837db46SPaolo Bonzini 115837db46SPaolo Bonzini #include "qemu/osdep.h" 125837db46SPaolo Bonzini #include "qemu/option.h" 135837db46SPaolo Bonzini #include "qemu/error-report.h" 145837db46SPaolo Bonzini #include "semihosting/semihost.h" 155837db46SPaolo Bonzini 165837db46SPaolo Bonzini /* Empty config */ 175837db46SPaolo Bonzini QemuOptsList qemu_semihosting_config_opts = { 185837db46SPaolo Bonzini .name = "", 195837db46SPaolo Bonzini .head = QTAILQ_HEAD_INITIALIZER(qemu_semihosting_config_opts.head), 205837db46SPaolo Bonzini .desc = { 215837db46SPaolo Bonzini { /* end of list */ } 225837db46SPaolo Bonzini }, 235837db46SPaolo Bonzini }; 245837db46SPaolo Bonzini 255837db46SPaolo Bonzini /* Queries to config status default to off */ semihosting_enabled(bool is_user)265837db46SPaolo Bonzinibool semihosting_enabled(bool is_user) 275837db46SPaolo Bonzini { 285837db46SPaolo Bonzini return false; 295837db46SPaolo Bonzini } 305837db46SPaolo Bonzini 315837db46SPaolo Bonzini /* 325837db46SPaolo Bonzini * All the rest are empty subs. We could g_assert_not_reached() but 335837db46SPaolo Bonzini * that adds extra weight to the final binary. Waste not want not. 345837db46SPaolo Bonzini */ qemu_semihosting_enable(void)355837db46SPaolo Bonzinivoid qemu_semihosting_enable(void) 365837db46SPaolo Bonzini { 375837db46SPaolo Bonzini } 385837db46SPaolo Bonzini qemu_semihosting_config_options(const char * optstr)395837db46SPaolo Bonziniint qemu_semihosting_config_options(const char *optstr) 405837db46SPaolo Bonzini { 415837db46SPaolo Bonzini return 1; 425837db46SPaolo Bonzini } 435837db46SPaolo Bonzini semihosting_get_arg(int i)445837db46SPaolo Bonziniconst char *semihosting_get_arg(int i) 455837db46SPaolo Bonzini { 465837db46SPaolo Bonzini return NULL; 475837db46SPaolo Bonzini } 485837db46SPaolo Bonzini semihosting_get_argc(void)495837db46SPaolo Bonziniint semihosting_get_argc(void) 505837db46SPaolo Bonzini { 515837db46SPaolo Bonzini return 0; 525837db46SPaolo Bonzini } 535837db46SPaolo Bonzini semihosting_get_cmdline(void)545837db46SPaolo Bonziniconst char *semihosting_get_cmdline(void) 555837db46SPaolo Bonzini { 565837db46SPaolo Bonzini return NULL; 575837db46SPaolo Bonzini } 585837db46SPaolo Bonzini semihosting_arg_fallback(const char * file,const char * cmd)595837db46SPaolo Bonzinivoid semihosting_arg_fallback(const char *file, const char *cmd) 605837db46SPaolo Bonzini { 615837db46SPaolo Bonzini } 625837db46SPaolo Bonzini qemu_semihosting_chardev_init(void)635837db46SPaolo Bonzinivoid qemu_semihosting_chardev_init(void) 645837db46SPaolo Bonzini { 655837db46SPaolo Bonzini } 66