From: imp@bsdimp.com
To: qemu-devel@nongnu.org
Cc: Stacey Son <sson@FreeBSD.org>,
Richard Henderson <richard.henderson@linaro.org>,
Warner Losh <imp@FreeBSD.org>, Michal Meloun <mmel@FreeBSD.org>,
Warner Losh <imp@bsdimp.com>
Subject: [PATCH v2 35/43] bsd-user: Add target_os_user.h to capture the user/kernel structures
Date: Thu, 26 Aug 2021 15:11:53 -0600 [thread overview]
Message-ID: <20210826211201.98877-36-imp@bsdimp.com> (raw)
In-Reply-To: <20210826211201.98877-1-imp@bsdimp.com>
From: Warner Losh <imp@FreeBSD.org>
This file evolved over the years to capture the user/kernel interfaces,
including those that changed over time.
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Michal Meloun <mmel@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/freebsd/target_os_user.h | 429 ++++++++++++++++++++++++++++++
1 file changed, 429 insertions(+)
create mode 100644 bsd-user/freebsd/target_os_user.h
diff --git a/bsd-user/freebsd/target_os_user.h b/bsd-user/freebsd/target_os_user.h
new file mode 100644
index 0000000000..235cd35a5c
--- /dev/null
+++ b/bsd-user/freebsd/target_os_user.h
@@ -0,0 +1,429 @@
+/*
+ * sys/user.h definitions
+ *
+ * Copyright (c) 2015 Stacey D. Son (sson at FreeBSD)
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _TARGET_OS_USER_H_
+#define _TARGET_OS_USER_H_
+
+/*
+ * from sys/priority.h
+ */
+struct target_priority {
+ uint8_t pri_class; /* Scheduling class. */
+ uint8_t pri_level; /* Normal priority level. */
+ uint8_t pri_native; /* Priority before propogation. */
+ uint8_t pri_user; /* User priority based on p_cpu and p_nice. */
+};
+
+/*
+ * sys/caprights.h
+ */
+#define TARGET_CAP_RIGHTS_VERSION 0
+
+typedef struct target_cap_rights {
+ uint64_t cr_rights[TARGET_CAP_RIGHTS_VERSION + 2];
+} target_cap_rights_t;
+
+/*
+ * From sys/_socketaddr_storage.h
+ *
+ */
+#define TARGET_SS_MAXSIZE 128U
+#define TARGET_SS_ALIGNSIZE (sizeof(__int64_t))
+#define TARGET_SS_PAD1SIZE (TARGET_SS_ALIGNSIZE - sizeof(unsigned char) - \
+ sizeof(uint8_t))
+#define TARGET_SS_PAD2SIZE (TARGET_SS_MAXSIZE - sizeof(unsigned char) - \
+ sizeof(uint8_t) - TARGET_SS_PAD1SIZE - TARGET_SS_ALIGNSIZE)
+
+struct target_sockaddr_storage {
+ unsigned char ss_len; /* address length */
+ uint8_t ss_family; /* address family */
+ char __ss_pad1[TARGET_SS_PAD1SIZE];
+ __int64_t __ss_align; /* force desired struct alignment */
+ char __ss_pad2[TARGET_SS_PAD2SIZE];
+};
+
+/*
+ * from sys/user.h
+ */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+#define TARGET_KI_NSPARE_INT 2
+#elif defined(__FreeBSD_version) && __FreeBSD_version >= 1100000
+#define TARGET_KI_NSPARE_INT 4
+#elif defined(__FreeBSD_version) && __FreeBSD_version >= 1000000
+#define TARGET_KI_NSPARE_INT 7
+#else
+#define TARGET_KI_NSPARE_INT 9
+#endif /* ! __FreeBSD_version >= 1000000 */
+#define TARGET_KI_NSPARE_LONG 12
+#define TARGET_KI_NSPARE_PTR 6
+
+#define TARGET_WMESGLEN 8
+#define TARGET_LOCKNAMELEN 8
+#define TARGET_TDNAMLEN 16
+#define TARGET_COMMLEN 19
+#define TARGET_KI_EMULNAMELEN 16
+#define TARGET_KI_NGROUPS 16
+#define TARGET_LOGNAMELEN 17
+#define TARGET_LOGINCLASSLEN 17
+
+#define TARGET_KF_TYPE_NONE 0
+#define TARGET_KF_TYPE_VNODE 1
+#define TARGET_KF_TYPE_SOCKET 2
+#define TARGET_KF_TYPE_PIPE 3
+#define TARGET_KF_TYPE_FIFO 4
+#define TARGET_KF_TYPE_KQUEUE 5
+#define TARGET_KF_TYPE_CRYPTO 6
+#define TARGET_KF_TYPE_MQUEUE 7
+#define TARGET_KF_TYPE_SHM 8
+#define TARGET_KF_TYPE_SEM 9
+#define TARGET_KF_TYPE_PTS 10
+#define TARGET_KF_TYPE_PROCDESC 11
+#define TARGET_KF_TYPE_DEV 12
+#define TARGET_KF_TYPE_UNKNOWN 255
+
+struct target_kinfo_proc {
+ int32_t ki_structsize; /* size of this structure */
+ int32_t ki_layout; /* reserved: layout identifier */
+ abi_ulong ki_args; /* address of command arguments */
+ abi_ulong ki_paddr; /* address of proc */
+ abi_ulong ki_addr; /* kernel virtual addr of u-area */
+ abi_ulong ki_tracep; /* pointer to trace file */
+ abi_ulong ki_textvp; /* pointer to executable file */
+ abi_ulong ki_fd; /* pointer to open file info */
+ abi_ulong ki_vmspace; /* pointer to kernel vmspace struct */
+ abi_ulong ki_wchan; /* sleep address */
+ int32_t ki_pid; /* Process identifier */
+ int32_t ki_ppid; /* parent process id */
+ int32_t ki_pgid; /* process group id */
+ int32_t ki_tpgid; /* tty process group id */
+ int32_t ki_sid; /* Process session ID */
+ int32_t ki_tsid; /* Terminal session ID */
+ int16_t ki_jobc; /* job control counter */
+ int16_t ki_spare_short1; /* unused (just here for alignment) */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ int32_t ki_tdev__freebsd11; /* controlling tty dev */
+#else
+ int32_t ki_tdev; /* controlling tty dev */
+#endif
+ target_sigset_t ki_siglist; /* Signals arrived but not delivered */
+ target_sigset_t ki_sigmask; /* Current signal mask */
+ target_sigset_t ki_sigignore; /* Signals being ignored */
+ target_sigset_t ki_sigcatch; /* Signals being caught by user */
+
+ int32_t ki_uid; /* effective user id */
+ int32_t ki_ruid; /* Real user id */
+ int32_t ki_svuid; /* Saved effective user id */
+ int32_t ki_rgid; /* Real group id */
+ int32_t ki_svgid; /* Saved effective group id */
+ int16_t ki_ngroups; /* number of groups */
+ int16_t ki_spare_short2; /* unused (just here for alignment) */
+ int32_t ki_groups[TARGET_KI_NGROUPS]; /* groups */
+
+ abi_long ki_size; /* virtual size */
+
+ abi_long ki_rssize; /* current resident set size in pages */
+ abi_long ki_swrss; /* resident set size before last swap */
+ abi_long ki_tsize; /* text size (pages) XXX */
+ abi_long ki_dsize; /* data size (pages) XXX */
+ abi_long ki_ssize; /* stack size (pages) */
+
+ uint16_t ki_xstat; /* Exit status for wait & stop signal */
+ uint16_t ki_acflag; /* Accounting flags */
+
+ uint32_t ki_pctcpu; /* %cpu for process during ki_swtime */
+
+ uint32_t ki_estcpu; /* Time averaged value of ki_cpticks */
+ uint32_t ki_slptime; /* Time since last blocked */
+ uint32_t ki_swtime; /* Time swapped in or out */
+ uint32_t ki_cow; /* number of copy-on-write faults */
+ uint64_t ki_runtime; /* Real time in microsec */
+
+ struct target_freebsd_timeval ki_start; /* starting time */
+ struct target_freebsd_timeval ki_childtime; /* time used by process
+ children */
+
+ abi_long ki_flag; /* P_* flags */
+ abi_long ki_kiflag; /* KI_* flags (below) */
+ int32_t ki_traceflag; /* Kernel trace points */
+ char ki_stat; /* S* process status */
+ int8_t ki_nice; /* Process "nice" value */
+ char ki_lock; /* Process lock (prevent swap) count */
+ char ki_rqindex; /* Run queue index */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1100000
+ u_char ki_oncpu_old; /* Which cpu we are on (legacy) */
+ u_char ki_lastcpu_old; /* Last cpu we were on (legacy) */
+#else
+ u_char ki_oncpu; /* Which cpu we are on */
+ u_char ki_lastcpu; /* Last cpu we were on */
+#endif /* ! __FreeBSD_version >= 1100000 */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ char ki_tdname[TARGET_TDNAMLEN+1]; /* thread name */
+#else
+ char ki_ocomm[TARGET_TDNAMLEN+1]; /* thread name */
+#endif /* ! __FreeBSD_version >= 900000 */
+ char ki_wmesg[TARGET_WMESGLEN+1]; /* wchan message */
+ char ki_login[TARGET_LOGNAMELEN+1]; /* setlogin name */
+ char ki_lockname[TARGET_LOCKNAMELEN+1]; /* lock name */
+ char ki_comm[TARGET_COMMLEN+1]; /* command name */
+ char ki_emul[TARGET_KI_EMULNAMELEN+1]; /* emulation name */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ char ki_loginclass[TARGET_LOGINCLASSLEN+1]; /* login class */
+#endif /* ! __FreeBSD_version >= 900000 */
+
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ char ki_sparestrings[50]; /* spare string space */
+#else
+ char ki_sparestrings[68]; /* spare string space */
+#endif /* ! __FreeBSD_version >= 900000 */
+ int32_t ki_spareints[TARGET_KI_NSPARE_INT]; /* spare room for growth */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint64_t ki_tdev; /* controlling tty dev */
+#endif
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1100000
+ int32_t ki_oncpu; /* Which cpu we are on */
+ int32_t ki_lastcpu; /* Last cpu we were on */
+ int32_t ki_tracer; /* Pid of tracing process */
+#endif /* __FreeBSD_version >= 1100000 */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ int32_t ki_flag2; /* P2_* flags */
+ int32_t ki_fibnum; /* Default FIB number */
+#endif /* ! __FreeBSD_version >= 900000 */
+ uint32_t ki_cr_flags; /* Credential flags */
+ int32_t ki_jid; /* Process jail ID */
+ int32_t ki_numthreads; /* XXXKSE number of threads in total */
+
+ int32_t ki_tid; /* XXXKSE thread id */
+
+ struct target_priority ki_pri; /* process priority */
+ struct target_freebsd_rusage ki_rusage; /* process rusage statistics */
+ /* XXX - most fields in ki_rusage_ch are not (yet) filled in */
+ struct target_freebsd_rusage ki_rusage_ch; /* rusage of children
+ processes */
+
+
+ abi_ulong ki_pcb; /* kernel virtual addr of pcb */
+ abi_ulong ki_kstack; /* kernel virtual addr of stack */
+ abi_ulong ki_udata; /* User convenience pointer */
+ abi_ulong ki_tdaddr; /* address of thread */
+
+ abi_ulong ki_spareptrs[TARGET_KI_NSPARE_PTR]; /* spare room for growth */
+ abi_long ki_sparelongs[TARGET_KI_NSPARE_LONG];/* spare room for growth */
+ abi_long ki_sflag; /* PS_* flags */
+ abi_long ki_tdflags; /* XXXKSE kthread flag */
+};
+
+struct target_kinfo_file {
+ int32_t kf_structsize; /* Variable size of record. */
+ int32_t kf_type; /* Descriptor type. */
+ int32_t kf_fd; /* Array index. */
+ int32_t kf_ref_count; /* Reference count. */
+ int32_t kf_flags; /* Flags. */
+ int32_t kf_pad0; /* Round to 64 bit alignment. */
+ int64_t kf_offset; /* Seek location. */
+#if defined(__FreeBSD_version) && __FreeBSD_version < 1200031
+ int32_t kf_vnode_type; /* Vnode type. */
+ int32_t kf_sock_domain; /* Socket domain. */
+ int32_t kf_sock_type; /* Socket type. */
+ int32_t kf_sock_protocol; /* Socket protocol. */
+ struct target_sockaddr_storage kf_sa_local; /* Socket address. */
+ struct target_sockaddr_storage kf_sa_peer; /* Peer address. */
+#endif
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ union {
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kf_spareint;
+ /* Socket domain. */
+ int kf_sock_domain0;
+ /* Socket type. */
+ int kf_sock_type0;
+ /* Socket protocol. */
+ int kf_sock_protocol0;
+ /* Socket address. */
+ struct sockaddr_storage kf_sa_local;
+ /* Peer address. */
+ struct sockaddr_storage kf_sa_peer;
+#endif
+ /* Address of so_pcb. */
+ uint64_t kf_sock_pcb;
+ /* Address of inp_ppcb. */
+ uint64_t kf_sock_inpcb;
+ /* Address of unp_conn. */
+ uint64_t kf_sock_unpconn;
+ /* Send buffer state. */
+ uint16_t kf_sock_snd_sb_state;
+ /* Receive buffer state. */
+ uint16_t kf_sock_rcv_sb_state;
+ /* Round to 64 bit alignment. */
+ uint32_t kf_sock_pad0;
+ } kf_sock;
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ /* Vnode type. */
+ int kf_file_type;
+ /* Space for future use */
+ int kf_spareint[3];
+ uint64_t kf_spareint64[30];
+ /* Vnode filesystem id. */
+ uint64_t kf_file_fsid;
+ /* File device. */
+ uint64_t kf_file_rdev;
+ /* Global file id. */
+ uint64_t kf_file_fileid;
+ /* File size. */
+ uint64_t kf_file_size;
+ /* Vnode filesystem id, FreeBSD 11 compat. */
+ uint32_t kf_file_fsid_freebsd11;
+ /* File device, FreeBSD 11 compat. */
+ uint32_t kf_file_rdev_freebsd11;
+#else
+ /* Global file id. */
+ uint64_t kf_file_fileid;
+ /* File size. */
+ uint64_t kf_file_size;
+ /* Vnode filesystem id. */
+ uint32_t kf_file_fsid;
+ /* File device. */
+ uint32_t kf_file_rdev;
+#endif
+ /* File mode. */
+ uint16_t kf_file_mode;
+ /* Round to 64 bit alignment. */
+ uint16_t kf_file_pad0;
+ uint32_t kf_file_pad1;
+ } kf_file;
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kf_spareint[4];
+ uint64_t kf_spareint64[32];
+#endif
+ uint32_t kf_sem_value;
+ uint16_t kf_sem_mode;
+ } kf_sem;
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kf_spareint[4];
+ uint64_t kf_spareint64[32];
+#endif
+ uint64_t kf_pipe_addr;
+ uint64_t kf_pipe_peer;
+ uint32_t kf_pipe_buffer_cnt;
+ /* Round to 64 bit alignment. */
+ uint32_t kf_pipe_pad0[3];
+ } kf_pipe;
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kf_spareint[4];
+ uint64_t kf_spareint64[32];
+ uint32_t kf_pts_dev_freebsd11;
+ uint32_t kf_pts_pad0;
+ uint64_t kf_pts_dev;
+ /* Round to 64 bit alignment. */
+ uint32_t kf_pts_pad1[4];
+#else
+ uint32_t kf_pts_dev;
+ /* Round to 64 bit alignment. */
+ uint32_t kf_pts_pad0[7];
+#endif
+ } kf_pts;
+ struct {
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kf_spareint[4];
+ uint64_t kf_spareint64[32];
+#endif
+ int32_t kf_pid;
+ } kf_proc;
+ } kf_un;
+ uint16_t kf_status; /* Status flags. */
+ uint16_t kf_pad1; /* Round to 32 bit alignment. */
+ int32_t _kf_ispare0; /* Space for more stuff. */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1000000
+ target_cap_rights_t kf_cap_rights; /* Capability rights. */
+ uint64_t _kf_cap_spare; /* Space for future cap_rights_t. */
+#else /* ! __FreeBSD_version >= 1000000 */
+ uint64_t kf_cap_rights;
+ int _kf_ispare[4];
+#endif /* ! __FreeBSD_version >= 1000000 */
+
+#else /* ! __FreeBSD_version >= 900000 */
+ int _kf_ispare[16];
+#endif /* ! __FreeBSD_version >= 900000 */
+ /* Truncated before copyout in sysctl */
+ char kf_path[PATH_MAX]; /* Path to file, if any. */
+};
+
+struct target_kinfo_vmentry {
+ int32_t kve_structsize; /* Variable size of record. */
+ int32_t kve_type; /* Type of map entry. */
+ uint64_t kve_start; /* Starting address. */
+ uint64_t kve_end; /* Finishing address. */
+ uint64_t kve_offset; /* Mapping offset in object */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ uint64_t kve_vn_fileid; /* inode number if vnode */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kve_vn_fsid_freebsd11; /* dev_t of vnode location */
+#else
+ uint32_t kve_vn_fsid; /* dev_t of vnode location */
+#endif
+#else /* ! __FreeBSD_version >= 900000 */
+ uint64_t kve_fileid; /* inode number if vnode */
+ uint32_t kve_fsid; /* dev_t of vnode location */
+#endif /* ! __FreeBSD_version >= 900000 */
+ int32_t kve_flags; /* Flags on map entry. */
+ int32_t kve_resident; /* Number of resident pages. */
+ int32_t kve_private_resident; /* Number of private pages. */
+ int32_t kve_protection; /* Protection bitmask. */
+ int32_t kve_ref_count; /* VM obj ref count. */
+ int32_t kve_shadow_count; /* VM obj shadow count. */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 900000
+ int32_t kve_vn_type; /* Vnode type. */
+ uint64_t kve_vn_size; /* File size. */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+ uint32_t kve_vn_rdev_freebsd11; /* Device id if device. */
+#else
+ uint32_t kve_vn_rdev; /* Device id if device. */
+#endif
+ uint16_t kve_vn_mode; /* File mode. */
+ uint16_t kve_status; /* Status flags. */
+#if defined(__FreeBSD_version) && __FreeBSD_version >= 1200031
+#if (__FreeBSD_version >= 1300501 && __FreeBSD_version < 1400000) || \
+ __FreeBSD_version >= 1400009
+ union {
+ uint64_t _kve_vn_fsid; /* dev_t of vnode location */
+ uint64_t _kve_obj; /* handle of anon obj */
+ } kve_type_spec;
+#define kve_vn_fsid kve_type_spec._kve_vn_fsid
+#define kve_obj kve_type_spec._kve_obj
+#else
+ uint64_t kve_vn_fsid; /* dev_t of vnode location */
+#endif
+ uint64_t kve_vn_rdev; /* Device id if device. */
+ int _kve_ispare[8]; /* Space for more stuff. */
+#else
+ int32_t _kve_ispare[12]; /* Space for more stuff. */
+#endif
+#else /* ! __FreeBSD_version >= 900000 */
+ int _kve_pad0;
+ int32_t _kve_ispare[16]; /* Space for more stuff. */
+#endif /* ! __FreeBSD_version >= 900000 */
+ /* Truncated before copyout in sysctl */
+ char kve_path[PATH_MAX]; /* Path to VM obj, if any. */
+};
+
+#endif /* ! _TARGET_OS_USER_H_ */
--
2.32.0
next prev parent reply other threads:[~2021-08-26 21:22 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-26 21:11 [PATCH v2 00/43] bsd-user updates to run hello world imp
2021-08-26 21:11 ` [PATCH v2 01/43] bsd-user: remove sparc and sparc64 imp
2021-08-26 21:11 ` [PATCH v2 02/43] bsd-user: add copyright header to elfload.c imp
2021-08-26 21:11 ` [PATCH v2 03/43] bsd-user: Add Stacey's copyright to main.c imp
2021-08-26 21:11 ` [PATCH v2 04/43] bsd-user: add license to bsdload.c imp
2021-08-26 21:11 ` [PATCH v2 05/43] bsd-user: style nits: bsdload.c whitespace to qemu standard imp
2021-08-26 21:11 ` [PATCH v2 06/43] bsd-user: Remove all non-x86 code from elfload.c imp
2021-08-26 21:11 ` [PATCH v2 07/43] bsd-user: move arch specific defines out of elfload.c imp
2021-08-27 4:19 ` Philippe Mathieu-Daudé
2021-08-27 15:50 ` Warner Losh
2021-08-26 21:11 ` [PATCH v2 08/43] bsd-user: pass the bsd_param into loader_exec imp
2021-08-27 4:22 ` Philippe Mathieu-Daudé
2021-08-27 15:49 ` Warner Losh
2021-08-26 21:11 ` [PATCH v2 09/43] bsd-user: Fix calculation of size to allocate imp
2021-08-26 21:11 ` [PATCH v2 10/43] bsd-user: implement path searching imp
2021-08-26 21:11 ` [PATCH v2 11/43] bsd-user: Eliminate elf personality imp
2021-08-26 21:11 ` [PATCH v2 12/43] bsd-user: remove a.out support imp
2021-08-27 4:27 ` Philippe Mathieu-Daudé
2021-08-26 21:11 ` [PATCH v2 13/43] bsd-user: TARGET_NGROUPS unused in this file, remove imp
2021-08-26 21:11 ` [PATCH v2 14/43] bsd-user: elfload: simplify bswap a bit imp
2021-08-26 21:11 ` [PATCH v2 15/43] bsd-user: assume pthreads and support of __thread imp
2021-08-27 4:35 ` Philippe Mathieu-Daudé
2021-08-26 21:11 ` [PATCH v2 16/43] bsd-user: add host-os.h imp
2021-08-26 21:11 ` [PATCH v2 17/43] bsd-user: Include host-os.h from main imp
2021-08-26 21:11 ` [PATCH v2 18/43] bsd-user: save the path to the qemu emulator imp
2021-08-26 21:11 ` [PATCH v2 19/43] bsd-user: start to move target CPU functions to target_arch* imp
2021-08-27 4:39 ` Philippe Mathieu-Daudé
2021-08-27 15:41 ` Warner Losh
2021-08-26 21:11 ` [PATCH v2 20/43] bsd-user: Move per-cpu code into target_arch_cpu.h imp
2021-08-26 21:11 ` [PATCH v2 21/43] bsd-user: pull in target_arch_thread.h update target_arch_elf.h imp
2021-08-26 21:11 ` [PATCH v2 22/43] bsd-user: Include more things in qemu.h imp
2021-08-26 21:11 ` [PATCH v2 23/43] bsd-user: define max args in terms of pages imp
2021-08-26 21:11 ` [PATCH v2 24/43] bsd-user: Create target specific vmparam.h imp
2021-08-26 21:11 ` [PATCH v2 25/43] bsd-user: Add architecture specific signal tramp code imp
2021-08-26 21:11 ` [PATCH v2 26/43] bsd-user: *BSD specific siginfo defintions imp
2021-08-26 21:11 ` [PATCH v2 27/43] bsd-user: Move stack initializtion into a per-os file imp
2021-08-26 21:11 ` [PATCH v2 28/43] bsd-user: Add system independent stack, data and text limiting imp
2021-08-26 21:11 ` [PATCH v2 29/43] bsd-user: elf cleanup imp
2021-08-26 21:11 ` [PATCH v2 30/43] bsd-user: Remove dead #ifdefs from elfload.c imp
2021-08-27 4:42 ` Philippe Mathieu-Daudé
2021-08-27 15:02 ` Warner Losh
2021-08-27 15:58 ` Philippe Mathieu-Daudé
2021-08-27 16:28 ` Warner Losh
2021-08-26 21:11 ` [PATCH v2 31/43] bsd-user: Rewrite target system call definintion glue imp
2021-08-26 21:11 ` [PATCH v2 32/43] bsd-user: Make cpu_model and cpu_type visible to all of main.c imp
2021-08-26 21:11 ` [PATCH v2 33/43] bsd-user: update debugging in mmap.c imp
2021-08-26 21:11 ` [PATCH v2 34/43] bsd-user: Add target_arch_reg to describe a target's register set imp
2021-08-26 21:11 ` imp [this message]
2021-08-26 21:11 ` [PATCH v2 36/43] bsd-user: add stubbed out core dump support imp
2021-08-26 21:11 ` [PATCH v2 37/43] bsd-user: elfload.c style catch up patch imp
2021-08-26 21:11 ` [PATCH v2 38/43] bsd-user: Refactor load_elf_sections and is_target_elf_binary imp
2021-08-27 21:23 ` Warner Losh
2021-08-26 21:11 ` [PATCH v2 39/43] bsd-user: move qemu_log to later in the file imp
2021-08-26 21:11 ` [PATCH v2 40/43] bsd-user: Implement interlock for atomic operations imp
2021-08-26 21:11 ` [PATCH v2 41/43] bsd-user: Implement cpu_copy() helper routine imp
2021-08-27 4:47 ` Philippe Mathieu-Daudé
2021-08-27 14:56 ` Warner Losh
2021-08-27 16:00 ` Philippe Mathieu-Daudé
2021-08-27 16:30 ` Warner Losh
2021-08-26 21:12 ` [PATCH v2 42/43] bsd-user: Add '-0 argv0' option to bsd-user/main.c imp
2021-08-27 4:48 ` Philippe Mathieu-Daudé
2021-08-27 14:52 ` Warner Losh
2021-08-26 21:12 ` [PATCH v2 43/43] bsd-user: Update mapping to handle reserved and starting conditions imp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210826211201.98877-36-imp@bsdimp.com \
--to=imp@bsdimp.com \
--cc=imp@FreeBSD.org \
--cc=mmel@FreeBSD.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=sson@FreeBSD.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.