This is a followup to https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg01506.html, adding 9p server support for Darwin.
Since v5, the following changes have been made to the following patches: Patch 6/11: 9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX - For P9_XATTR_SIZE_MAX, ensure that Linux uses XATTR_SIZE_MAX, Darwin uses 64k, and error out for undefined hosts Patch 9/11: 9p: darwin: Implement compatibility for mknodat - Move pthread_fchdir_np declaration only to osdep - Declare pthread_fchdir_np with __attribute__((weak)) to allow checking for its presence before usage - Move declarations above cplusplus guard Patch 10/11: 9p: darwin: Adjust assumption on virtio-9p-test (formerly v5 Patch 11/11) - Move this patch before 9p: darwin: meson patch to avoid qtest breakage during bisecting Patch 11/11: 9p: darwin: meson: Allow VirtFS on Darwin (formerly v5 Patch 10/11) - Fully adjust meson virtfs error note to specify macOS Keno Fischer (10): 9p: linux: Fix a couple Linux assumptions 9p: Rename 9p-util -> 9p-util-linux 9p: darwin: Handle struct stat(fs) differences 9p: darwin: Handle struct dirent differences 9p: darwin: Ignore O_{NOATIME, DIRECT} 9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX 9p: darwin: *xattr_nofollow implementations 9p: darwin: Compatibility for f/l*xattr 9p: darwin: Implement compatibility for mknodat 9p: darwin: meson: Allow VirtFS on Darwin Will Cohen (1): 9p: darwin: Adjust assumption on virtio-9p-test fsdev/file-op-9p.h | 9 +++- fsdev/meson.build | 1 + hw/9pfs/9p-local.c | 27 ++++++++--- hw/9pfs/9p-proxy.c | 38 +++++++++++++-- hw/9pfs/9p-synth.c | 6 +++ hw/9pfs/9p-util-darwin.c | 64 ++++++++++++++++++++++++++ hw/9pfs/{9p-util.c => 9p-util-linux.c} | 2 +- hw/9pfs/9p-util.h | 35 ++++++++++++++ hw/9pfs/9p.c | 42 ++++++++++++++--- hw/9pfs/9p.h | 18 ++++++++ hw/9pfs/codir.c | 4 +- hw/9pfs/meson.build | 3 +- include/qemu/osdep.h | 12 +++++ include/qemu/xattr.h | 4 +- meson.build | 14 ++++-- os-posix.c | 35 ++++++++++++++ tests/qtest/virtio-9p-test.c | 2 +- 17 files changed, 291 insertions(+), 25 deletions(-) create mode 100644 hw/9pfs/9p-util-darwin.c rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (97%) -- 2.34.1