|  | /* | 
|  | * Semihosting Stubs for system emulation | 
|  | * | 
|  | * Copyright (c) 2019 Linaro Ltd | 
|  | * | 
|  | * Stubs for system targets that don't actually do semihosting. | 
|  | * | 
|  | * SPDX-License-Identifier: GPL-2.0-or-later | 
|  | */ | 
|  |  | 
|  | #include "qemu/osdep.h" | 
|  | #include "qemu/option.h" | 
|  | #include "qemu/error-report.h" | 
|  | #include "semihosting/semihost.h" | 
|  |  | 
|  | /* Empty config */ | 
|  | QemuOptsList qemu_semihosting_config_opts = { | 
|  | .name = "", | 
|  | .head = QTAILQ_HEAD_INITIALIZER(qemu_semihosting_config_opts.head), | 
|  | .desc = { | 
|  | { /* end of list */ } | 
|  | }, | 
|  | }; | 
|  |  | 
|  | /* Queries to config status default to off */ | 
|  | bool semihosting_enabled(bool is_user) | 
|  | { | 
|  | return false; | 
|  | } | 
|  |  | 
|  | /* | 
|  | * All the rest are empty subs. We could g_assert_not_reached() but | 
|  | * that adds extra weight to the final binary. Waste not want not. | 
|  | */ | 
|  | void qemu_semihosting_enable(void) | 
|  | { | 
|  | } | 
|  |  | 
|  | int qemu_semihosting_config_options(const char *optstr) | 
|  | { | 
|  | return 1; | 
|  | } | 
|  |  | 
|  | const char *semihosting_get_arg(int i) | 
|  | { | 
|  | return NULL; | 
|  | } | 
|  |  | 
|  | int semihosting_get_argc(void) | 
|  | { | 
|  | return 0; | 
|  | } | 
|  |  | 
|  | const char *semihosting_get_cmdline(void) | 
|  | { | 
|  | return NULL; | 
|  | } | 
|  |  | 
|  | void semihosting_arg_fallback(const char *file, const char *cmd) | 
|  | { | 
|  | } | 
|  |  | 
|  | void qemu_semihosting_chardev_init(void) | 
|  | { | 
|  | } |