Przeglądaj źródła

stubs: split semihosting_get_target from system only stubs

As we are about to have a common syscalls.c for gdbstub we need to
stub out one semihosting helper function for all targets.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230307170405.796822-1-alex.bennee@linaro.org>
Alex Bennée 2 lat temu
rodzic
commit
ad66b5cbbb
3 zmienionych plików z 18 dodań i 5 usunięć
  1. 1 0
      stubs/meson.build
  2. 17 0
      stubs/semihost-all.c
  3. 0 5
      stubs/semihost.c

+ 1 - 0
stubs/meson.build

@@ -61,4 +61,5 @@ if have_system
 else
 else
   stub_ss.add(files('qdev.c'))
   stub_ss.add(files('qdev.c'))
 endif
 endif
+stub_ss.add(files('semihost-all.c'))
 stub_ss.add(when: 'CONFIG_VFIO_USER_SERVER', if_false: files('vfio-user-obj.c'))
 stub_ss.add(when: 'CONFIG_VFIO_USER_SERVER', if_false: files('vfio-user-obj.c'))

+ 17 - 0
stubs/semihost-all.c

@@ -0,0 +1,17 @@
+/*
+ * Semihosting Stubs for all targets
+ *
+ * Copyright (c) 2023 Linaro Ltd
+ *
+ * Stubs for all targets that don't actually do semihosting.
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#include "qemu/osdep.h"
+#include "semihosting/semihost.h"
+
+SemihostingTarget semihosting_get_target(void)
+{
+    return SEMIHOSTING_TARGET_AUTO;
+}

+ 0 - 5
stubs/semihost.c

@@ -28,11 +28,6 @@ bool semihosting_enabled(bool is_user)
     return false;
     return false;
 }
 }
 
 
-SemihostingTarget semihosting_get_target(void)
-{
-    return SEMIHOSTING_TARGET_AUTO;
-}
-
 /*
 /*
  * All the rest are empty subs. We could g_assert_not_reached() but
  * 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.
  * that adds extra weight to the final binary. Waste not want not.