mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-11 04:26:38 +00:00
Switch virtio-wl to the new shared memory APIs. Using the shared memory APIs requires establishing mappings based on shm offset rather than raw pfn. This means virtio-wl needs to manage its shmem address space itself, rather than relying on VmMemoryDestination::NewAllocation. To maintain compatibility with older drivers, a feature bit is used to determine whether drivers expect mappings to be specified by shm offset or by pfn. BUG=b:201745804 TEST=launch crostini gui app TEST=crosvm device wl --wayland-sock $XDG_RUNTIME_DIR/wayland-1 --socket /tmp/vhost.sock TEST=crosvm ... --vhost-user-wl /tmp/vhost.sock ... Change-Id: Ia559de7107130440c8f81a30aab1f6b061d15118 Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3765014 Reviewed-by: Alexandre Courbot <acourbot@chromium.org> Tested-by: David Stevens <stevensd@chromium.org> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Commit-Queue: David Stevens <stevensd@chromium.org> Reviewed-by: Ryan Neph <ryanneph@google.com>
21 lines
840 B
Text
21 lines
840 B
Text
# Copyright 2018 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
@include /usr/share/policy/crosvm/common_device.policy
|
|
|
|
# Used to connect to wayland. arg0 == AF_UNIX && arg1 == SOCK_STREAM|SOCK_CLOEXEC
|
|
socket: arg0 == 1 && arg1 == 0x80001 && arg2 == 0
|
|
# arg1 == FIONBIO || arg1 == DMA_BUF_IOCTL_SYNC || arg1 == SYNC_IOC_FILE_INFO || arg1 & DRM_IOCTL_BASE
|
|
ioctl: arg1 == 0x5421 || arg1 == 0x40086200 || arg1 == 0xc0383e04 || arg1 & 0x6400
|
|
connect: 1
|
|
getrandom: 1
|
|
# Used for sharing memory with wayland. arg1 == MFD_CLOEXEC|MFD_ALLOW_SEALING
|
|
memfd_create: arg1 == 3
|
|
# Used to set of size new memfd
|
|
ftruncate: 1
|
|
# Used to determine shm size after recvmsg with fd
|
|
lseek: 1
|
|
open: return ENOENT
|
|
openat: return ENOENT
|
|
prctl: arg0 == PR_SET_NAME
|