summary refs log tree commit diff stats
path: root/semihosting/stubs-system.c
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2024-04-08 17:53:24 +0200
committerPaolo Bonzini <pbonzini@redhat.com>2024-04-18 11:17:27 +0200
commit5837db465053f57414f671448b370a4b29250bae (patch)
tree826e371bce92e31c9717a865270422fc80124269 /semihosting/stubs-system.c
parentf2604d8508a12a2060e854283fa076c9f09d1d10 (diff)
downloadfocaccia-qemu-5837db465053f57414f671448b370a4b29250bae.tar.gz
focaccia-qemu-5837db465053f57414f671448b370a4b29250bae.zip
semihosting: move stubs out of stubs/
Since the semihosting stubs are needed exactly when the Kconfig symbols
are not needed, move them to semihosting/ and conditionalize them
on CONFIG_SEMIHOSTING and/or CONFIG_SYSTEM_ONLY.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-ID: <20240408155330.522792-13-pbonzini@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'semihosting/stubs-system.c')
-rw-r--r--semihosting/stubs-system.c65
1 files changed, 65 insertions, 0 deletions
diff --git a/semihosting/stubs-system.c b/semihosting/stubs-system.c
new file mode 100644
index 0000000000..f26cbb7c25
--- /dev/null
+++ b/semihosting/stubs-system.c
@@ -0,0 +1,65 @@
+/*
+ * 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)
+{
+}