[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 00/26] New hppa-linux-user target
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH 00/26] New hppa-linux-user target |
Date: |
Fri, 16 Dec 2016 11:13:39 -0800 |
This is a linux-user only port, emulating a 32-bit only version of a
pa-2.0 cpu. This is good enough to do well with both the gcc and glibc
testsuites. Helge Deller has provided invaluable assistance testing
with a more complete debian chroot.
What's missing:
* Space registers. Since Linux sets them all equal (for a flat
address space) and uses them like address-space identifiers,
we can simply set them all to 0 and ignore them.
* Architecture subsets. There's no markup for running a pure pa1.0
or pa1.1 cpu. I happily accept everything up to pa2.0 at the moment.
* Wide mode. While I have pa2.0 instructions, I don't support running
in 64-bit mode. Since neither the linux kernel nor glibc support a
64-bit userland, it would be a lot more work than just adding the insns.
* Multimedia instructions. These are tied to wide mode, so...
When squashing the patches down from my development tree, I wanted to
preserve Helge's contributions, so the linux-user part is more patches
than I would normally have preserved.
r~
Helge Deller (3):
linux-user: Handle TIOCSTART and TIOCSTOP
linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNS
linux-user: Add some hppa ioctls
Richard Henderson (23):
Revert "Remove remainders of HPPA backend"
linux-user: Support stack-grows-up in elfload.c
linux-user: Handle ERFKILL and EHWPOISON
linux-user: Handle more IPV6 sockopts
linux-user: Add HPPA socket.h definitions
linux-user: Add HPPA syscall numbers
linux-user: Add HPPA termbits.h
linux-user: Add HPPA target_syscall.h
linux-user: Add HPPA definitions to syscall_defs.h
linux-user: Add HPPA target_structs.h
linux-user: Add HPPA target_signal.h and target_cpu.h
linux-user: Add HPPA signal handling
linux-user: Add HPPA startup and main loop
target-hppa: Add softfloat specializations
target-hppa: Add framework and enable compilation
target-hppa: Add nullification framework
target-hppa: Implement basic arithmetic
target-hppa: Implement branches
target-hppa: Implement linux-user gateway page
target-hppa: Implement shifts and deposits
target-hppa: Implement loads and stores
target-hppa: Implement system and memory-management insns
target-hppa: Implement floating-point insns
configure | 7 +-
default-configs/hppa-linux-user.mak | 1 +
disas.c | 2 +
disas/Makefile.objs | 1 +
disas/hppa.c | 2832 +++++++++++++++++++++++++
fpu/softfloat-specialize.h | 20 +-
linux-user/alpha/target_syscall.h | 2 +
linux-user/elfload.c | 259 ++-
linux-user/errno_defs.h | 3 +
linux-user/hppa/sockbits.h | 97 +
linux-user/hppa/syscall_nr.h | 353 ++++
linux-user/hppa/target_cpu.h | 35 +
linux-user/hppa/target_signal.h | 29 +
linux-user/hppa/target_structs.h | 54 +
linux-user/hppa/target_syscall.h | 237 +++
linux-user/hppa/termbits.h | 219 ++
linux-user/ioctls.h | 8 +
linux-user/main.c | 185 +-
linux-user/mips/target_syscall.h | 5 +
linux-user/mips64/target_syscall.h | 5 +
linux-user/qemu.h | 3 +
linux-user/signal.c | 191 +-
linux-user/socket.h | 2 +
linux-user/syscall.c | 41 +-
linux-user/syscall_defs.h | 154 +-
linux-user/syscall_types.h | 6 +
target-hppa/Makefile.objs | 1 +
target-hppa/cpu-qom.h | 52 +
target-hppa/cpu.c | 165 ++
target-hppa/cpu.h | 144 ++
target-hppa/gdbstub.c | 111 +
target-hppa/helper.c | 137 ++
target-hppa/helper.h | 66 +
target-hppa/op_helper.c | 570 +++++
target-hppa/translate.c | 3946 +++++++++++++++++++++++++++++++++++
35 files changed, 9864 insertions(+), 79 deletions(-)
create mode 100644 default-configs/hppa-linux-user.mak
create mode 100644 disas/hppa.c
create mode 100644 linux-user/hppa/sockbits.h
create mode 100644 linux-user/hppa/syscall_nr.h
create mode 100644 linux-user/hppa/target_cpu.h
create mode 100644 linux-user/hppa/target_signal.h
create mode 100644 linux-user/hppa/target_structs.h
create mode 100644 linux-user/hppa/target_syscall.h
create mode 100644 linux-user/hppa/termbits.h
create mode 100644 target-hppa/Makefile.objs
create mode 100644 target-hppa/cpu-qom.h
create mode 100644 target-hppa/cpu.c
create mode 100644 target-hppa/cpu.h
create mode 100644 target-hppa/gdbstub.c
create mode 100644 target-hppa/helper.c
create mode 100644 target-hppa/helper.h
create mode 100644 target-hppa/op_helper.c
create mode 100644 target-hppa/translate.c
--
2.9.3
- [Qemu-devel] [PATCH 00/26] New hppa-linux-user target,
Richard Henderson <=
- [Qemu-devel] [PATCH 04/26] linux-user: Add SIOCGPGRP, SIOCGSTAMP, SIOCGSTAMPNS, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 05/26] linux-user: Handle ERFKILL and EHWPOISON, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 02/26] linux-user: Support stack-grows-up in elfload.c, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 08/26] linux-user: Add HPPA socket.h definitions, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 09/26] linux-user: Add HPPA syscall numbers, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 06/26] linux-user: Handle more IPV6 sockopts, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 03/26] linux-user: Handle TIOCSTART and TIOCSTOP, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 14/26] linux-user: Add HPPA target_signal.h and target_cpu.h, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 15/26] linux-user: Add HPPA signal handling, Richard Henderson, 2016/12/16
- [Qemu-devel] [PATCH 11/26] linux-user: Add HPPA target_syscall.h, Richard Henderson, 2016/12/16