aboutsummaryrefslogtreecommitdiff
path: root/linux-user/generic
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2023-01-28 19:46:25 -0500
committerLaurent Vivier <laurent@vivier.eu>2023-02-03 22:55:12 +0100
commit95fc5ed4a86b0d173bf55daf32e1697d11062648 (patch)
tree67158c1505d8b74473dd201128120e8fb1ec7c1e /linux-user/generic
parent6a848b522e189824f25bcfe9ec856c1f85e93fa3 (diff)
downloadqemu-95fc5ed4a86b0d173bf55daf32e1697d11062648.zip
qemu-95fc5ed4a86b0d173bf55daf32e1697d11062648.tar.gz
qemu-95fc5ed4a86b0d173bf55daf32e1697d11062648.tar.bz2
linux-user: move target_flat.h to target subdirs
This makes target_flat.h behave like every other target_xxx.h header. It also makes it actually work -- while the current header says adding a header to the target subdir overrides the common one, it doesn't. This is for two reasons: * meson.build adds -Ilinux-user before -Ilinux-user/$arch * the compiler search path for "target_flat.h" looks in the same dir as the source file before searching -I paths. This can be seen with the xtensa port -- the subdir settings aren't used which breaks stack setup. Move it to the generic/ subdir and add include stubs like every other target_xxx.h header is handled. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230129004625.11228-1-vapier@gentoo.org> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/generic')
-rw-r--r--linux-user/generic/target_flat.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/linux-user/generic/target_flat.h b/linux-user/generic/target_flat.h
new file mode 100644
index 0000000..8fe189e
--- /dev/null
+++ b/linux-user/generic/target_flat.h
@@ -0,0 +1,16 @@
+/* If your arch needs to do custom stuff, create your own target_flat.h
+ * header file in linux-user/<your arch>/
+ */
+
+#ifndef LINUX_USER_TARGET_FLAT_H
+#define LINUX_USER_TARGET_FLAT_H
+
+#define flat_argvp_envp_on_stack() 1
+#define flat_reloc_valid(reloc, size) ((reloc) <= (size))
+#define flat_old_ram_flag(flag) (flag)
+#define flat_get_relocate_addr(relval) (relval)
+#define flat_get_addr_from_rp(rp, relval, flags, persistent) (rp)
+#define flat_set_persistent(relval, persistent) (*persistent)
+#define flat_put_addr_at_rp(rp, addr, relval) put_user_ual(addr, rp)
+
+#endif