diff options
author | Andrew Geissler <geissonator@yahoo.com> | 2021-09-25 00:47:35 +0300 |
---|---|---|
committer | Andrew Geissler <geissonator@yahoo.com> | 2021-10-05 22:27:21 +0300 |
commit | 5199d831602da71945df7cef62eb3c01183cf20e (patch) | |
tree | 0e4c75d4ac0f346489cb92fa4ccccf0a0aa56fe1 /meta-openembedded/meta-oe/recipes-support/vboxguestdrivers | |
parent | e9e982486160a1d724bf30f21167d72dfbcb84ce (diff) | |
download | openbmc-5199d831602da71945df7cef62eb3c01183cf20e.tar.xz |
subtree updates
meta-security: 1f18c623e9..de6712a806:
Armin Kuster (8):
cryfs: drop recipe
trousers: set precise BSD license
ibmtpm2tss: set precise BSD license
ibmswtpm2: set precise BSD license
opendnssec: set precise BSD license
checksec: set precise BSD license
isic: set precise BSD license
tpm-quote-tools: Update SRC_URI
Christer Fletcher (1):
dm-verity-img.bbclass: Expose --data-block-size for configuration
Kai Kang (1):
sssd: 2.5.1 -> 2.5.2
meta-raspberrypi: a6fa6b3aec..9eb4879cf4:
Andrew Penner (1):
rpi-cmdline: Support ethernet over USB
Khem Raj (2):
linux-raspberrypi: Update to 5.10.63
raspberrypi-firmware: Update to latest
meta-openembedded: e4a3c66505..cff8331f96:
Armin Kuster (21):
python3-cycler: set precise BSD license
python3-dill: set precise BSD license
python3-ipython-genutils: set precise BSD license
python3-traitlets: set precise BSD license
python3-parallax: set precise BSD license
python3-ipython:set precise BSD license
python3-mpmath: set precise BSD license
python3-sympy: set precise BSD license
python3-sqlparse: set precise BSD license
python3-webencodings: set precise BSD license
python3-pyperclip:set precise BSD license
python3-geojson: set precise BSD license
python3-aenum: set precise BSD license
python3-gnupg: set precise BSD license
python3-kiwisolver: set precise BSD license
python3-jdcal: set precise BSD license
python3-send2trash: set precise BSD license
python3-flask-bootstrap: Update LICENSES
autossh: set precise BSD licenses
jemalloc: set precise BSD license
gpsd-machine-conf: set precise BSD license
Bruce Ashfield (1):
vboxguestdrivers: fix build against 5.14+
Ed Tanous (1):
Boost-url Move to latest version
Khem Raj (57):
gdm: Add polkit to required distro features
python3-lxml: Inherit pkgconfig
python3-icu: Inherit pkgconfig
python3-h5py: Inherit pkgconfig
python3-pyparted: Inherit pkgconfig
python3-systemd: Inherit pkgconfig
rp-pppoe: Add configure cached variable via recipe
site: Remove local site files
postfix: Inherit pkgconfig
emacs: Inherit pkgconfig
libgnt: Inherit pkgconfig
libgnt: Inherit pkgconfig
portaudio-v19: Inherit pkgconfig
sshfs-fuse: Inherit pkgconfig
appstream-glib: Inherit pkgconfig
volume-key: Inherit pkgconfig
kronosnet: Inherit pkgconfig
rrdtool: Inherit pkgconfig
libbytesize: Inherit pkgconfig
dlt-daemon: Inherit pkgconfig
libmypaint: Inherit pkgconfig
libubox: Inherit pkgconfig
xfsprogs: Inherit pkgconfig
pavucontrol: Inherit pkgconfig
blueman: Inherit pkgconfig
mimic: Inherit pkgconfig
libchamplain: Inherit pkgconfig
gst-shark: Inherit pkgconfig
zchunk: Inherit pkgconfig
libvdpau: Inherit pkgconfig
tigervnc: Inherit pkgconfig
mpc: Inherit pkgconfig
avro-c: Inherit pkgconfig
udevil: Inherit pkgconfig
remmina: Inherit pkgconfig
transmission: Inherit pkgconfig
libuvc: Inherit pkgconfig
crda: Inherit pkgconfig
wxwidgets: Inherit pkgconfig
mdbus2: Inherit pkgconfig
firewalld: Inherit pkgconfig
renderdoc: Inherit pkgconfig
fetchmail: Inherit pkgconfig
ncmpc: Inherit pkgconfig
yad: Inherit pkgconfig
mscgen: Inherit pkgconfig
libldb: Inherit pkgconfig
pahole: Inherit missing pkgconfig
gerbera: Inherit pkgconfig
xfce4-datetime-setter: Inherit pkgconfig
libblockdev: Inherit pkgconfig
ntopng: Inherit pkgconfig
mosquitto: Inherit pkgconfig
samba: Inherit pkgconfig
fio: Upgrade to 3.28
rdma-core: Inherit pkgconfig
postfix: Add missing dependency on m4
Marek Vasut (1):
dstat: Add missing python-six runtime dependency
Matteo Croce (1):
pahole: call python via env in the shebang
Pascal Bach (1):
poco: update to 1.11.0
Peter Kjellerstedt (1):
libiio: Make libiio-python3 depend on python3-core
Pierre-Jean Texier (1):
cppzmq: upgrade 4.8.0 -> 4.8.1
Sakib Sajal (3):
bats: source files from correct directory
gd: upgrade 2.3.2 -> 2.3.3
lmdb: replace tag with commit id in SRCREV
Trevor Woerner (2):
vk-gl-cts: allow the user to specify the target
vk-gl-cts: fix soname linking
Yi Zhao (2):
samba: upgrade 4.14.5 -> 4.14.7
net-snmp: remove perllocal.pod when enable packageconfig[perl]
jan (1):
netdata: Fixed the recipe.
wangmy (3):
byacc: upgrade 20200910 -> 20210808
nghttp2: upgrade 1.44.0 -> 1.45.1
apache2: upgrade 2.4.48 -> 2.4.49
zangrc (5):
python3-beautifulsoup4: upgrade 4.9.3 -> 4.10.0
python3-bitarray: upgrade 2.3.3 -> 2.3.4
python3-decorator: upgrade 5.0.9 -> 5.1.0
python3-grpcio-tools: upgrade 1.39.0 -> 1.40.0
python3-grpcio: upgrade 1.39.0 -> 1.40.0
zhengruoqin (5):
python3-openpyxl: upgrade 3.0.7 -> 3.0.8
python3-pandas: upgrade 1.3.2 -> 1.3.3
python3-pulsectl: upgrade 21.5.18 -> 21.9.1
protobuf: upgrade 3.17.3 -> 3.18.0
span-lite: upgrade 0.10.0 -> 0.10.1
poky: 359e1cb62f..06dcace68b:
Alexander Kanavin (13):
lttng: update 2.12 -> 2.13.0
core-image-ptest-all: bump RAM requirement to 4G
bitbake: bitbake: drop old rules for python warnings
bitbake: bitbake: correct the collections vs collections.abc deprecation
bitbake: bitbake: fix regexp deprecation warnings
bitbake: bitbake: do not import imp in layerindexlib
bitbake: bitbake: adjust parser error check for python 3.10 compatibility
bitbake: bitbake: correct deprecation warning in process.py
bitbake: bitbake: enable python warnings at the first opportunity
meta: correct collections vs collections.abc deprecation
wic: keep rootfs_size as integer
cpan-base.bbclass: use raw string for regexp
testimage: symlink the task log and qemu console log to tmp/log/oeqa
Armin Kuster (2):
apr: Security fix for CVE-2021-35940
tar: ignore node-tar CVEs
Bruce Ashfield (11):
linux-yocto/5.13: update to v5.13.13
linux-yocto/5.13: update to v5.13.15
linux-yocto/5.10: update to v5.10.61
linux-yocto/5.10: update to v5.10.63
yocto-bsp/5.10: update to v5.10.63
yocto-bsp/5.13: update to v5.13.15
libc-headers: bump to v5.14
linux-yocto: introduce 5.14 reference kernel
systemtap: update to 4.5-latest
conf/machine: bump qemu preferred versions to 5.14
poky: set default kernel to 5.14
Changqing Li (1):
lttng-ust: fix do_compile error when PACKAGECONFIG examples is enabled
Chanho Park (1):
binutils: inherit pkgconfig to address libdebuginfod depdency
Claudius Heine (1):
rng-tools: add systemd-udev-settle wants to service
Daniel Ammann (1):
bitbake: fetch2/wget: Enable ftps
Daniel Wagenknecht (2):
mirrors.bbclass: provide additional rule for git repo fallbacks
mirrors.bbclass: remove redundant server-specific mirrors
Denys Dmytriyenko (1):
readline: correct pkg-config dependency for termcap
Hsia-Jun(Randy) Li (1):
cross-canadian: make android pass target sys check
Jon Mason (6):
Update mailing list address
README: update mailing list address
dev-manual: update mailing list address
core-image-sato: Fix runqemu error for qemuarmv5
machine/qemuarm*: use virtio graphics
testimage: remove aarch64 xorg exclusion
Joshua Watt (17):
Add SPDX licenses
classes/package: Add extended packaged data
classes/create-spdx: Add class
classes/create-spdx: Change creator
classes/create-spdx: Add SHA1 to index file
classes/create-spdx: Add index to DEPLOYDIR
classes/create-spdx: Add runtime dependency mapping
classes/create-spdx: Add NOASSERTION for unknown debug sources
classes/create-spdx: Fix another creator
classes/create-spdx: Fix up license reporting
classes/create-spdx: Speed up hash calculations
classes/create-spdx: Fix file:// in downloadLocation
classes/create-spdx: Add special exception for Public Domain license
classes/create-spdx: Collect all task dependencies
classes/create-spdx: Skip package processing for native recipes
classes/create-spdx: Comment out placeholder license warning
bitbake: cooker: Allow upstream for local hash equivalence server
Kai Kang (2):
perl: fix CVE-2021-36770
rust-common.bbclass: make sure ccache exist
Kevin Hao (1):
meta-yocto-bsp: Update the default kernel to v5.14
Khem Raj (3):
vim: Add packageconfig for sound notification support
site: Drop caching libIDL_cv_long_long_format
site: Drop ORBit2 relared cached variables
Konrad Weihmann (1):
expat: pull from github releases
Kristian Klausen (3):
systemd: Add homed PACKAGECONFIG
wic: Add extra-space argument
systemd: Add tpm2 PACKAGECONFIG
Mark Hatle (3):
reproducible_build: Remove BUILD_REPRODUCIBLE_BINARIES checking
externalsrc: Work with reproducible_build
tcf-agent: Move to the latest master version
Markus Volk (1):
util-linux: disable raw
Martin Jansa (3):
default-distrovars.inc: Set BBINCLUDELOGS to empty to disable printing failed task output multiple times
bitbake: bitbake.conf: fix vars_from_file() call
qemu-native: add direct dependency on ninja-native and meson-native
Michael Halstead (1):
releases: update to include 3.3.3
Michael Opdenacker (9):
dev-manual: explicit that devpyshell is a task
bitbake: bitbake-user-manual: replace "file name" by "filename"
manuals: replace Freenode by Libera Chat as IRC host
manuals: delete unmaintained history sections
ref-manual: document UPSTREAM_CHECK_COMMITS and UPSTREAM_VERSION_UNKNOWN
ref-manual: remove checkpkg task
ref-manual: improve "devtool check-upgrade-status" details
ref-manual: improve documentation for RECIPE_NO_UPDATE_REASON
ref-manual: update "devtool check-upgrade-status" output
Mingli Yu (6):
coreutils: add pkgconfig for selinux
findutils: add pkgconfig for selinux
tar: add pkgconfig for selinux
multilib.bbclass: add RDEPENDS related check back
insane.bbclass: add FILERDEPENDS related check back
python3: fix multilib qa issue
Peter Bergin (1):
systemd: add packageconfig for wheel-group
Peter Kjellerstedt (2):
common-licenses, licenses.conf: Remove duplicate licenses
create-spdx.bbclass: Search all license directories for licenses
Quentin Schulz (3):
bitbake: doc: bitbake-user-manual-execution: remove mention to long-gone BBHASHDEPS variable
conf/mips: mips16e: prepend override to MACHINEOVERRIDES
bitbake: doc: bitbake-user-manual-fetching: S should be set to WORKDIR/git for git fetcher
Randy MacLeod (1):
tcmode-default: add rust to the default toolchains
Ranjitsinh Rathod (1):
rpm: Handle proper return value to avoid major issues
Richard Purdie (67):
oeqa/runtime/parselogs: Make DVD ata error apply to all qemux86 machines
tcl: Exclude CVE-2021-35331 from checks
xdg-utils: Add fix for CVE-2020-27748
build-appliance-image: Update to master head revision
utils: Drop unused variable staging_install from oe_libinstall
utils: Drop obsolete oe_machinstall function
flex: Add CVE-2019-6293 to exclusions for checks
go: Exclude CVE-2021-29923 from report list
bitbake: runqueue: Avoid deadlock avoidance task graph corruption
bitbake: runqueue: Fix issues with multiconfig deferred task deadlock messages
oeqa/oescripts: Fix after tar recipe changes
pseudo: Update with fcntl and glibc 2.34 fixes
bitbake: persist_data: Drop deprecated/unused function
bitbake: parse_py: Drop deprecated function reference
bitbake: build: Match markup to real function name
bitbake: build: Handle SystemExit in python tasks correctly
bitbake: process: Don't include logs in error message if piping them
bitbake: build: Avoid duplicating logs in verbose mode
bitbake: data_smart: Make ExpansionErrors more readable
bitbake: build: Catch and error upon circular task references
bitbake: data_smart: Improve error display for handled exceptions
bitbake: fetch2: Add recursion guard
bitbake: cookerdata: Improve missing core layer error message
bitbake: cookerdata: Show error for no BBLAYERS in bblayers.conf
bitbake: runqueue: Clean up task stats handling
Revert "default-distrovars.inc: Set BBINCLUDELOGS to empty to disable printing failed task output multiple times"
bitbake.conf: Ensure XZ_THREADS doesn't change sstate checksums
sstate: Avoid problems with recipes using SRCPV when fetching sstate
local.conf.sample: Update sstate mirror entry with new hash equivalence setting
useradd: Ensure preinst data is expanded correctly in pkgdata
package: Fix pkgdata determinism issues
sstate: Ensure SDE is accounted for in package task timestamps
bash: Ensure deterministic build
sstatesig: Allow exclusion of the root directory for do_package
bitbake: bitbake-worker: Improve error handling
bitbake: runqueue/knotty: Improve UI handling of setscene task counting
bitbake: fetch2/git: Avoid races over mirror tarball creation
README: Update email address for Bruce
bitbake: cookerdata: Show a readable error for invalid multiconfig name
bitbake: fetch2/git: Use os.rename instead of mv
bitbake: tests/fetch2: Fix quoting warning
bitbake: data_smart: Don't add None to ExpansionError varlist
bitbake: fetch2/svn: Allow peg-revision functionality to be disabled
vim: Backport fix for CVE-2021-3770
libgcrypt: Upgrade 1.9.3 -> 1.9.4
sqlite3: Exclude CVE-2021-36690 from cve checks
recipes: Add missing pkgconfig inherit
lttng-tools: Add missing DEPENDS on bison-native
cross: Drop unused do_install
pybootchart: Avoid divide by zero
bitbake: tests/fetch2: Use our own git server for dtc test repo
scripts/oe-publish-sdk: Disable git gc to avoid build errors
image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task
siteinfo/autotools: Ensure task checksums reflect site files
package_ipk/deb/rpm: Drop recursive do_build task dependencies
reproducible_build/package_XXX: Ensure SDE task is in dependency chain
populate_sdk_base/images: Drop use of 'meta' class and hence do_build dependencies
buildtools-tarball/uninative-tarball/meta-ide-support: Drop useless meta class
meta: Drop useless class
staging: Mark deploy an sstate task
sstate: Ensure deploy tasks don't pull in toolchains
sstate: Avoid deploy_source_date_epoch sstate when unneeded
ssate: Cleanup directtasks handling
bitbake: build: Ensure python stdout/stderr is logged correctly
bitbake: build: Make exception printing clearer
bitbake: build: Fix log flushing race
oeqa/selftest: Add tests for bitbake shell/python task output
Robert P. J. Day (16):
dev-manual: pass False to d.getVar() for devpyshell example
ref-manual: add missing "${PN}-src" to default PACKAGES list
dev-manual: small number of minor aesthetic tweaks
dev-manual: various pedantic nitpickery
dev-manual: drop "three" since there are four requirements
ref-manual: update SYSROOT_DIRS_* variable entries
README: update manual list and names, online docs URL
image_types_wic.bbclass: alphabetize list of WICVARS
systemd: '${systemd_unitdir}/system' => '${systemd_system_unitdir}'
ref-manual: render options in monospace to show quotes properly
ref-manual: remove mention of obsolete devtool "--any-recipe" option
ref-manual: correct typo in "classes" section, "${BPN}/{PV}"
ref-manual: add potential of parallelism to defn of "Task"
ref-manual: couple minor tweaks to Chapter 1
dev-manual: emphasize that new layers live outside of poky
dev-manual: update output of "wic list images"
Robert Yang (1):
assimp: Remove it
Ross Burton (40):
lz4: remove redundant BSD license
python3-numpy: remove redundant BSD license
quota: remove BSD license
nfs-utils: set precise BSD license
dtc: set precise BSD license
acpica: set precise BSD license
libevent: set precise BSD license
openssh: remove redundant BSD license
python3-packaging: fix license statement
iputils: set precise BSD license
libx11-compose-data: set precise BSD license
webkitgtk: set precise BSD license
libwpe: set precise BSD license
wpebackend-fdo: set precise BSD license
common-licenses: add missing SPDX licences
dev-manual/common-tasks: sync libxpm fragment with the recipe
lsof: correct LICENSE
selftest/python-async-test: set precise BSD license
lsof: add upstream check
xinetd: correct LICENSE
oeqa/recipeutils: update for license change to python-async-test
libxfont: set precise BSD license
valgrind: set precise BSD license
shadow-sysroot: sync license with shadow
ovmf: set precise BSD license
ppp: set precise BSD license
ffmpeg: update LICENSE
hdparm: set correct license
recipetool/create_buildsys_python: treat BSD as BSD-3-Clause
oeqa/selftest/recipetool: update for license changes
create-spdx: transform license list into a dict for faster lookups
create-spdx: remove redundant test
create-spdx: embed unknown license texts
create-spdx: don't duplicate license texts in each package
create-spdx: handle CLOSED license
ffmpeg: fix LICENSE
avahi: remove obsolete intltool-native dependency
shared-mime-info: use a more concise description
libsoup-2.4: remove obsolete intltool dependency
oeqa/target/ssh: don't assume target_dumper is set
Sakib Sajal (1):
go: upgrade 1.16.5 -> 1.16.7
Saul Wold (2):
classes/create-spdx: extend DocumentRef to include name
create-spdx: remove trailing comma
Scott Weaver (3):
bitbake: bitbake: fetch2: fix premirror URI when downloadfilename defined
bitbake: bitbake: tests/fetch: add downloadfilename tests
bitbake: bitbake: tests/fetch: add and fix npm tests
Steve Sakoman (1):
connman: add CVE_PRODUCT
Tom Rini (1):
common-tasks: Add an example of using bbappends to add a file
Trevor Woerner (1):
hello-mod/hello.c: convert to module_init/module_exit
Valentin Danaila (1):
bitbake: fetch2/s3: allow to switch profile from environment variable
Vyacheslav Yurkov (1):
ref-manual: add overlayfs class
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I194b13991cbaac7ae9e20cc2b552b508ab879905
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/vboxguestdrivers')
3 files changed, 563 insertions, 1 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch new file mode 100644 index 000000000..951bd5013 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r89690-5.14-fixes.patch @@ -0,0 +1,442 @@ +Subject: Fix build errors with linux 5.14 + +Upstream-Status: backport + +svn-id: r89690 + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> + +Index: a/src/VBox/Additions/linux/drm/vbox_drv.h +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_drv.h (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_drv.h (revision 90498) +@@ -227,6 +227,15 @@ + sizeof(HGSMIHOSTFLAGS)) + #define HOST_FLAGS_OFFSET GUEST_HEAP_USABLE_SIZE + ++/** Field @pdev of struct drm_device was removed in 5.14. This macro ++ * transparently handles this change. Input argument is a pointer ++ * to struct drm_device. */ ++#if RTLNX_VER_MIN(5,14,0) ++# define VBOX_DRM_TO_PCI_DEV(_dev) to_pci_dev(_dev->dev) ++#else ++# define VBOX_DRM_TO_PCI_DEV(_dev) _dev->pdev ++#endif ++ + /** How frequently we refresh if the guest is not providing dirty rectangles. */ + #define VBOX_REFRESH_PERIOD (HZ / 2) + +Index: a/src/VBox/Additions/linux/drm/vbox_main.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_main.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_main.c (revision 90498) +@@ -290,7 +290,7 @@ + /* Take a command buffer for each screen from the end of usable VRAM. */ + vbox->available_vram_size -= vbox->num_crtcs * VBVA_MIN_BUFFER_SIZE; + +- vbox->vbva_buffers = pci_iomap_range(vbox->dev->pdev, 0, ++ vbox->vbva_buffers = pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0, + vbox->available_vram_size, + vbox->num_crtcs * + VBVA_MIN_BUFFER_SIZE); +@@ -311,7 +311,7 @@ + return 0; + + err_pci_iounmap: +- pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers); ++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers); + return ret; + } + +@@ -318,7 +318,7 @@ + static void vbox_accel_fini(struct vbox_private *vbox) + { + vbox_disable_accel(vbox); +- pci_iounmap(vbox->dev->pdev, vbox->vbva_buffers); ++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->vbva_buffers); + } + + /** Do we support the 4.3 plus mode hint reporting interface? */ +@@ -393,7 +393,7 @@ + + /* Map guest-heap at end of vram */ + vbox->guest_heap = +- pci_iomap_range(vbox->dev->pdev, 0, GUEST_HEAP_OFFSET(vbox), ++ pci_iomap_range(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0, GUEST_HEAP_OFFSET(vbox), + GUEST_HEAP_SIZE); + if (!vbox->guest_heap) + return -ENOMEM; +@@ -442,7 +442,7 @@ + err_destroy_guest_pool: + gen_pool_destroy(vbox->guest_pool); + err_unmap_guest_heap: +- pci_iounmap(vbox->dev->pdev, vbox->guest_heap); ++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap); + return ret; + } + +@@ -452,7 +452,7 @@ + cancel_delayed_work(&vbox->refresh_work); + vbox_accel_fini(vbox); + gen_pool_destroy(vbox->guest_pool); +- pci_iounmap(vbox->dev->pdev, vbox->guest_heap); ++ pci_iounmap(VBOX_DRM_TO_PCI_DEV(vbox->dev), vbox->guest_heap); + } + + #if RTLNX_VER_MIN(4,19,0) || RTLNX_RHEL_MIN(8,3) +@@ -567,12 +567,16 @@ + + size = roundup(size, PAGE_SIZE); + if (size == 0) ++ { ++ DRM_ERROR("bad size\n"); + return -EINVAL; ++ } + + ret = vbox_bo_create(dev, size, 0, 0, &vboxbo); + if (ret) { + if (ret != -ERESTARTSYS) + DRM_ERROR("failed to allocate GEM object\n"); ++ DRM_ERROR("failed to allocate GEM (%d)\n", ret); + return ret; + } + +@@ -628,6 +632,21 @@ + { + struct vbox_bo *vbox_bo = gem_to_vbox_bo(obj); + ++#if RTLNX_VER_MIN(5,14,0) ++ /* Starting from kernel 5.14, there is a warning appears in dmesg ++ * on attempt to desroy pinned buffer object. Make sure it is unpinned. */ ++ while (vbox_bo->bo.pin_count) ++ { ++ int ret; ++ ret = vbox_bo_unpin(vbox_bo); ++ if (ret) ++ { ++ DRM_ERROR("unable to unpin buffer object\n"); ++ break; ++ } ++ } ++#endif ++ + ttm_bo_put(&vbox_bo->bo); + } + +@@ -648,7 +667,7 @@ + u32 handle, u64 *offset) + { + struct drm_gem_object *obj; +- int ret; ++ int ret = 0; + struct vbox_bo *bo; + + mutex_lock(&dev->struct_mutex); +@@ -665,8 +684,15 @@ + bo = gem_to_vbox_bo(obj); + *offset = vbox_bo_mmap_offset(bo); + ++#if RTLNX_VER_MIN(5,14,0) ++ ret = drm_vma_node_allow(&bo->bo.base.vma_node, file); ++ if (ret) ++ { ++ DRM_ERROR("unable to grant previladges to user"); ++ } ++#endif ++ + drm_gem_object_put(obj); +- ret = 0; + + out_unlock: + mutex_unlock(&dev->struct_mutex); +Index: a/src/VBox/Additions/linux/drm/vbox_mode.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_mode.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_mode.c (revision 90498) +@@ -245,6 +245,10 @@ + vbox_bo_unpin(bo); + vbox_bo_unreserve(bo); + } ++ else ++ { ++ DRM_ERROR("unable to lock buffer object: error %d\n", ret); ++ } + } + + if (&vbox->fbdev->afb == vbox_fb) +@@ -856,7 +860,9 @@ + vbox->cursor_data_size = data_size; + dst = vbox->cursor_data; + +-#if RTLNX_VER_MIN(5,12,0) ++#if RTLNX_VER_MIN(5,14,0) ++ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &uobj_map); ++#elif RTLNX_VER_MIN(5,12,0) + ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &uobj_map); + #else + ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &uobj_map); +Index: a/src/VBox/Additions/linux/drm/vbox_ttm.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 90498) +@@ -41,6 +41,10 @@ + # include <drm/ttm/ttm_page_alloc.h> + #endif + ++#if RTLNX_VER_MIN(5,14,0) ++# include <drm/ttm/ttm_range_manager.h> ++#endif ++ + #if RTLNX_VER_MAX(3,18,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) + #define PLACEMENT_FLAGS(placement) (placement) + #else +@@ -174,11 +178,13 @@ + *pl = vboxbo->placement; + } + ++#if RTLNX_VER_MAX(5,14,0) + static int vbox_bo_verify_access(struct ttm_buffer_object *bo, + struct file *filp) + { + return 0; + } ++#endif + + #if RTLNX_VER_MAX(5,10,0) + static int vbox_ttm_io_mem_reserve(struct ttm_bo_device *bdev, +@@ -234,10 +240,10 @@ + mem->bus.caching = ttm_write_combined; + # endif + # if RTLNX_VER_MIN(5,10,0) +- mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(vbox->dev->pdev, 0); ++ mem->bus.offset = (mem->start << PAGE_SHIFT) + pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0); + # else + mem->bus.offset = mem->start << PAGE_SHIFT; +- mem->start = pci_resource_start(vbox->dev->pdev, 0); ++ mem->start = pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0); + # endif + mem->bus.is_iomem = true; + break; +@@ -373,7 +379,9 @@ + .eviction_valuable = ttm_bo_eviction_valuable, + #endif + .evict_flags = vbox_bo_evict_flags, ++#if RTLNX_VER_MAX(5,14,0) + .verify_access = vbox_bo_verify_access, ++#endif + .io_mem_reserve = &vbox_ttm_io_mem_reserve, + .io_mem_free = &vbox_ttm_io_mem_free, + #if RTLNX_VER_MIN(4,12,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) +@@ -451,12 +459,12 @@ + } + + #ifdef DRM_MTRR_WC +- vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(dev->pdev, 0), +- pci_resource_len(dev->pdev, 0), ++ vbox->fb_mtrr = drm_mtrr_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0), ++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0), + DRM_MTRR_WC); + #else +- vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(dev->pdev, 0), +- pci_resource_len(dev->pdev, 0)); ++ vbox->fb_mtrr = arch_phys_wc_add(pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0), ++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0)); + #endif + return 0; + +@@ -477,8 +485,8 @@ + { + #ifdef DRM_MTRR_WC + drm_mtrr_del(vbox->fb_mtrr, +- pci_resource_start(vbox->dev->pdev, 0), +- pci_resource_len(vbox->dev->pdev, 0), DRM_MTRR_WC); ++ pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0), ++ pci_resource_len(VBOX_DRM_TO_PCI_DEV(vbox->dev), 0), DRM_MTRR_WC); + #else + arch_phys_wc_del(vbox->fb_mtrr); + #endif +@@ -560,6 +568,9 @@ + static const struct drm_gem_object_funcs vbox_drm_gem_object_funcs = { + .free = vbox_gem_free_object, + .print_info = drm_gem_ttm_print_info, ++# if RTLNX_VER_MIN(5,14,0) ++ .mmap = drm_gem_ttm_mmap, ++# endif + }; + #endif + +@@ -598,6 +609,17 @@ + sizeof(struct vbox_bo)); + #endif + ++#if RTLNX_VER_MIN(5,14,0) ++ /* Initialization of the following was removed from DRM stack ++ * in 5.14, so we need to do it manually. */ ++ vboxbo->bo.base.funcs = &vbox_drm_gem_object_funcs; ++ kref_init(&vboxbo->bo.base.refcount); ++ vboxbo->bo.base.size = size; ++ vboxbo->bo.base.dev = dev; ++ dma_resv_init(&vboxbo->bo.base._resv); ++ drm_vma_node_reset(&vboxbo->bo.base.vma_node); ++#endif ++ + ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size, + ttm_bo_type_device, &vboxbo->placement, + #if RTLNX_VER_MAX(4,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,6) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) +@@ -613,7 +635,11 @@ + NULL, vbox_bo_ttm_destroy); + #endif + if (ret) +- goto err_free_vboxbo; ++ { ++ /* In case of failure, ttm_bo_init() supposed to call ++ * vbox_bo_ttm_destroy() which in turn will free @vboxbo. */ ++ goto err_exit; ++ } + + *pvboxbo = vboxbo; + +@@ -621,12 +647,15 @@ + + err_free_vboxbo: + kfree(vboxbo); ++err_exit: + return ret; + } + + static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo) + { +-#if RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3) ++#if RTLNX_VER_MIN(5,14,0) ++ return bo->bo.resource->start << PAGE_SHIFT; ++#elif RTLNX_VER_MIN(5,9,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3) + return bo->bo.mem.start << PAGE_SHIFT; + #else + return bo->bo.offset; +@@ -685,7 +714,7 @@ + struct ttm_operation_ctx ctx = { false, false }; + # endif + #endif +- int ret; ++ int ret = 0; + #if RTLNX_VER_MAX(5,11,0) + int i; + #endif +@@ -765,6 +794,7 @@ + { + struct drm_file *file_priv; + struct vbox_private *vbox; ++ int ret = -EINVAL; + + if (unlikely(vma->vm_pgoff < DRM_FILE_PAGE_OFFSET)) + return -EINVAL; +@@ -772,5 +802,12 @@ + file_priv = filp->private_data; + vbox = file_priv->minor->dev->dev_private; + +- return ttm_bo_mmap(filp, vma, &vbox->ttm.bdev); ++#if RTLNX_VER_MIN(5,14,0) ++ if (drm_dev_is_unplugged(file_priv->minor->dev)) ++ return -ENODEV; ++ ret = drm_gem_mmap(filp, vma); ++#else ++ ret = ttm_bo_mmap(filp, vma, &vbox->ttm.bdev); ++#endif ++ return ret; + } +Index: a/src/VBox/Additions/linux/drm/vbox_fb.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 90498) +@@ -301,7 +301,9 @@ + return ret; + } + +-#if RTLNX_VER_MIN(5,12,0) ++#if RTLNX_VER_MIN(5,14,0) ++ ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.resource->num_pages, &bo->kmap); ++#elif RTLNX_VER_MIN(5,12,0) + ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.mem.num_pages, &bo->kmap); + #else + ret = ttm_bo_kmap(&bo->bo, 0, bo->bo.num_pages, &bo->kmap); +@@ -337,8 +339,8 @@ + * This seems to be done for safety checking that the framebuffer + * is not registered twice by different drivers. + */ +- info->apertures->ranges[0].base = pci_resource_start(dev->pdev, 0); +- info->apertures->ranges[0].size = pci_resource_len(dev->pdev, 0); ++ info->apertures->ranges[0].base = pci_resource_start(VBOX_DRM_TO_PCI_DEV(dev), 0); ++ info->apertures->ranges[0].size = pci_resource_len(VBOX_DRM_TO_PCI_DEV(dev), 0); + + #if RTLNX_VER_MIN(5,2,0) || RTLNX_RHEL_MAJ_PREREQ(8,2) + /* +Index: a/src/VBox/Additions/linux/drm/vbox_drv.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_drv.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_drv.c (revision 90498) +@@ -43,6 +43,10 @@ + # include <drm/drm_probe_helper.h> + #endif + ++#if RTLNX_VER_MIN(5,14,0) ++# include <drm/drm_aperture.h> ++#endif ++ + #include "version-generated.h" + #include "revision-generated.h" + +@@ -65,12 +69,23 @@ + struct drm_device *dev = NULL; + int ret = 0; + ++# if RTLNX_VER_MIN(5,14,0) ++ ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, "vboxvideofb"); ++ if (ret) ++ { ++ printk("unable to remove conflicting framebuffer devices\n"); ++ return ret; ++ } ++# endif /* 5.14 */ ++ + dev = drm_dev_alloc(&driver, &pdev->dev); + if (IS_ERR(dev)) { + ret = PTR_ERR(dev); + goto err_drv_alloc; + } ++#if RTLNX_VER_MAX(5,14,0) + dev->pdev = pdev; ++#endif + pci_set_drvdata(pdev, dev); + + ret = vbox_driver_load(dev); +@@ -125,7 +140,7 @@ + + drm_kms_helper_poll_disable(dev); + +- pci_save_state(dev->pdev); ++ pci_save_state(VBOX_DRM_TO_PCI_DEV(dev)); + + drm_fb_helper_set_suspend_unlocked(&vbox->fbdev->helper, true); + +@@ -147,7 +162,7 @@ + { + int ret; + +- if (pci_enable_device(dev->pdev)) ++ if (pci_enable_device(VBOX_DRM_TO_PCI_DEV(dev))) + return -EIO; + + ret = vbox_drm_thaw(dev); +Index: a/src/VBox/Additions/linux/drm/vbox_irq.c +=================================================================== +--- a/src/VBox/Additions/linux/drm/vbox_irq.c (revision 89690) ++++ a/src/VBox/Additions/linux/drm/vbox_irq.c (revision 90498) +@@ -206,7 +206,7 @@ + INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker); + vbox_update_mode_hints(vbox); + #if RTLNX_VER_MIN(3,16,0) || RTLNX_RHEL_MAJ_PREREQ(7,1) +- return drm_irq_install(vbox->dev, vbox->dev->pdev->irq); ++ return drm_irq_install(vbox->dev, VBOX_DRM_TO_PCI_DEV(vbox->dev)->irq); + #else + return drm_irq_install(vbox->dev); + #endif diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch new file mode 100644 index 000000000..0d960fa4f --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers/r90497-regops-5.14-fix.patch @@ -0,0 +1,118 @@ +Subject: Fix regops build errors with linux 5.14 + +Upstream-Status: backport + +svn-id: r90497 + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> + +Index: a/src/VBox/Additions/linux/sharedfolders/regops.c +=================================================================== +--- a/src/VBox/Additions/linux/sharedfolders/regops.c (revision 88716) ++++ a/src/VBox/Additions/linux/sharedfolders/regops.c (revision 90497) +@@ -2126,7 +2126,11 @@ + int rc = 0; + + Assert(iov_iter_count(iter) + pStash->cb > 0); ++# if RTLNX_VER_MIN(5,14,0) ++ if (!(iter->iter_type & ITER_KVEC)) { ++#else + if (!(iter->type & ITER_KVEC)) { ++#endif + /* + * Do we have a stashed page? + */ +@@ -2372,7 +2376,9 @@ + static size_t vbsf_iter_max_span_of_pages(struct iov_iter *iter) + { + size_t cPages; +-# if RTLNX_VER_MIN(3,16,0) ++#if RTLNX_VER_MIN(5,14,0) ++ if (iter_is_iovec(iter) || (iter->iter_type & ITER_KVEC)) { ++#elif RTLNX_VER_MIN(3,16,0) + if (iter_is_iovec(iter) || (iter->type & ITER_KVEC)) { + #endif + const struct iovec *pCurIov = iter->iov; +@@ -2436,7 +2442,11 @@ + } else { + /* Won't bother with accurate counts for the next two types, just make + some rough estimates (does pipes have segments?): */ ++# if RTLNX_VER_MIN(5,14,0) ++ size_t cSegs = iter->iter_type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1; ++# else + size_t cSegs = iter->type & ITER_BVEC ? RT_MAX(1, iter->nr_segs) : 1; ++#endif + cPages = (iov_iter_count(iter) + (PAGE_SIZE * 2 - 2) * cSegs) >> PAGE_SHIFT; + } + # endif +@@ -2588,8 +2598,14 @@ + struct vbsf_reg_info *sf_r = kio->ki_filp->private_data; + struct vbsf_super_info *pSuperInfo = VBSF_GET_SUPER_INFO(inode->i_sb); + ++#if RTLNX_VER_MIN(5,14,0) + SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", ++ inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->iter_type)); ++#else ++ SFLOGFLOW(("vbsf_reg_read_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", + inode, kio->ki_filp, cbToRead, kio->ki_pos, iter->type)); ++#endif ++ + AssertReturn(S_ISREG(inode->i_mode), -EINVAL); + + /* +@@ -2823,9 +2839,13 @@ + bool const fAppend = RT_BOOL(kio->ki_filp->f_flags & O_APPEND); + # endif + +- ++#if RTLNX_VER_MIN(5,14,0) + SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", ++ inode, kio->ki_filp, cbToWrite, offFile, iter->iter_type)); ++#else ++ SFLOGFLOW(("vbsf_reg_write_iter: inode=%p file=%p size=%#zx off=%#llx type=%#x\n", + inode, kio->ki_filp, cbToWrite, offFile, iter->type)); ++#endif + AssertReturn(S_ISREG(inode->i_mode), -EINVAL); + + /* +@@ -3737,7 +3757,27 @@ + } + #endif /* KERNEL_VERSION >= 2.6.24 */ + ++#if RTLNX_VER_MIN(5,14,0) ++static int vbsf_write_end(struct file *file, struct address_space *mapping, ++ loff_t pos, unsigned int len, unsigned int copied, ++ struct page *page, void *fsdata) ++{ ++ static uint64_t volatile s_cCalls = 0; ++ if (s_cCalls++ < 16) ++ { ++ printk("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)! Please report.\n", ++ (unsigned long long)pos, len); ++ RTLogBackdoorPrintf("vboxsf: Unexpected call to vbsf_write_end(pos=%#llx len=%#x)! Please report.\n", ++ (unsigned long long)pos, len); ++# ifdef WARN_ON ++ WARN_ON(1); ++# endif ++ } + ++ return -ENOTSUPP; ++} ++#endif ++ + #if RTLNX_VER_MIN(2,4,10) + + # ifdef VBOX_UEK +@@ -3791,8 +3831,11 @@ + #if RTLNX_VER_MIN(2,5,12) + .set_page_dirty = __set_page_dirty_buffers, + #endif +-#if RTLNX_VER_MIN(2,6,24) ++#if RTLNX_VER_MIN(5,14,0) + .write_begin = vbsf_write_begin, ++ .write_end = vbsf_write_end, ++#elif RTLNX_VER_MIN(2,6,24) ++ .write_begin = vbsf_write_begin, + .write_end = simple_write_end, + #elif RTLNX_VER_MIN(2,5,45) + .prepare_write = simple_prepare_write, diff --git a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb index 689782b7f..84651ae64 100644 --- a/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb +++ b/meta-openembedded/meta-oe/recipes-support/vboxguestdrivers/vboxguestdrivers_6.1.26.bb @@ -13,13 +13,15 @@ VBOX_NAME = "VirtualBox-${PV}" SRC_URI = "http://download.virtualbox.org/virtualbox/${PV}/${VBOX_NAME}.tar.bz2 \ file://Makefile.utils \ + file://r89690-5.14-fixes.patch \ + file://r90497-regops-5.14-fix.patch \ " SRC_URI[md5sum] = "fce04bbef244b4df1a50e53d132d3e6f" SRC_URI[sha256sum] = "0212602eea878d6c9fd7f4a3e0182da3e4505f31d25f5539fb8f7b1fbe366195" S ?= "${WORKDIR}/vbox_module" -S_task-patch = "${WORKDIR}/${VBOX_NAME}" +S:task-patch = "${WORKDIR}/${VBOX_NAME}" export BUILD_TARGET_ARCH="${ARCH}" export BUILD_TARGET_ARCH:x86-64="amd64" |