[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 14/26] linux-user: Add HPPA target_signal.h and targe
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PULL 14/26] linux-user: Add HPPA target_signal.h and target_cpu.h |
Date: |
Sun, 22 Jan 2017 18:17:36 -0800 |
The cpu.h structure that these manipulate hasn't been defined
yet, but we haven't enabled compilation yet either.
Signed-off-by: Richard Henderson <address@hidden>
---
linux-user/hppa/target_cpu.h | 35 +++++++++++++++++++++++++++++++++++
linux-user/hppa/target_signal.h | 29 +++++++++++++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 linux-user/hppa/target_cpu.h
create mode 100644 linux-user/hppa/target_signal.h
diff --git a/linux-user/hppa/target_cpu.h b/linux-user/hppa/target_cpu.h
new file mode 100644
index 0000000..1a5ceca
--- /dev/null
+++ b/linux-user/hppa/target_cpu.h
@@ -0,0 +1,35 @@
+/*
+ * HPPA specific CPU ABI and functions for linux-user
+ *
+ * Copyright (c) 2016 Richard Henderson
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef ALPHA_TARGET_CPU_H
+#define ALPHA_TARGET_CPU_H
+
+static inline void cpu_clone_regs(CPUHPPAState *env, target_ulong newsp)
+{
+ if (newsp) {
+ env->gr[30] = newsp;
+ }
+ env->gr[28] = 0;
+}
+
+static inline void cpu_set_tls(CPUHPPAState *env, target_ulong newtls)
+{
+ env->cr27 = newtls;
+}
+
+#endif
diff --git a/linux-user/hppa/target_signal.h b/linux-user/hppa/target_signal.h
new file mode 100644
index 0000000..e115890
--- /dev/null
+++ b/linux-user/hppa/target_signal.h
@@ -0,0 +1,29 @@
+#ifndef HPPA_TARGET_SIGNAL_H
+#define HPPA_TARGET_SIGNAL_H
+
+#include "cpu.h"
+
+/* this struct defines a stack used during syscall handling */
+
+typedef struct target_sigaltstack {
+ abi_ulong ss_sp;
+ int32_t ss_flags;
+ abi_ulong ss_size;
+} target_stack_t;
+
+
+/*
+ * sigaltstack controls
+ */
+#define TARGET_SS_ONSTACK 1
+#define TARGET_SS_DISABLE 2
+
+#define TARGET_MINSIGSTKSZ 2048
+#define TARGET_SIGSTKSZ 8192
+
+static inline abi_ulong get_sp_from_cpustate(CPUHPPAState *state)
+{
+ return state->gr[30];
+}
+
+#endif /* HPPA_TARGET_SIGNAL_H */
--
2.9.3
- [Qemu-devel] [PULL 03/26] linux-user: Handle TIOCSTART and TIOCSTOP, (continued)
- [Qemu-devel] [PULL 03/26] linux-user: Handle TIOCSTART and TIOCSTOP, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 04/26] linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNS, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 05/26] linux-user: Handle ERFKILL and EHWPOISON, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 08/26] linux-user: Add HPPA socket.h definitions, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 06/26] linux-user: Handle more IPV6 sockopts, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 09/26] linux-user: Add HPPA syscall numbers, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 11/26] linux-user: Add HPPA target_syscall.h, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 10/26] linux-user: Add HPPA termbits.h, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 12/26] linux-user: Add HPPA definitions to syscall_defs.h, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 13/26] linux-user: Add HPPA target_structs.h, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 14/26] linux-user: Add HPPA target_signal.h and target_cpu.h,
Richard Henderson <=
- [Qemu-devel] [PULL 15/26] linux-user: Add HPPA signal handling, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 17/26] target-hppa: Add softfloat specializations, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 01/26] Revert "Remove remainders of HPPA backend", Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 16/26] linux-user: Add HPPA startup and main loop, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 22/26] target-hppa: Implement linux-user gateway page, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 20/26] target-hppa: Implement basic arithmetic, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 19/26] target-hppa: Add nullification framework, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 18/26] target-hppa: Add framework and enable compilation, Richard Henderson, 2017/01/22
- [Qemu-devel] [PULL 21/26] target-hppa: Implement branches, Richard Henderson, 2017/01/22