qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v3 0/7]  Add aarch64_be-linux-user target
@ 2017-12-20 21:23 Michael Weiser
  2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 1/7] linux-user: Add support for big-endian aarch64 Michael Weiser
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Michael Weiser @ 2017-12-20 21:23 UTC (permalink / raw)
  To: qemu-devel; +Cc: Michael Weiser, Riku Voipio, Laurent Vivier

Hello,

below patches add support for big-endian aarch64 to linux-user. Almost
everything is already in place. The patches just set up the CPU flags as
required for big-endianness, add a distinction in uname and make sure the
instructions for the signal trampoline end up in memory little-endian.
Finally, configure is extended to allow building of a
aarch64_be-linux-user target and scripts/qemu-binfmt-conf.sh to include
the binfmt magic for aarch64_be ELF files.

While at it, scripts/qemu-binfmt-conf.sh is changed again to separate
arm/aarch64 targets of differing endianness into separate families so
that the binfmt handler for the respective other endianness is indeed
registered.  Also, while not strictly relevant to aarch64 support, armeb
is actually added to the list of targets, binfmt handlers should
registered for.

With this I am able to run individual aarch64_be binaries as well as
chroot into a full-blown aarch64_be userland using binfmt_misc, running
and compiling things (Gentoo crossdev/native).

v3:
- drop changes to aarch64 host support from configure
- add binfmt arm CPU family separation
- add armeb to binfmt handler targets

v2:
- add binfmt magic to qemu-binfmt-conf.sh
- fix style problems (tab indenting)

Thanks,
Michael


Michael Weiser (7):
  linux-user: Add support for big-endian aarch64
  linux-user: Add separate aarch64_be uname
  linux-user: Fix endianess of aarch64 signal trampoline
  configure: Add aarch64_be-linux-user target
  linux-user: Add aarch64_be magic numbers to qemu-binfmt-conf.sh
  linux-user: Separate binfmt arm CPU families
  linux-user: Activate armeb handler registration

 configure                                 |  5 +++--
 default-configs/aarch64_be-linux-user.mak |  1 +
 linux-user/aarch64/target_syscall.h       |  4 ++++
 linux-user/main.c                         |  6 ++++++
 linux-user/signal.c                       | 10 +++++++---
 scripts/qemu-binfmt-conf.sh               | 15 +++++++++++----
 6 files changed, 32 insertions(+), 9 deletions(-)
 create mode 100644 default-configs/aarch64_be-linux-user.mak

-- 
2.15.1

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

end of thread, other threads:[~2018-01-08 12:06 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-20 21:23 [Qemu-devel] [PATCH v3 0/7] Add aarch64_be-linux-user target Michael Weiser
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 1/7] linux-user: Add support for big-endian aarch64 Michael Weiser
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 2/7] linux-user: Add separate aarch64_be uname Michael Weiser
2017-12-21 10:02   ` Laurent Vivier
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 3/7] linux-user: Fix endianess of aarch64 signal trampoline Michael Weiser
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 4/7] configure: Add aarch64_be-linux-user target Michael Weiser
2017-12-21 10:01   ` Laurent Vivier
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 5/7] linux-user: Add aarch64_be magic numbers to qemu-binfmt-conf.sh Michael Weiser
2017-12-21 10:01   ` Laurent Vivier
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 6/7] linux-user: Separate binfmt arm CPU families Michael Weiser
2017-12-21  9:59   ` Laurent Vivier
2017-12-20 21:23 ` [Qemu-devel] [PATCH v3 7/7] linux-user: Activate armeb handler registration Michael Weiser
2017-12-21  9:58   ` Laurent Vivier
2017-12-20 21:52 ` [Qemu-devel] [PATCH v3 0/7] Add aarch64_be-linux-user target no-reply
2018-01-08 12:06 ` Peter Maydell

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).