qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v5 00/21] AArch64 preparation patchset
@ 2013-07-01 17:34 Peter Maydell
  2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 01/21] target-arm: Abstract out load/store from a vaddr in AArch32 Peter Maydell
                   ` (22 more replies)
  0 siblings, 23 replies; 29+ messages in thread
From: Peter Maydell @ 2013-07-01 17:34 UTC (permalink / raw)
  To: qemu-devel; +Cc: Andreas Schwab, Alexander Graf, Mian M. Hamayun, patches

This patchset is v5 of the "preparation patchset" that started
off with Alex, was passed to John Rigby and now to me.

Things I've done to it:
 * various bits of cleanup for style and other minor things
 * a little shuffling and splitting of patches
 * made the 32 bit CPUs work in aarch64-softmmu
 * given aarch64 its own cpu_loop() in linux-user/main.c 
 * made sure NWFPE doesn't sneak into aarch64-linux-user
 * let aarch64 have a nearly clean slate for tb_flags

Individual patches have a summary of my changes in the commit.

I've left the 'global cpu_env variable' patch alone since
there wasn't any consensus about what the best approach was;
it's a pretty minor (and textually localized) thing anyway so
easy to fix in future if it becomes an actual problem.

With these patches:
 * new target aarch64-linux-user, which will run but
   SIGILL on all instructions
 * new target aarch64-softmmu, which will run all the 32 bit
   CPUs and board models; however there is no 64 bit CPU
   defined so it's a bit pointless except as a demonstration
   that we haven't broken the 32 bit code.

I'm generally happy with the patchset and think it could
be committed (except for the last two default-configs patchs
which actually enable the new targets), apart from the fact
that it's not actually terribly useful yet.

There's one patch in here which is obviously going to clash
with my "move cpu_set_tls and cpu_clone_regs to linux-user"
patch, but it will be easy enough to fix when that goes in.

Note that in general the 'signed-off-by:' lines from people
other than me should be taken to indicate credit/authorship
rather than "I'm happy with this patchset", given that I've
changed the patches as they passed through my hands.


Alexander Graf (14):
  target-arm: Extract the disas struct to a header file
  target-arm: Export cpu_env
  target-arm: Fix target_ulong/uint32_t confusions
  target-arm: Prepare translation for AArch64 code
  target-arm: Add AArch64 translation stub
  gdbstub: Add AArch64 support
  linux-user: Don't treat AArch64 cpu names specially
  linux-user: Add syscall number definitions for AArch64
  linux-user: Fix up AArch64 syscall handlers
  target-arm: Implement cpu_set_tls() and cpu_clone_regs() for AArch64
  linux-user: Add AArch64 termbits.h definitions
  linux-user: Add AArch64 support
  linux-user: AArch64 requires at least 3.8.0
  configure: Add handling code for AArch64 targets

Andreas Schwab (1):
  linux-user: Add signal handling for AArch64

Peter Maydell (6):
  target-arm: Abstract out load/store from a vaddr in AArch32
  target-arm: Pass DisasContext* to gen_set_pc_im()
  linux-user: Add cpu loop for AArch64
  linux-user: Make sure NWFPE code is 32 bit ARM only
  default-configs: Add config for aarch64-linux-user
  default-configs: Add config for aarch64-softmmu

 configure                              |    9 +-
 default-configs/aarch64-linux-user.mak |    3 +
 default-configs/aarch64-softmmu.mak    |   82 ++++++
 gdb-xml/aarch64-core.xml               |   46 ++++
 gdb-xml/aarch64-fpu.xml                |   86 +++++++
 gdbstub.c                              |   53 ++++
 linux-user/aarch64/syscall.h           |    8 +
 linux-user/aarch64/syscall_nr.h        |  323 ++++++++++++++++++++++++
 linux-user/aarch64/target_signal.h     |   29 +++
 linux-user/aarch64/termbits.h          |  220 +++++++++++++++++
 linux-user/cpu-uname.c                 |    3 +-
 linux-user/elfload.c                   |   15 +-
 linux-user/main.c                      |   98 ++++++++
 linux-user/qemu.h                      |    4 +-
 linux-user/signal.c                    |  254 +++++++++++++++++++
 linux-user/syscall.c                   |   10 +-
 linux-user/syscall_defs.h              |   28 ++-
 target-arm/Makefile.objs               |    1 +
 target-arm/cpu.c                       |    8 +
 target-arm/cpu.h                       |  152 +++++++++---
 target-arm/machine.c                   |    8 +-
 target-arm/translate-a64.c             |  137 ++++++++++
 target-arm/translate.c                 |  426 ++++++++++++++++++++------------
 target-arm/translate.h                 |   55 +++++
 24 files changed, 1853 insertions(+), 205 deletions(-)
 create mode 100644 default-configs/aarch64-linux-user.mak
 create mode 100644 default-configs/aarch64-softmmu.mak
 create mode 100644 gdb-xml/aarch64-core.xml
 create mode 100644 gdb-xml/aarch64-fpu.xml
 create mode 100644 linux-user/aarch64/syscall.h
 create mode 100644 linux-user/aarch64/syscall_nr.h
 create mode 100644 linux-user/aarch64/target_signal.h
 create mode 100644 linux-user/aarch64/termbits.h
 create mode 100644 target-arm/translate-a64.c
 create mode 100644 target-arm/translate.h

-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2013-09-03 10:05 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-01 17:34 [Qemu-devel] [PATCH v5 00/21] AArch64 preparation patchset Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 01/21] target-arm: Abstract out load/store from a vaddr in AArch32 Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 02/21] target-arm: Extract the disas struct to a header file Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 03/21] target-arm: Export cpu_env Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 04/21] target-arm: Fix target_ulong/uint32_t confusions Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 05/21] target-arm: Pass DisasContext* to gen_set_pc_im() Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 06/21] target-arm: Prepare translation for AArch64 code Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 07/21] target-arm: Add AArch64 translation stub Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 08/21] gdbstub: Add AArch64 support Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 09/21] linux-user: Don't treat AArch64 cpu names specially Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 10/21] linux-user: Add cpu loop for AArch64 Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 11/21] linux-user: Add syscall number definitions " Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 12/21] linux-user: Fix up AArch64 syscall handlers Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 13/21] linux-user: Add signal handling for AArch64 Peter Maydell
2013-09-02 12:44   ` Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 14/21] linux-user: Make sure NWFPE code is 32 bit ARM only Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 15/21] target-arm: Implement cpu_set_tls() and cpu_clone_regs() for AArch64 Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 16/21] linux-user: Add AArch64 termbits.h definitions Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 17/21] linux-user: Add AArch64 support Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 18/21] linux-user: AArch64 requires at least 3.8.0 Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 19/21] configure: Add handling code for AArch64 targets Peter Maydell
2013-09-02 16:44   ` Peter Maydell
2013-09-02 17:03     ` Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 20/21] default-configs: Add config for aarch64-linux-user Peter Maydell
2013-07-01 17:35 ` [Qemu-devel] [PATCH v5 21/21] default-configs: Add config for aarch64-softmmu Peter Maydell
2013-07-01 19:07 ` [Qemu-devel] [PATCH v5 00/21] AArch64 preparation patchset Peter Maydell
2013-07-18 13:31   ` Peter Maydell
2013-08-05 13:13     ` Peter Maydell
2013-09-03 10:05 ` Andreas Färber

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).