qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]