qemu/stubs/semihost.c
Richard Henderson fb08790b35 semihosting: Cleanup chardev init
Rename qemu_semihosting_connect_chardevs to
qemu_semihosting_chardev_init; pass the result
directly to qemu_semihosting_console_init.

Store the chardev in SemihostingConsole instead
of SemihostingConfig, which lets us drop
semihosting_get_chardev.

Reviewed-by: Luc Michel <lmichel@kalray.eu>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
2022-06-28 04:35:52 +05:30

71 lines
1.2 KiB
C

/*
* Semihosting Stubs for SoftMMU
*
* Copyright (c) 2019 Linaro Ltd
*
* Stubs for SoftMMU 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(void)
{
return false;
}
SemihostingTarget semihosting_get_target(void)
{
return SEMIHOSTING_TARGET_AUTO;
}
/*
* 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 *optarg)
{
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)
{
}