All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] linux-user: split internals out of qemu.h
@ 2021-09-08 15:43 Peter Maydell
  2021-09-08 15:43 ` [PATCH v2 1/9] linux-user: Fix coding style nits in qemu.h Peter Maydell
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Peter Maydell @ 2021-09-08 15:43 UTC (permalink / raw)
  To: qemu-devel; +Cc: Riku Voipio, Laurent Vivier

linux-user/qemu.h is an awkward header, for two reasons:
 (1) its name suggests it's a rather common generic header,
     but it's actually specific to the usermode emulators
 (2) it is a mix of:
   * lots of things internal to the implementation of linux-user
   * functions that a few files outside linux-user want
     (mostly the user-access functions like lock_user,
     get/put_user_*, etc, and also the TaskStruct definition)

This patchset tries to clean it up a bit by at least splitting
most of the "just internal to linux-user" parts out of qemu.h
and putting them in a handful of different .h files that are
then included by the linux-user files that need them.

I think the ideal would probably be to eventually junk
qemu.h entirely and have a few separate headers specifically
for the bits that non-linux-user code needs (eg a 'user-access.h'
for the get/put_user stuff), perhaps located somewhere that
means we don't need to put linux-user/ on the include path.
But that's awkward as it needs interaction with bsd-user too.
So this much cleanup seemed like a reasonable start...

Changes v1->v2:
 * rebased
 * fixed a few minor niggles spotted in v1 during review
 * use existing signal-common.h rather than creating a new
   header for signal-related functions

Patches still needing review: 3, 4, 5, 7

thanks
-- PMM

Peter Maydell (9):
  linux-user: Fix coding style nits in qemu.h
  linux-user: Split strace prototypes into strace.h
  linux-user: Split signal-related prototypes into signal-common.h
  linux-user: Split loader-related prototypes into loader.h
  linux-user: Split mmap prototypes into user-mmap.h
  linux-user: Split safe-syscall macro into its own header
  linux-user: Split linux-user internals out of qemu.h
  linux-user: Don't include gdbstub.h in qemu.h
  linux-user: Drop unneeded includes from qemu.h

 linux-user/loader.h              |  59 +++++
 linux-user/qemu.h                | 429 ++-----------------------------
 linux-user/safe-syscall.h        | 154 +++++++++++
 linux-user/signal-common.h       |  36 +++
 linux-user/strace.h              |  38 +++
 linux-user/user-internals.h      | 186 ++++++++++++++
 linux-user/user-mmap.h           |  34 +++
 gdbstub.c                        |   2 +-
 linux-user/aarch64/cpu_loop.c    |   2 +
 linux-user/aarch64/signal.c      |   1 +
 linux-user/alpha/cpu_loop.c      |   2 +
 linux-user/alpha/signal.c        |   1 +
 linux-user/arm/cpu_loop.c        |   2 +
 linux-user/arm/signal.c          |   1 +
 linux-user/cris/cpu_loop.c       |   2 +
 linux-user/cris/signal.c         |   1 +
 linux-user/elfload.c             |   3 +
 linux-user/exit.c                |   2 +
 linux-user/fd-trans.c            |   2 +
 linux-user/flatload.c            |   3 +
 linux-user/hexagon/cpu_loop.c    |   2 +
 linux-user/hexagon/signal.c      |   1 +
 linux-user/hppa/cpu_loop.c       |   2 +
 linux-user/hppa/signal.c         |   1 +
 linux-user/i386/cpu_loop.c       |   3 +
 linux-user/i386/signal.c         |   1 +
 linux-user/linuxload.c           |   2 +
 linux-user/m68k/cpu_loop.c       |   2 +
 linux-user/m68k/signal.c         |   1 +
 linux-user/main.c                |   5 +
 linux-user/microblaze/cpu_loop.c |   2 +
 linux-user/microblaze/signal.c   |   1 +
 linux-user/mips/cpu_loop.c       |   2 +
 linux-user/mips/signal.c         |   1 +
 linux-user/mmap.c                |   2 +
 linux-user/nios2/cpu_loop.c      |   2 +
 linux-user/nios2/signal.c        |   1 +
 linux-user/openrisc/cpu_loop.c   |   2 +
 linux-user/openrisc/signal.c     |   1 +
 linux-user/ppc/cpu_loop.c        |   2 +
 linux-user/ppc/signal.c          |   1 +
 linux-user/riscv/cpu_loop.c      |   2 +
 linux-user/riscv/signal.c        |   1 +
 linux-user/s390x/cpu_loop.c      |   2 +
 linux-user/s390x/signal.c        |   1 +
 linux-user/semihost.c            |   1 +
 linux-user/sh4/cpu_loop.c        |   2 +
 linux-user/sh4/signal.c          |   1 +
 linux-user/signal.c              |   5 +
 linux-user/sparc/cpu_loop.c      |   2 +
 linux-user/sparc/signal.c        |   1 +
 linux-user/strace.c              |   3 +
 linux-user/syscall.c             |   6 +
 linux-user/uaccess.c             |   1 +
 linux-user/uname.c               |   1 +
 linux-user/vm86.c                |   1 +
 linux-user/xtensa/cpu_loop.c     |   2 +
 linux-user/xtensa/signal.c       |   1 +
 semihosting/arm-compat-semi.c    |   2 +-
 target/m68k/m68k-semi.c          |   2 +-
 target/nios2/nios2-semi.c        |   2 +-
 thunk.c                          |   1 +
 62 files changed, 620 insertions(+), 417 deletions(-)
 create mode 100644 linux-user/loader.h
 create mode 100644 linux-user/safe-syscall.h
 create mode 100644 linux-user/strace.h
 create mode 100644 linux-user/user-internals.h
 create mode 100644 linux-user/user-mmap.h

-- 
2.20.1



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

end of thread, other threads:[~2021-09-13 19:08 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-08 15:43 [PATCH v2 0/9] linux-user: split internals out of qemu.h Peter Maydell
2021-09-08 15:43 ` [PATCH v2 1/9] linux-user: Fix coding style nits in qemu.h Peter Maydell
2021-09-12 16:07   ` Richard Henderson
2021-09-08 15:43 ` [PATCH v2 2/9] linux-user: Split strace prototypes into strace.h Peter Maydell
2021-09-12 16:16   ` Richard Henderson
2021-09-08 15:43 ` [PATCH v2 3/9] linux-user: Split signal-related prototypes into signal-common.h Peter Maydell
2021-09-08 15:59   ` Philippe Mathieu-Daudé
2021-09-12 16:16   ` Richard Henderson
2021-09-08 15:44 ` [PATCH v2 4/9] linux-user: Split loader-related prototypes into loader.h Peter Maydell
2021-09-08 16:00   ` Philippe Mathieu-Daudé
2021-09-12 16:17   ` Richard Henderson
2021-09-08 15:44 ` [PATCH v2 5/9] linux-user: Split mmap prototypes into user-mmap.h Peter Maydell
2021-09-08 16:01   ` Philippe Mathieu-Daudé
2021-09-12 16:18   ` Richard Henderson
2021-09-08 15:44 ` [PATCH v2 6/9] linux-user: Split safe-syscall macro into its own header Peter Maydell
2021-09-12 16:23   ` Richard Henderson
2021-09-13  8:20     ` Peter Maydell
2021-09-08 15:44 ` [PATCH v2 7/9] linux-user: Split linux-user internals out of qemu.h Peter Maydell
2021-09-12 16:28   ` Richard Henderson
2021-09-08 15:44 ` [PATCH v2 8/9] linux-user: Don't include gdbstub.h in qemu.h Peter Maydell
2021-09-12 16:35   ` Richard Henderson
2021-09-08 15:44 ` [PATCH v2 9/9] linux-user: Drop unneeded includes from qemu.h Peter Maydell
2021-09-12 16:36   ` Richard Henderson
2021-09-13 19:07 ` [PATCH v2 0/9] linux-user: split internals out of qemu.h Laurent Vivier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.