On 2/1/22 22:14, Warner Losh wrote:
Create target.h. This file is intended to be simple and describe basic
things about the architecture. If something is a basic feature of the
architecture, it belongs here. Should we need something that's per-BSD
there will be a target-os.h that will live in the per-bsd directories.
Define regpairs_aligned to reflect whether or not registers are 'paired'
for 64-bit arguments or not. This will be false for all 64-bit targets,
and will be true on those architectures that pair (currently just armv7
and powerpc on FreeBSD 14.x).
Signed-off-by: Warner Losh <i...@bsdimp.com>
---
bsd-user/arm/target.h | 21 +++++++++++++++++++++
bsd-user/i386/target.h | 21 +++++++++++++++++++++
bsd-user/qemu.h | 1 +
bsd-user/x86_64/target.h | 21 +++++++++++++++++++++
4 files changed, 64 insertions(+)
create mode 100644 bsd-user/arm/target.h
create mode 100644 bsd-user/i386/target.h
create mode 100644 bsd-user/x86_64/target.h
diff --git a/bsd-user/arm/target.h b/bsd-user/arm/target.h
new file mode 100644
index 00000000000..1f7ee49bfb4
--- /dev/null
+++ b/bsd-user/arm/target.h
@@ -0,0 +1,21 @@
+/*
+ * Intel general target stuff that's common to all i386 details
+ *
+ * Copyright (c) 2022 M. Warner Losh <i...@bsdimp.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ */
+
+#ifndef TARGET_H
+#define TARGET_H
+
+/*
+ * arm EABI 'lumps' the registers for 64-bit args.
+ */
+static inline int regpairs_aligned(void *cpu_env)
Nit: could use bool. Otherwise,
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>
r~