2019-05-13 22:25:27 +08:00
|
|
|
/*
|
|
|
|
* 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 "hw/semihosting/semihost.h"
|
2019-08-12 13:23:56 +08:00
|
|
|
#include "sysemu/sysemu.h"
|
2019-05-13 22:25:27 +08:00
|
|
|
|
|
|
|
/* 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)
|
|
|
|
{
|
|
|
|
}
|
2019-05-14 22:30:14 +08:00
|
|
|
|
|
|
|
void qemu_semihosting_connect_chardevs(void)
|
|
|
|
{
|
|
|
|
}
|
2019-11-05 04:42:30 +08:00
|
|
|
|
|
|
|
void qemu_semihosting_console_init(void)
|
|
|
|
{
|
|
|
|
}
|