semihost.c (1301B)
1/* 2 * Semihosting Stubs for SoftMMU 3 * 4 * Copyright (c) 2019 Linaro Ltd 5 * 6 * Stubs for SoftMMU targets that don't actually do semihosting. 7 * 8 * SPDX-License-Identifier: GPL-2.0-or-later 9 */ 10 11#include "qemu/osdep.h" 12#include "qemu/option.h" 13#include "qemu/error-report.h" 14#include "semihosting/semihost.h" 15 16/* Empty config */ 17QemuOptsList qemu_semihosting_config_opts = { 18 .name = "", 19 .head = QTAILQ_HEAD_INITIALIZER(qemu_semihosting_config_opts.head), 20 .desc = { 21 { /* end of list */ } 22 }, 23}; 24 25/* Queries to config status default to off */ 26bool semihosting_enabled(void) 27{ 28 return false; 29} 30 31SemihostingTarget semihosting_get_target(void) 32{ 33 return SEMIHOSTING_TARGET_AUTO; 34} 35 36/* 37 * All the rest are empty subs. We could g_assert_not_reached() but 38 * that adds extra weight to the final binary. Waste not want not. 39 */ 40void qemu_semihosting_enable(void) 41{ 42} 43 44int qemu_semihosting_config_options(const char *optarg) 45{ 46 return 1; 47} 48 49const char *semihosting_get_arg(int i) 50{ 51 return NULL; 52} 53 54int semihosting_get_argc(void) 55{ 56 return 0; 57} 58 59const char *semihosting_get_cmdline(void) 60{ 61 return NULL; 62} 63 64void semihosting_arg_fallback(const char *file, const char *cmd) 65{ 66} 67 68void qemu_semihosting_connect_chardevs(void) 69{ 70} 71 72void qemu_semihosting_console_init(void) 73{ 74}