From 4c18589b52a233750f0a3985e945192fd69976a30bf75ed7fa3f55a2d2e9e0b2 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Thu, 4 May 2023 16:43:16 +0000 Subject: [PATCH 1/2] Accepting request 1084796 from home:larryr:branches:Virtualization - VirtualBox 7.0.8 (released April 18 2023) This is a maintenance release. The following items were fixed and/or added: VMM: Introduced general improvements in nested visualization area GUI: Brought back Restore current snapshot checkbox of Close VM dialog (bugs #21189, #21491) GUI: Fixes and validation for VM settings USB filters editor, filter port value is now properly saved/restored GUI: Fixes for VM name and OS type embedded editors of Details pane GUI: Cloud related wizards should now propose enabled profiles before disabled Oracle VM VirtualBox Extension Pack: Fixed shipping the cryptographic support module for full VM encryption E1000: Fixed possible guru meditation when changing network attachments (bug #21488) virtio-net: Follow up fixes for FreeBSD 12.3 and pfSense 2.6.0 (bug #21201) 3D: Fixed various graphics issues with Windows 7 guests (bugs #21129, #21196, #21208, #21521) Main/UefiVariableStore: Added API to add signatures to the MOK list (Machine Owner Key) VBoxManage: Introduced modifynvram enrollmok sub-command to enroll Machine Owner Key into NVRAM, so Linux guest kernel can pick it up in order to verify signature of modules signed with this key Guest Control/Main: Fixed deleting files via built-in toolbox Linux host: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/vbox/vbox.cfg, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature Linux Guest Additions and host Installer: Improved detection if system is running systemd as the init process Linux Guest Additions and host drivers: Introduce initial support for kernel 6.3 Linux Guest Additions: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/virtualbox-guest-additions.conf, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature Linux Guest Additions: Added experimental support for kernel modules and user services reloading in the end of installation process, thus guest system reboot after Guest Additions (7.0.8 and newer) upgrade is no longer required in general case Linux Guest Additions: Fixed vboxvideo build issue with RHEL 8.7, 9.1 and 9.2 kernels (bugs #21446 and #21450) Fixes for (boo#1210616) CVE-2023-21990 Oracle VM VirtualBox Core None No 8.2 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21987 Oracle VM VirtualBox Core None No 7.8 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22002 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21989 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21998 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22000 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22001 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21988 Oracle VM VirtualBox Core None No 3.8 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21999 Oracle VM VirtualBox Core None No 3.6 Prior to 6.1.44, Prior to 7.0.8 OBS-URL: https://build.opensuse.org/request/show/1084796 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=687 --- UserManual.pdf | 4 +- VirtualBox-5.2.10-xclient.patch | 6 +- VirtualBox-7.0.6-patched.tar.bz2 | 3 - VirtualBox-7.0.8-patched.tar.bz2 | 3 + fix-missing-includes-with-qt-5.15.patch | 12 +- fix_7.0.6_locking_problems.patch | 76 +---- fix_conflict_between_host_and_guest.patch | 6 +- fixes_for_gcc13.patch | 12 +- fixes_for_kernel_6.3.patch | 326 ---------------------- fixes_for_leap15.2.patch | 76 ++--- fixes_for_leap15.3.patch | 51 ++-- fixes_for_leap15.5.patch | 124 +++++--- fixes_for_makefile.patch | 30 +- fixes_for_python.patch | 6 +- fixes_for_qt5.13.patch | 66 +---- fixes_for_sle12.patch | 65 ++--- gcc5-real-support.patch | 6 +- handle_gsoap_208103.patch | 6 +- modify_for_4_8_bo_move.patch | 6 +- remove_vbox_video_build.patch | 18 +- security_fixes.patch | 16 +- smap.diff | 6 +- turn_off_cloud_net.patch | 6 +- vbox-default-os-type.diff | 6 +- vbox-deprec-gsoap-service-proxies.diff | 12 +- vbox-disable-updates.diff | 6 +- vbox-fpie.diff | 26 +- vbox-gsoapssl-deps.diff | 54 ++-- vbox-no-build-dates.diff | 162 +++++------ vbox-permissions_warning.diff | 16 +- vbox-python-py310.patch | 32 ++- vbox-suid-warning.diff | 16 +- vbox-usb-warning.diff | 16 +- vbox-vboxadd-init-script.diff | 86 ++---- vbox-vboxdrv-init-script.diff | 24 +- virtualbox-sed-params.patch | 14 +- virtualbox.changes | 49 ++++ virtualbox.spec | 207 +++++++------- 38 files changed, 630 insertions(+), 1026 deletions(-) delete mode 100644 VirtualBox-7.0.6-patched.tar.bz2 create mode 100644 VirtualBox-7.0.8-patched.tar.bz2 delete mode 100644 fixes_for_kernel_6.3.patch diff --git a/UserManual.pdf b/UserManual.pdf index aebae9c..8bc420e 100644 --- a/UserManual.pdf +++ b/UserManual.pdf @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8feb54658307920a70c70928b16d2376787e90e874fd8d2ad5261fddea1e121b -size 4583320 +oid sha256:7b0049dd2580ee9b3a74ee8d5b5c83d65583391683c821bddd8f75e15cdb791e +size 4586462 diff --git a/VirtualBox-5.2.10-xclient.patch b/VirtualBox-5.2.10-xclient.patch index 44493c7..d094424 100644 --- a/VirtualBox-5.2.10-xclient.patch +++ b/VirtualBox-5.2.10-xclient.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/Installer/98vboxadd-xclient +Index: VirtualBox-7.0.8/src/VBox/Additions/x11/Installer/98vboxadd-xclient =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/Installer/98vboxadd-xclient +--- VirtualBox-7.0.8.orig/src/VBox/Additions/x11/Installer/98vboxadd-xclient ++++ VirtualBox-7.0.8/src/VBox/Additions/x11/Installer/98vboxadd-xclient @@ -31,15 +31,9 @@ for i in $HOME/.vboxclient-*.pid; do test -w $i || rm -f $i done diff --git a/VirtualBox-7.0.6-patched.tar.bz2 b/VirtualBox-7.0.6-patched.tar.bz2 deleted file mode 100644 index 82844c1..0000000 --- a/VirtualBox-7.0.6-patched.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a14619e41f64545cdf2d9e66e1f784b6633e711b25a928c1d0d78695fd469956 -size 153304350 diff --git a/VirtualBox-7.0.8-patched.tar.bz2 b/VirtualBox-7.0.8-patched.tar.bz2 new file mode 100644 index 0000000..1c11109 --- /dev/null +++ b/VirtualBox-7.0.8-patched.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ef92b020bd595ac22462d5d6af79f9735cb65234c99b7d5fc048fcea13ee2f30 +size 153315882 diff --git a/fix-missing-includes-with-qt-5.15.patch b/fix-missing-includes-with-qt-5.15.patch index 9364756..d7607f9 100644 --- a/fix-missing-includes-with-qt-5.15.patch +++ b/fix-missing-includes-with-qt-5.15.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp +Index: VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp -+++ VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp ++++ VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp @@ -28,6 +28,7 @@ /* Qt includes: */ #include @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.cpp #include #include #include -Index: VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h +Index: VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h -+++ VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h ++++ VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/widgets/UIPopupBox.h @@ -47,7 +47,6 @@ class QIcon; class QLabel; class QMouseEvent; diff --git a/fix_7.0.6_locking_problems.patch b/fix_7.0.6_locking_problems.patch index 4904335..4d29d26 100644 --- a/fix_7.0.6_locking_problems.patch +++ b/fix_7.0.6_locking_problems.patch @@ -1,61 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/Support/SUPDrv.cpp +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/Support/SUPDrvGip.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/Support/SUPDrv.cpp -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/Support/SUPDrv.cpp -@@ -871,8 +871,8 @@ void VBOXCALL supdrvDeleteDevExt(PSUPDRV - - /* kill the GIP. */ - supdrvGipDestroy(pDevExt); -- RTSpinlockDestroy(pDevExt->hGipSpinlock); - pDevExt->hGipSpinlock = NIL_RTSPINLOCK; -+ RTSpinlockDestroy(pDevExt->hGipSpinlock); - - supdrvTracerTerm(pDevExt); - -@@ -5351,8 +5351,8 @@ static int supdrvIOCtl_LdrOpen(PSUPDRVDE - rc = supdrvLdrAddUsage(pDevExt, pSession, pImage, true /*fRing3Usage*/); - if (RT_FAILURE(rc)) - { -- supdrvLdrUnlock(pDevExt); - pImage->uMagic = SUPDRVLDRIMAGE_MAGIC_DEAD; -+ supdrvLdrUnlock(pDevExt); - RTMemFree(pImage); - Log(("supdrvIOCtl_LdrOpen(%s): failed - %Rrc\n", pReq->u.In.szName, rc)); - return rc; -@@ -6095,6 +6095,7 @@ static int supdrvIOCtl_LdrFree(PSUPDRVDE - /* free it */ - pUsage->pImage = NULL; - pUsage->pNext = NULL; -+ RTSpinlockRelease(pDevExt->Spinlock); - RTMemFree(pUsage); - - /* -@@ -6106,7 +6107,10 @@ static int supdrvIOCtl_LdrFree(PSUPDRVDE - supdrvLdrSubtractUsage(pDevExt, pImage, 1); - } - else -+ { -+ RTSpinlockRelease(pDevExt->Spinlock); - Log(("supdrvIOCtl_LdrFree: Dangling objects in %p/%s!\n", pImage->pvImage, pImage->szName)); -+ } - } - else - { -@@ -6334,9 +6338,9 @@ static int supdrvIOCtl_LdrQuerySymbol(PS - rc = VERR_INVALID_HANDLE; - } - -+ pReq->u.Out.pvSymbol = pvSymbol; - supdrvLdrUnlock(pDevExt); - -- pReq->u.Out.pvSymbol = pvSymbol; - return rc; - } - -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/Support/SUPDrvGip.cpp -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/Support/SUPDrvGip.cpp -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/Support/SUPDrvGip.cpp +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/Support/SUPDrvGip.cpp ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/Support/SUPDrvGip.cpp @@ -4537,9 +4537,9 @@ static int supdrvTscDeltaThreadWait(PSUP */ static void supdrvTscDeltaThreadStartMeasurement(PSUPDRVDEVEXT pDevExt, bool fForceAll) @@ -78,19 +24,3 @@ Index: VirtualBox-7.0.6/src/VBox/HostDrivers/Support/SUPDrvGip.cpp } -@@ -4628,13 +4628,13 @@ static int supdrvTscDeltaThreadInit(PSUP - } - else - OSDBGPRINT(("supdrvTscDeltaInit: RTThreadCreate failed. rc=%Rrc\n", rc)); -- RTSemEventDestroy(pDevExt->hTscDeltaEvent); - pDevExt->hTscDeltaEvent = NIL_RTSEMEVENT; -+ RTSemEventDestroy(pDevExt->hTscDeltaEvent); - } - else - OSDBGPRINT(("supdrvTscDeltaInit: RTSemEventCreate failed. rc=%Rrc\n", rc)); -- RTSpinlockDestroy(pDevExt->hTscDeltaSpinlock); - pDevExt->hTscDeltaSpinlock = NIL_RTSPINLOCK; -+ RTSpinlockDestroy(pDevExt->hTscDeltaSpinlock); - } - else - OSDBGPRINT(("supdrvTscDeltaInit: RTSpinlockCreate failed. rc=%Rrc\n", rc)); diff --git a/fix_conflict_between_host_and_guest.patch b/fix_conflict_between_host_and_guest.patch index b783123..4811363 100644 --- a/fix_conflict_between_host_and_guest.patch +++ b/fix_conflict_between_host_and_guest.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c +Index: VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c -+++ VirtualBox-7.0.6/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c ++++ VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/VBoxGuest-haiku.c @@ -140,7 +140,7 @@ static struct vboxguest_module_info g_VB RTMemAllocExTag, RTMemContAlloc, diff --git a/fixes_for_gcc13.patch b/fixes_for_gcc13.patch index dcf483e..e7bc788 100644 --- a/fixes_for_gcc13.patch +++ b/fixes_for_gcc13.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h +Index: VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h -+++ VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h +--- VirtualBox-7.0.8.orig/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h ++++ VirtualBox-7.0.8/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h @@ -13,6 +13,7 @@ #include #endif @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/src/libs/dxvk-native-1.9.2a/src/util/util_bit.h #include "util_likely.h" #include "util_math.h" -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h +Index: VirtualBox-7.0.8/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h +--- VirtualBox-7.0.8.orig/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h ++++ VirtualBox-7.0.8/src/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/misc.h @@ -66,6 +66,9 @@ TORTIOUS ACTION, ARISING OUT OF OR IN CO OF THIS SOFTWARE. diff --git a/fixes_for_kernel_6.3.patch b/fixes_for_kernel_6.3.patch deleted file mode 100644 index dee9629..0000000 --- a/fixes_for_kernel_6.3.patch +++ /dev/null @@ -1,326 +0,0 @@ -Index: a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c -=================================================================== ---- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (revision 156192) -+++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c (revision 156193) -@@ -1401,7 +1401,11 @@ - while (rc-- > 0) - { - flush_dcache_page(pMemLnx->apPages[rc]); -+#if RTLNX_VER_MIN(6,3,0) -+ vm_flags_set(papVMAs[rc], VM_DONTCOPY | VM_LOCKED); -+#else - papVMAs[rc]->vm_flags |= VM_DONTCOPY | VM_LOCKED; -+#endif - } - - LNX_MM_UP_READ(pTask->mm); -@@ -1872,7 +1876,10 @@ - rc = vm_insert_page(vma, ulAddrCur, pMemLnxToMap->apPages[iPage]); - /* Thes flags help making 100% sure some bad stuff wont happen (swap, core, ++). - * See remap_pfn_range() in mm/memory.c */ --#if RTLNX_VER_MIN(3,7,0) -+ -+#if RTLNX_VER_MIN(6,3,0) -+ vm_flags_set(vma, VM_DONTEXPAND | VM_DONTDUMP); -+#elif RTLNX_VER_MIN(3,7,0) - vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; - #else - vma->vm_flags |= VM_RESERVED; -Index: s/rc/VBox/Additions/linux/drm/vbox_drv.h -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_drv.h (revision 156193) -+++ b/src/VBox/Additions/linux/drm/vbox_drv.h (revision 156194) -@@ -172,8 +172,12 @@ - # include - #endif - --#include --#include -+#if RTLNX_VER_MIN(6,3,0) -+# include -+#else -+# include -+# include -+#endif - #include - #if RTLNX_VER_MAX(5,13,0) && !RTLNX_RHEL_RANGE(8,6, 8,99) - # include -Index: a/src/VBox/Additions/linux/drm/vbox_fb.c -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 156193) -+++ b.src/VBox/Additions/linux/drm/vbox_fb.c (revision 156194) -@@ -345,6 +345,7 @@ - info->flags = FBINFO_DEFAULT | FBINFO_MISC_ALWAYS_SETPAR; - info->fbops = &vboxfb_ops; - -+#if RTLNX_VER_MAX(6,3,0) - /* - * This seems to be done for safety checking that the framebuffer - * is not registered twice by different drivers. -@@ -351,6 +352,7 @@ - */ - 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); -+#endif - - #if RTLNX_VER_MIN(5,2,0) || RTLNX_RHEL_MAJ_PREREQ(8,2) - /* -@@ -457,11 +459,14 @@ - vbox->fbdev = fbdev; - spin_lock_init(&fbdev->dirty_lock); - --#if RTLNX_VER_MAX(3,17,0) && !RTLNX_RHEL_MAJ_PREREQ(7,2) -+#if RTLNX_VER_MIN(6,3,0) -+ drm_fb_helper_prepare(dev, &fbdev->helper, 32, &vbox_fb_helper_funcs); -+#elif RTLNX_VER_MIN(3,17,0) || RTLNX_RHEL_MIN(7,2) -+ drm_fb_helper_prepare(dev, &fbdev->helper, &vbox_fb_helper_funcs); -+#else - fbdev->helper.funcs = &vbox_fb_helper_funcs; --#else -- drm_fb_helper_prepare(dev, &fbdev->helper, &vbox_fb_helper_funcs); - #endif -+ - #if RTLNX_VER_MIN(5,7,0) || RTLNX_RHEL_MIN(8,4) || RTLNX_SUSE_MAJ_PREREQ(15,3) - ret = drm_fb_helper_init(dev, &fbdev->helper); - #elif RTLNX_VER_MIN(4,11,0) || RTLNX_RHEL_MAJ_PREREQ(7,5) -@@ -483,7 +488,11 @@ - /* disable all the possible outputs/crtcs before entering KMS mode */ - drm_helper_disable_unused_functions(dev); - -+#if RTLNX_VER_MIN(6,3,0) -+ ret = drm_fb_helper_initial_config(&fbdev->helper); -+#else - ret = drm_fb_helper_initial_config(&fbdev->helper, 32); -+#endif - if (ret) - goto err_fini; - -@@ -498,6 +507,11 @@ - { - struct fb_info *fbdev = VBOX_FBDEV_INFO(vbox->fbdev->helper); - -+#if RTLNX_VER_MIN(6,3,0) -+ fbdev->fix.smem_start = -+pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->fbdev->helper.dev), 0) + gpu_addr; -+#else - fbdev->fix.smem_start = fbdev->apertures->ranges[0].base + gpu_addr; -+#endif - fbdev->fix.smem_len = vbox->available_vram_size - gpu_addr; - } -Index: a/src/VBox/Additions/linux/drm/vbox_main.c -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_main.c (revision 156193) -+++ b/src/VBox/Additions/linux/drm/vbox_main.c (revision 156194) -@@ -36,6 +36,10 @@ - #include - #include - -+#if RTLNX_VER_MIN(6,3,0) -+# include -+#endif -+ - #include - #include - -Index: a/src/VBox/Additions/linux/drm/vbox_mode.c -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_mode.c (revision 156193) -+++ b/src/VBox/Additions/linux/drm/vbox_mode.c (revision 156194) -@@ -39,6 +39,10 @@ - #include "vbox_drv.h" - #include - #include -+#if RTLNX_VER_MIN(6,3,0) -+# include -+# include -+#endif - #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) - # include - #endif -Index: a/src/VBox/Additions/linux/drm/vbox_ttm.c -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 156193) -+++ b/src/VBox/Additions/linux/drm/vbox_ttm.c (revision 156194) -@@ -33,6 +33,11 @@ - * Michael Thayer - */ - #include "vbox_drv.h" -+ -+#if RTLNX_VER_MIN(6,3,0) -+# include -+#endif -+ - #if RTLNX_VER_MIN(5,11,0) || RTLNX_RHEL_MAJ_PREREQ(8,5) - # include - # include -Index: a/src/VBox/Additions/linux/drm/vbox_fb.c -=================================================================== ---- a/src/VBox/Additions/linux/drm/vbox_fb.c (revision 156195) -+++ b/src/VBox/Additions/linux/drm/vbox_fb.c (revision 156196) -@@ -508,7 +508,7 @@ - struct fb_info *fbdev = VBOX_FBDEV_INFO(vbox->fbdev->helper); - - #if RTLNX_VER_MIN(6,3,0) -- fbdev->fix.smem_start = -+ fbdev->fix.smem_start = - pci_resource_start(VBOX_DRM_TO_PCI_DEV(vbox->fbdev->helper.dev), 0) + gpu_addr; - #else - fbdev->fix.smem_start = fbdev->apertures->ranges[0].base + gpu_addr; -Index: a/src/VBox/Additions/linux/sharedfolders/dirops.c -=================================================================== ---- a/src/VBox/Additions/linux/sharedfolders/dirops.c (revision 156194) -+++ b/src/VBox/Additions/linux/sharedfolders/dirops.c (revision 156195) -@@ -1045,7 +1045,9 @@ - * @param excl Possible O_EXCL... - * @returns 0 on success, Linux error code otherwise - */ --#if RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) -+#if RTLNX_VER_MIN(6,3,0) -+static int vbsf_inode_create(struct mnt_idmap *idmap, struct inode *parent, struct dentry *dentry, umode_t mode, bool excl) -+#elif RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) - static int vbsf_inode_create(struct user_namespace *ns, struct inode *parent, struct dentry *dentry, umode_t mode, bool excl) - #elif RTLNX_VER_MIN(3,6,0) - static int vbsf_inode_create(struct inode *parent, struct dentry *dentry, umode_t mode, bool excl) -@@ -1085,7 +1087,9 @@ - * @param mode file mode - * @returns 0 on success, Linux error code otherwise - */ --#if RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) -+#if RTLNX_VER_MIN(6,3,0) -+static int vbsf_inode_mkdir(struct mnt_idmap *idmap, struct inode *parent, struct dentry *dentry, umode_t mode) -+#elif RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) - static int vbsf_inode_mkdir(struct user_namespace *ns, struct inode *parent, struct dentry *dentry, umode_t mode) - #elif RTLNX_VER_MIN(3,3,0) - static int vbsf_inode_mkdir(struct inode *parent, struct dentry *dentry, umode_t mode) -@@ -1200,7 +1204,11 @@ - * @param flags flags - * @returns 0 on success, Linux error code otherwise - */ --#if RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) -+#if RTLNX_VER_MIN(6,3,0) -+static int vbsf_inode_rename(struct mnt_idmap *idmap, -+ struct inode *old_parent, struct dentry *old_dentry, -+ struct inode *new_parent, struct dentry *new_dentry, unsigned flags) -+#elif RTLNX_VER_MIN(5,12,0) || defined(DOXYGEN_RUNNING) - static int vbsf_inode_rename(struct user_namespace *ns, - struct inode *old_parent, struct dentry *old_dentry, - struct inode *new_parent, struct dentry *new_dentry, unsigned flags) -@@ -1312,7 +1320,9 @@ - /** - * Create a symbolic link. - */ --#if RTLNX_VER_MIN(5,12,0) -+#if RTLNX_VER_MIN(6,3,0) -+static int vbsf_inode_symlink(struct mnt_idmap *idmap, struct inode *parent, struct dentry *dentry, const char *target) -+#elif RTLNX_VER_MIN(5,12,0) - static int vbsf_inode_symlink(struct user_namespace *ns, struct inode *parent, struct dentry *dentry, const char *target) - #else - static int vbsf_inode_symlink(struct inode *parent, struct dentry *dentry, const char *target) -Index: a/src/VBox/Additions/linux/sharedfolders/utils.c -=================================================================== ---- a/src/VBox/Additions/linux/sharedfolders/utils.c (revision 156194) -+++ b/src/VBox/Additions/linux/sharedfolders/utils.c (revision 156195) -@@ -697,8 +697,10 @@ - has inode at all) from these new attributes we derive [kstat] via - [generic_fillattr] */ - #if RTLNX_VER_MIN(2,5,18) -- --# if RTLNX_VER_MIN(5,12,0) -+# if RTLNX_VER_MIN(6,3,0) -+int vbsf_inode_getattr(struct mnt_idmap *idmap, const struct path *path, -+ struct kstat *kstat, u32 request_mask, unsigned int flags) -+# elif RTLNX_VER_MIN(5,12,0) - int vbsf_inode_getattr(struct user_namespace *ns, const struct path *path, - struct kstat *kstat, u32 request_mask, unsigned int flags) - # elif RTLNX_VER_MIN(4,11,0) -@@ -741,7 +743,9 @@ - # endif - if (rc == 0) { - /* Do generic filling in of info. */ --# if RTLNX_VER_MIN(5,12,0) -+# if RTLNX_VER_MIN(6,3,0) -+ generic_fillattr(idmap, dentry->d_inode, kstat); -+# elif RTLNX_VER_MIN(5,12,0) - generic_fillattr(ns, dentry->d_inode, kstat); - # else - generic_fillattr(dentry->d_inode, kstat); -@@ -791,7 +795,9 @@ - /** - * Modify inode attributes. - */ --#if RTLNX_VER_MIN(5,12,0) -+#if RTLNX_VER_MIN(6,3,0) -+int vbsf_inode_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *iattr) -+#elif RTLNX_VER_MIN(5,12,0) - int vbsf_inode_setattr(struct user_namespace *ns, struct dentry *dentry, struct iattr *iattr) - #else - int vbsf_inode_setattr(struct dentry *dentry, struct iattr *iattr) -@@ -815,7 +821,9 @@ - */ - iattr->ia_valid |= ATTR_FORCE; - #if (RTLNX_VER_RANGE(3,16,39, 3,17,0)) || RTLNX_VER_MIN(4,9,0) || (RTLNX_VER_RANGE(4,1,37, 4,2,0)) || RTLNX_UBUNTU_ABI_MIN(4,4,255,208) --# if RTLNX_VER_MIN(5,12,0) -+# if RTLNX_VER_MIN(6,3,0) -+ rc = setattr_prepare(idmap, dentry, iattr); -+# elif RTLNX_VER_MIN(5,12,0) - rc = setattr_prepare(ns, dentry, iattr); - # else - rc = setattr_prepare(dentry, iattr); -Index: a/src/VBox/Additions/linux/sharedfolders/vfsmod.h -=================================================================== ---- a/src/VBox/Additions/linux/sharedfolders/vfsmod.h (revision 156194) -+++ b/src/VBox/Additions/linux/sharedfolders/vfsmod.h (revision 156195) -@@ -275,7 +275,10 @@ - extern int vbsf_inode_revalidate_worker(struct dentry *dentry, bool fForced, bool fInodeLocked); - extern int vbsf_inode_revalidate_with_handle(struct dentry *dentry, SHFLHANDLE hHostFile, bool fForced, bool fInodeLocked); - #if RTLNX_VER_MIN(2,5,18) --# if RTLNX_VER_MIN(5,12,0) -+# if RTLNX_VER_MIN(6,3,0) -+extern int vbsf_inode_getattr(struct mnt_idmap *idmap, const struct path *path, -+ struct kstat *kstat, u32 request_mask, unsigned int query_flags); -+# elif RTLNX_VER_MIN(5,12,0) - extern int vbsf_inode_getattr(struct user_namespace *ns, const struct path *path, - struct kstat *kstat, u32 request_mask, unsigned int query_flags); - # elif RTLNX_VER_MIN(4,11,0) -@@ -286,7 +289,9 @@ - #else /* < 2.5.44 */ - extern int vbsf_inode_revalidate(struct dentry *dentry); - #endif /* < 2.5.44 */ --#if RTLNX_VER_MIN(5,12,0) -+#if RTLNX_VER_MIN(6,3,0) -+extern int vbsf_inode_setattr(struct mnt_idmap *idmap, struct dentry *dentry, struct iattr *iattr); -+#elif RTLNX_VER_MIN(5,12,0) - extern int vbsf_inode_setattr(struct user_namespace *ns, struct dentry *dentry, struct iattr *iattr); - #else - extern int vbsf_inode_setattr(struct dentry *dentry, struct iattr *iattr); -Index: a/src/VBox/Additions/linux/sharedfolders/dirops.c -=================================================================== ---- a/src/VBox/Additions/linux/sharedfolders/dirops.c (revision 156196) -+++ b/src/VBox/Additions/linux/sharedfolders/dirops.c (revision 156197) -@@ -1038,7 +1038,7 @@ - /** - * Create a new regular file. - * -- * @param ns The name space. -+ * @param idmap idmap of the mount. - * @param parent inode of the directory - * @param dentry directory cache entry - * @param mode file mode -@@ -1081,7 +1081,7 @@ - /** - * Create a new directory. - * -- * @param ns The name space. -+ * @param idmap idmap of the mount. - * @param parent inode of the directory - * @param dentry directory cache entry - * @param mode file mode -@@ -1196,7 +1196,7 @@ - /** - * Rename a regular file / directory. - * -- * @param ns The name space. -+ * @param idmap idmap of the mount. - * @param old_parent inode of the old parent directory - * @param old_dentry old directory cache entry - * @param new_parent inode of the new parent directory diff --git a/fixes_for_leap15.2.patch b/fixes_for_leap15.2.patch index 4720b57..55a2361 100644 --- a/fixes_for_leap15.2.patch +++ b/fixes_for_leap15.2.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c @@ -86,6 +86,10 @@ #define VBOXNETFLT_OS_SPECFIC 1 #include "../VBoxNetFltInternal.h" @@ -13,10 +13,10 @@ Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxNetFlt/linux/VBoxNetFlt-linux.c typedef struct VBOXNETFLTNOTIFIER { struct notifier_block Notifier; PVBOXNETFLTINS pThis; -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c @@ -342,12 +342,15 @@ static void vbox_master_drop(struct drm_ } @@ -36,11 +36,11 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c #else /* >= 5.4.0 && RHEL >= 8.3 && SLES >= 15-SP3 */ .driver_features = DRIVER_MODESET | DRIVER_GEM | DRIVER_HAVE_IRQ, #endif /* < 5.4.0 */ -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_main.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c -@@ -659,8 +659,12 @@ static inline u64 vbox_bo_mmap_offset(st +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_main.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c +@@ -663,8 +663,12 @@ static inline u64 vbox_bo_mmap_offset(st #elif RTLNX_VER_MAX(3,12,0) && !RTLNX_RHEL_MAJ_PREREQ(7,0) return bo->bo.addr_space_offset; #else @@ -53,10 +53,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c } int -Index: VirtualBox-7.0.6/include/iprt/cdefs.h +Index: VirtualBox-7.0.8/include/iprt/cdefs.h =================================================================== ---- VirtualBox-7.0.6.orig/include/iprt/cdefs.h -+++ VirtualBox-7.0.6/include/iprt/cdefs.h +--- VirtualBox-7.0.8.orig/include/iprt/cdefs.h ++++ VirtualBox-7.0.8/include/iprt/cdefs.h @@ -1399,14 +1399,15 @@ #if RT_CLANG_PREREQ(4, 0) && RT_CPLUSPLUS_PREREQ(201100) # define RT_FALL_THROUGH() [[clang::fallthrough]] @@ -76,10 +76,10 @@ Index: VirtualBox-7.0.6/include/iprt/cdefs.h /** @def RT_IPRT_FORMAT_ATTR -Index: VirtualBox-7.0.6/kBuild/header.kmk +Index: VirtualBox-7.0.8/kBuild/header.kmk =================================================================== ---- VirtualBox-7.0.6.orig/kBuild/header.kmk -+++ VirtualBox-7.0.6/kBuild/header.kmk +--- VirtualBox-7.0.8.orig/kBuild/header.kmk ++++ VirtualBox-7.0.8/kBuild/header.kmk @@ -764,7 +764,7 @@ RMDIR_EXT := $(KBUILD_BIN_PATH)/kmk_rm RMDIR_INT := kmk_builtin_rmdir RMDIR := $(RMDIR_INT) @@ -89,10 +89,10 @@ Index: VirtualBox-7.0.6/kBuild/header.kmk SED_INT := $(SED_EXT) SED := $(SED_EXT) -Index: VirtualBox-7.0.6/configure +Index: VirtualBox-7.0.8/configure =================================================================== ---- VirtualBox-7.0.6.orig/configure -+++ VirtualBox-7.0.6/configure +--- VirtualBox-7.0.8.orig/configure ++++ VirtualBox-7.0.8/configure @@ -2000,7 +2000,7 @@ check_kbuild() fi echo "export KBUILD_PATH KBUILD_DEVTOOLS PATH" >> $ENV @@ -111,10 +111,10 @@ Index: VirtualBox-7.0.6/configure else fail fi -Index: VirtualBox-7.0.6/tools/bin/backport-commit.sh +Index: VirtualBox-7.0.8/tools/bin/backport-commit.sh =================================================================== ---- VirtualBox-7.0.6.orig/tools/bin/backport-commit.sh -+++ VirtualBox-7.0.6/tools/bin/backport-commit.sh +--- VirtualBox-7.0.8.orig/tools/bin/backport-commit.sh ++++ VirtualBox-7.0.8/tools/bin/backport-commit.sh @@ -29,7 +29,7 @@ # # Determin script dir so we can source the common bits. @@ -124,10 +124,10 @@ Index: VirtualBox-7.0.6/tools/bin/backport-commit.sh MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows. if test "${MY_SCRIPT_DIR}" = "$0"; then MY_SCRIPT_DIR=`pwd -L` -Index: VirtualBox-7.0.6/tools/bin/backport-common.sh +Index: VirtualBox-7.0.8/tools/bin/backport-common.sh =================================================================== ---- VirtualBox-7.0.6.orig/tools/bin/backport-common.sh -+++ VirtualBox-7.0.6/tools/bin/backport-common.sh +--- VirtualBox-7.0.8.orig/tools/bin/backport-common.sh ++++ VirtualBox-7.0.8/tools/bin/backport-common.sh @@ -1,4 +1,4 @@ -# $Id: backport-common.sh $ + $Id: backport-common.sh $ @@ -143,10 +143,10 @@ Index: VirtualBox-7.0.6/tools/bin/backport-common.sh # # Functions. -Index: VirtualBox-7.0.6/tools/bin/backport-merge-and-commit.sh +Index: VirtualBox-7.0.8/tools/bin/backport-merge-and-commit.sh =================================================================== ---- VirtualBox-7.0.6.orig/tools/bin/backport-merge-and-commit.sh -+++ VirtualBox-7.0.6/tools/bin/backport-merge-and-commit.sh +--- VirtualBox-7.0.8.orig/tools/bin/backport-merge-and-commit.sh ++++ VirtualBox-7.0.8/tools/bin/backport-merge-and-commit.sh @@ -29,7 +29,7 @@ # # Determin script dir so we can invoke the two worker scripts. @@ -156,10 +156,10 @@ Index: VirtualBox-7.0.6/tools/bin/backport-merge-and-commit.sh MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows. if test "${MY_SCRIPT_DIR}" = "$0"; then MY_SCRIPT_DIR=`pwd -L` -Index: VirtualBox-7.0.6/tools/bin/backport-merge.sh +Index: VirtualBox-7.0.8/tools/bin/backport-merge.sh =================================================================== ---- VirtualBox-7.0.6.orig/tools/bin/backport-merge.sh -+++ VirtualBox-7.0.6/tools/bin/backport-merge.sh +--- VirtualBox-7.0.8.orig/tools/bin/backport-merge.sh ++++ VirtualBox-7.0.8/tools/bin/backport-merge.sh @@ -29,7 +29,7 @@ # # Determin script dir so we can source the common bits. @@ -169,10 +169,10 @@ Index: VirtualBox-7.0.6/tools/bin/backport-merge.sh MY_SCRIPT_DIR=`echo "$0" | "${MY_SED}" -e 's|\\\|/|g' -e 's|^\(.*\)/[^/][^/]*$|\1|'` # \ -> / is for windows. if test "${MY_SCRIPT_DIR}" = "$0"; then MY_SCRIPT_DIR=`pwd -L` -Index: VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/Main/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk @@ -267,7 +267,7 @@ $(VBOX_XIDL_FILE).ts +| $(VBOX_XIDL_FILE | $$(dir $$@) $(call KB_FN_AUTO_CMD_DEPS_COMMANDS) @@ -182,11 +182,11 @@ Index: VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk $(QUIET)$(RM) -- $(VBOX_XIDL_FILE).ts-tmp $(QUIET)$(CP) --changed -fv -- $(VBOX_XIDL_FILE).ts $(VBOX_XIDL_FILE) -Index: VirtualBox-7.0.6/src/VBox/Runtime/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Runtime/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Runtime/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Runtime/Makefile.kmk -@@ -4480,6 +4480,7 @@ $(foreach lib,RuntimeR3 RuntimeBldProg V +--- VirtualBox-7.0.8.orig/src/VBox/Runtime/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Runtime/Makefile.kmk +@@ -4411,6 +4411,7 @@ $(foreach lib,RuntimeR3 RuntimeBldProg V # # Generate the status code data. # diff --git a/fixes_for_leap15.3.patch b/fixes_for_leap15.3.patch index 5ace911..b831405 100644 --- a/fixes_for_leap15.3.patch +++ b/fixes_for_leap15.3.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +Index: VirtualBox-7.0.8/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h -+++ VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +--- VirtualBox-7.0.8.orig/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h ++++ VirtualBox-7.0.8/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h @@ -147,9 +147,9 @@ #include #include @@ -14,10 +14,10 @@ Index: VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h #if !defined(HAVE_UNLOCKED_IOCTL) && RTLNX_VER_MAX(2,6,38) # include #endif -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyXPCOM.h +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyXPCOM.h =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyXPCOM.h +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/src/PyXPCOM.h ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyXPCOM.h @@ -191,7 +191,7 @@ extern "C" PyAPI_FUNC(const char *) PyUn # endif @@ -27,10 +27,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyXPCOM.h DECLINLINE(int) PyRun_SimpleString(const char *pszCode) { -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/ErrorUtils.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/ErrorUtils.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/ErrorUtils.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/src/ErrorUtils.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/ErrorUtils.cpp @@ -121,7 +121,7 @@ void DoLogMessage(const char *methodName #if PY_MAJOR_VERSION <= 2 c += PyString_AsString(repr); @@ -58,25 +58,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/ErrorUtils.cpp #endif Py_DECREF(temp); } else -@@ -440,10 +440,11 @@ char *PyTraceback_AsString(PyObject *exc - #if PY_MAJOR_VERSION <= 2 - char *tempResult = (char *)PyString_AsString(obResult); - #elif PY_MINOR_VERSION <= 6 -- char *tempResult = (char *)PyUnicode_AsUTF8(obResult); -+ char *tempResult = (char *)PyBytes_AsString(obResult); -+#elif PY_MINOR_VERSION <= 6 -+ const char *tempResult = PyUnicode_AsUTF8AndSize(obResult, NULL); - #else -- /* PyUnicode_AsUTF8() is const char * as of Python 3.7, char * earlier. */ -- const char *tempResult = (const char *)PyUnicode_AsUTF8(obResult); -+ const char *tempResult = (const char *)PyUnicode_AsUTF8AndSize(obResult, NULL); - #endif - result = (char *)PyMem_Malloc(strlen(tempResult)+1); - if (result==NULL) -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyGBase.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyGBase.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyGBase.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/src/PyGBase.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyGBase.cpp @@ -117,7 +117,7 @@ PyG_Base::PyG_Base(PyObject *instance, c #if PY_MAJOR_VERSION <= 2 szRepr = PyString_AsString(r); @@ -86,10 +71,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyGBase.cpp #endif if (szRepr==NULL) szRepr = ""; int reprOffset = *szRepr=='<' ? 1 : 0; -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyIID.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyIID.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/PyIID.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyIID.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/src/PyIID.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/PyIID.cpp @@ -137,7 +137,7 @@ Py_nsIID::IIDFromPyObject(PyObject *ob, ok = iid.Parse(PyString_AsString(ob)); #else @@ -99,10 +84,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/PyIID.cpp #endif if (!ok) { PyXPCOM_BuildPyException(NS_ERROR_ILLEGAL_VALUE); -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/VariantUtils.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/VariantUtils.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/src/VariantUtils.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/src/VariantUtils.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/src/VariantUtils.cpp @@ -141,7 +141,7 @@ PyObject *PyObject_FromNSString( const n #if PY_MAJOR_VERSION <= 2 char* dest = (char *)PyString_AS_STRING(ret); diff --git a/fixes_for_leap15.5.patch b/fixes_for_leap15.5.patch index b171286..189006a 100644 --- a/fixes_for_leap15.5.patch +++ b/fixes_for_leap15.5.patch @@ -1,8 +1,8 @@ -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.h -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h -@@ -160,9 +160,9 @@ +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.h ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h +@@ -166,9 +166,9 @@ # include # include # include @@ -15,35 +15,30 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h # include #else /* < 5.5.0 || RHEL < 8.3 || SLES < 15-SP3 */ # include -@@ -188,9 +188,7 @@ +@@ -198,9 +198,7 @@ # include #endif --#if RTLNX_VER_MIN(6,0,0) +-#if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_MAJ_PREREQ(9,2) # include -#endif #include "vboxvideo_guest.h" #include "vboxvideo_vbe.h" -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c -@@ -52,13 +52,7 @@ +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c +@@ -52,7 +52,7 @@ /** Detect whether kernel mode setting is OFF. */ #if defined(CONFIG_VGA_CONSOLE) --# if RTLNX_VER_MIN(5,17,0) +-# if RTLNX_VER_MIN(5,17,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1) ++# if RTLNX_VER_MIN(5,14,0) || RTLNX_RHEL_RANGE(8,7, 8,99) || RTLNX_RHEL_MIN(9,1) # define VBOX_VIDEO_NOMODESET() drm_firmware_drivers_only() && vbox_modeset == -1 --# elif RTLNX_VER_MIN(4,7,0) --# define VBOX_VIDEO_NOMODESET() vgacon_text_force() && vbox_modeset == -1 --# else /* < 4.7.0 */ --# define VBOX_VIDEO_NOMODESET() 0 --# endif /* < 4.7.0 */ - #else /* !CONFIG_VGA_CONSOLE */ - # define VBOX_VIDEO_NOMODESET() 0 - #endif /* !CONFIG_VGA_CONSOLE */ -@@ -369,7 +363,7 @@ static struct drm_driver driver = { + # elif RTLNX_VER_MIN(4,7,0) + # define VBOX_VIDEO_NOMODESET() vgacon_text_force() && vbox_modeset == -1 +@@ -372,7 +372,7 @@ static struct drm_driver driver = { #endif .fops = &vbox_fops, @@ -52,10 +47,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c .irq_handler = vbox_irq_handler, #endif .name = DRIVER_NAME, -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_irq.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_irq.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_irq.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_irq.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_irq.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_irq.c @@ -205,21 +205,11 @@ int vbox_irq_init(struct vbox_private *v { INIT_WORK(&vbox->hotplug_work, vbox_hotplug_worker); @@ -78,20 +73,28 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_irq.c -#endif flush_work(&vbox->hotplug_work); } -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_ttm.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c -@@ -320,7 +320,7 @@ static struct ttm_tt *vbox_ttm_tt_create - if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { - #elif RTLNX_VER_MAX(5,11,0) && !RTLNX_RHEL_RANGE(8,5, 8,99) - if (ttm_tt_init(tt, bo, page_flags)) { --#elif RTLNX_VER_MAX(5,19,0) -+#elif RTLNX_VER_MAX(5,14,0) - if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined)) { - #else +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -321,16 +321,7 @@ static struct ttm_tt *vbox_ttm_tt_create + #if RTLNX_VER_MAX(5,10,0) && !RTLNX_RHEL_RANGE(8,5, 8,99) + tt->func = &vbox_tt_backend_func; + #endif +-#if RTLNX_VER_MIN(5,19,0) || RTLNX_RHEL_MAJ_PREREQ(9,2) if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined, 0)) { -@@ -622,11 +622,7 @@ int vbox_bo_create(struct drm_device *de +-#elif RTLNX_VER_MIN(5,11,0) || RTLNX_RHEL_RANGE(8,5, 8,99) +- if (ttm_tt_init(tt, bo, page_flags, ttm_write_combined)) { +-#elif RTLNX_VER_MIN(4,17,0) || RTLNX_RHEL_MAJ_PREREQ(7,6) || RTLNX_SUSE_MAJ_PREREQ(15,1) || RTLNX_SUSE_MAJ_PREREQ(12,5) +- if (ttm_tt_init(tt, bo, page_flags)) { +-#else +- if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { +-#endif +- + kfree(tt); + return NULL; + } +@@ -628,11 +619,7 @@ int vbox_bo_create(struct drm_device *de drm_vma_node_reset(&vboxbo->bo.base.vma_node); #endif @@ -103,17 +106,52 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c 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) && !defined(SUSE_SLE12) align >> PAGE_SHIFT, false, NULL, acc_size, -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_mode.c +Index: VirtualBox-7.0.8/src/libs/openssl-3.0.7/Config.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_mode.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_mode.c -@@ -46,9 +46,7 @@ - # include - #endif +--- VirtualBox-7.0.8.orig/src/libs/openssl-3.0.7/Config.kmk ++++ VirtualBox-7.0.8/src/libs/openssl-3.0.7/Config.kmk +@@ -247,9 +247,6 @@ ifneq ($(KBUILD_TARGET),win) + TEMPLATE_LibCrypto_ASFLAGS.amd64 = -m64 + TEMPLATE_LibCrypto_ASDEFS = $(NO_SUCH_VARIABLE) + TEMPLATE_LibCrypto_ASDEFS.darwin = OPENSSL_MANGLE_ASM +- if "$(VBOX_AS_VERSION)" != "" && "$(VBOX_AS_VERSION)" vlt "GNU assembler version 2.20" +- TEMPLATE_LibCrypto_ASFLAGS.solaris = -include $(VBOX_PATH_OPENSSL)/crypto/old-solaris-asm-trick.h +- endif + endif --#if RTLNX_VER_MIN(6,0,0) - # include + TEMPLATE_LibCrypto_DEFS = \ +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_fb.c +=================================================================== +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_fb.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_fb.c +@@ -47,6 +47,7 @@ + #include + #include + #include ++#include + + #include + +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_mode.c +=================================================================== +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_mode.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_mode.c +@@ -39,10 +39,8 @@ + #include "vbox_drv.h" + #include + #include +-#if RTLNX_VER_MIN(6,3,0) + # include + # include -#endif + #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) + # include + #endif +@@ -53,6 +51,7 @@ + #if RTLNX_VER_MIN(6,0,0) || RTLNX_RHEL_MAJ_PREREQ(9,2) + # include + #endif ++#include #include "VBoxVideo.h" diff --git a/fixes_for_makefile.patch b/fixes_for_makefile.patch index 6564f8d..68c7a44 100644 --- a/fixes_for_makefile.patch +++ b/fixes_for_makefile.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/linux/Makefile +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/linux/Makefile =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/linux/Makefile -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/linux/Makefile +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/linux/Makefile ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/linux/Makefile @@ -43,11 +43,8 @@ obj-m = vboxdrv/ obj-m += vboxnetflt/ endif @@ -140,10 +140,10 @@ Index: VirtualBox-7.0.6/src/VBox/HostDrivers/linux/Makefile if test -f $$module.ko; then \ echo "Installing $$module module"; \ $(SUDO) /sbin/insmod $$module.ko; \ -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/Makefile +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/Makefile =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/Makefile -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/Makefile +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/Makefile ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/Makefile @@ -34,6 +34,7 @@ obj-m = vboxguest/ vboxsf/ vboxvideo/ else # ! KERNELRELEASE @@ -184,10 +184,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/Makefile $(MAKE) KBUILD_VERBOSE=$(KBUILD_VERBOSE) -C vboxvideo install; \ fi -Index: VirtualBox-7.0.6/include/iprt/x86.h +Index: VirtualBox-7.0.8/include/iprt/x86.h =================================================================== ---- VirtualBox-7.0.6.orig/include/iprt/x86.h -+++ VirtualBox-7.0.6/include/iprt/x86.h +--- VirtualBox-7.0.8.orig/include/iprt/x86.h ++++ VirtualBox-7.0.8/include/iprt/x86.h @@ -894,37 +894,59 @@ typedef const X86CPUIDFEATEDX *PCX86CPUI * reserved flags. * @{ */ @@ -793,10 +793,10 @@ Index: VirtualBox-7.0.6/include/iprt/x86.h /** SMM MSRs. */ #define MSR_K7_SMBASE UINT32_C(0xc0010111) -Index: VirtualBox-7.0.6/include/VBox/vmm/hm_vmx.h +Index: VirtualBox-7.0.8/include/VBox/vmm/hm_vmx.h =================================================================== ---- VirtualBox-7.0.6.orig/include/VBox/vmm/hm_vmx.h -+++ VirtualBox-7.0.6/include/VBox/vmm/hm_vmx.h +--- VirtualBox-7.0.8.orig/include/VBox/vmm/hm_vmx.h ++++ VirtualBox-7.0.8/include/VBox/vmm/hm_vmx.h @@ -1633,7 +1633,9 @@ AssertCompileSize(VMXABORT, 4); /** VMCS (and related regions) memory type - Uncacheable. */ #define VMX_BASIC_MEM_TYPE_UC 0 @@ -807,10 +807,10 @@ Index: VirtualBox-7.0.6/include/VBox/vmm/hm_vmx.h /** Width of physical addresses used for VMCS and associated memory regions * (1=32-bit, 0=processor's physical address width). */ #define VMX_BASIC_PHYSADDR_WIDTH_32BIT RT_BIT_64(48) -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.h -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.h ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h @@ -87,6 +87,12 @@ #else # define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0) diff --git a/fixes_for_python.patch b/fixes_for_python.patch index 75d458a..29f6704 100644 --- a/fixes_for_python.patch +++ b/fixes_for_python.patch @@ -6,10 +6,10 @@ to "#!/usr/bin/python3". Larry Finger -Index: VirtualBox-7.0.6/src/VBox/Frontends/VBoxShell/vboxshell.py +Index: VirtualBox-7.0.8/src/VBox/Frontends/VBoxShell/vboxshell.py =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VBoxShell/vboxshell.py -+++ VirtualBox-7.0.6/src/VBox/Frontends/VBoxShell/vboxshell.py +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VBoxShell/vboxshell.py ++++ VirtualBox-7.0.8/src/VBox/Frontends/VBoxShell/vboxshell.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python3 diff --git a/fixes_for_qt5.13.patch b/fixes_for_qt5.13.patch index 6bfe009..f6468b6 100644 --- a/fixes_for_qt5.13.patch +++ b/fixes_for_qt5.13.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/include/VBox/VBoxGL2D.h +Index: VirtualBox-7.0.8/include/VBox/VBoxGL2D.h =================================================================== ---- VirtualBox-7.0.6.orig/include/VBox/VBoxGL2D.h -+++ VirtualBox-7.0.6/include/VBox/VBoxGL2D.h +--- VirtualBox-7.0.8.orig/include/VBox/VBoxGL2D.h ++++ VirtualBox-7.0.8/include/VBox/VBoxGL2D.h @@ -123,7 +123,7 @@ typedef GLvoid (APIENTRY *PFNVBOXVHWA_UN /* GL_ARB_pixel_buffer_object*/ #ifndef Q_WS_MAC @@ -11,10 +11,10 @@ Index: VirtualBox-7.0.6/include/VBox/VBoxGL2D.h #endif #ifndef GL_READ_ONLY -Index: VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h +Index: VirtualBox-7.0.8/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h -+++ VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h +--- VirtualBox-7.0.8.orig/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h ++++ VirtualBox-7.0.8/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext.h @@ -466,7 +466,12 @@ GLAPI void APIENTRY glBlendEquation (GLe #ifndef GL_VERSION_1_5 @@ -28,58 +28,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/include/GL/glext. typedef khronos_intptr_t GLintptr; #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h +Index: VirtualBox-7.0.8/src/VBox/Devices/Graphics/vmsvga_glext/glext.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glcorearb.h -@@ -614,7 +614,11 @@ GLAPI void APIENTRY glBlendEquation (GLe - #ifndef GL_VERSION_1_5 - #define GL_VERSION_1_5 1 - #include -+#if __BITS_PER_LONG != 64 - typedef ptrdiff_t GLsizeiptr; -+#else -+typedef long int GLsizeiptr; -+#endif - typedef ptrdiff_t GLintptr; - #define GL_BUFFER_SIZE 0x8764 - #define GL_BUFFER_USAGE 0x8765 -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-11.0.7/GL/glext.h -@@ -465,7 +465,11 @@ GLAPI void APIENTRY glBlendEquation (GLe - #ifndef GL_VERSION_1_5 - #define GL_VERSION_1_5 1 - #include -+#if __BITS_PER_LONG != 64 - typedef ptrdiff_t GLsizeiptr; -+#else -+typedef long int GLsizeiptr; -+#endif - typedef ptrdiff_t GLintptr; - #define GL_BUFFER_SIZE 0x8764 - #define GL_BUFFER_USAGE 0x8765 -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/x11include/mesa-7.2/GL/glext.h -@@ -3708,7 +3708,11 @@ typedef char GLchar; /* native charact - #ifndef GL_VERSION_1_5 - /* GL types for handling large vertex buffer objects */ - typedef ptrdiff_t GLintptr; -+#if __BITS_PER_LONG != 64 - typedef ptrdiff_t GLsizeiptr; -+#else -+typedef long int GLsizeiptr; -+#endif - #endif - - #ifndef GL_ARB_vertex_buffer_object -Index: VirtualBox-7.0.6/src/VBox/Devices/Graphics/vmsvga_glext/glext.h -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Devices/Graphics/vmsvga_glext/glext.h -+++ VirtualBox-7.0.6/src/VBox/Devices/Graphics/vmsvga_glext/glext.h +--- VirtualBox-7.0.8.orig/src/VBox/Devices/Graphics/vmsvga_glext/glext.h ++++ VirtualBox-7.0.8/src/VBox/Devices/Graphics/vmsvga_glext/glext.h @@ -4680,6 +4680,14 @@ GLAPI void APIENTRY glWeightuivARB (GLin GLAPI void APIENTRY glWeightPointerARB (GLint size, GLenum type, GLsizei stride, const void *pointer); GLAPI void APIENTRY glVertexBlendARB (GLint count); diff --git a/fixes_for_sle12.patch b/fixes_for_sle12.patch index a810ed5..8f07862 100644 --- a/fixes_for_sle12.patch +++ b/fixes_for_sle12.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.c @@ -362,7 +362,9 @@ static struct drm_driver driver = { .master_drop = vbox_master_drop, #if RTLNX_VER_MIN(3,18,0) || RTLNX_RHEL_MAJ_PREREQ(7,2) @@ -12,11 +12,11 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.c # endif #endif -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_main.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c -@@ -622,11 +622,13 @@ int vbox_dumb_destroy(struct drm_file *f +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_main.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_main.c +@@ -626,11 +626,13 @@ int vbox_dumb_destroy(struct drm_file *f #endif #if RTLNX_VER_MAX(4,19,0) && !RTLNX_RHEL_MAJ_PREREQ(7,7) && !RTLNX_RHEL_MAJ_PREREQ(8,1) && !RTLNX_SUSE_MAJ_PREREQ(15,1) && !RTLNX_SUSE_MAJ_PREREQ(12,5) @@ -30,11 +30,11 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_main.c void vbox_gem_free_object(struct drm_gem_object *obj) { -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_ttm.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c -@@ -297,7 +297,7 @@ static struct ttm_backend_func vbox_tt_b +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -302,7 +302,7 @@ static struct ttm_backend_func vbox_tt_b }; #endif @@ -43,16 +43,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c static struct ttm_tt *vbox_ttm_tt_create(struct ttm_bo_device *bdev, unsigned long size, u32 page_flags, -@@ -316,7 +316,7 @@ static struct ttm_tt *vbox_ttm_tt_create - #if RTLNX_VER_MAX(5,10,0) && !RTLNX_RHEL_RANGE(8,5, 8,99) - tt->func = &vbox_tt_backend_func; - #endif --#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) -+#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) && !defined(SUSE_SLE12) - if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { - #elif RTLNX_VER_MAX(5,11,0) && !RTLNX_RHEL_RANGE(8,5, 8,99) - if (ttm_tt_init(tt, bo, page_flags)) { -@@ -333,7 +333,7 @@ static struct ttm_tt *vbox_ttm_tt_create +@@ -339,7 +339,7 @@ static struct ttm_tt *vbox_ttm_tt_create } #if RTLNX_VER_MAX(4,17,0) @@ -61,7 +52,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c static int vbox_ttm_tt_populate(struct ttm_tt *ttm) { return ttm_pool_populate(ttm); -@@ -387,7 +387,7 @@ static struct ttm_bo_driver vbox_bo_driv +@@ -393,7 +393,7 @@ static struct ttm_bo_driver vbox_bo_driv .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) @@ -70,7 +61,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c .io_mem_pfn = ttm_bo_default_io_mem_pfn, # endif #endif -@@ -628,7 +628,7 @@ int vbox_bo_create(struct drm_device *de +@@ -634,7 +634,7 @@ int vbox_bo_create(struct drm_device *de ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size, #endif /* < 6.1.0 */ ttm_bo_type_device, &vboxbo->placement, @@ -79,7 +70,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c align >> PAGE_SHIFT, false, NULL, acc_size, #elif RTLNX_VER_MAX(5,13,0) && !RTLNX_RHEL_RANGE(8,6, 8,99) /* < 5.13.0, < RHEL(8.6, 8.99) */ align >> PAGE_SHIFT, false, acc_size, -@@ -670,7 +670,7 @@ static inline u64 vbox_bo_gpu_offset(str +@@ -676,7 +676,7 @@ static inline u64 vbox_bo_gpu_offset(str int vbox_bo_pin(struct vbox_bo *bo, u32 mem_type, u64 *gpu_addr) { @@ -88,7 +79,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c struct ttm_operation_ctx ctx = { false, false }; #endif int ret; -@@ -693,7 +693,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 +@@ -699,7 +699,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; #endif @@ -97,7 +88,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); #else ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); -@@ -715,7 +715,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 +@@ -721,7 +721,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 int vbox_bo_unpin(struct vbox_bo *bo) { @@ -106,7 +97,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c # if RTLNX_VER_MAX(5,11,0) && !RTLNX_RHEL_MAJ_PREREQ(8,5) struct ttm_operation_ctx ctx = { false, false }; # endif -@@ -738,7 +738,7 @@ int vbox_bo_unpin(struct vbox_bo *bo) +@@ -744,7 +744,7 @@ int vbox_bo_unpin(struct vbox_bo *bo) PLACEMENT_FLAGS(bo->placements[i]) &= ~TTM_PL_FLAG_NO_EVICT; #endif @@ -115,7 +106,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); #elif RTLNX_VER_MAX(5,11,0) && !RTLNX_RHEL_MAJ_PREREQ(8,5) ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); -@@ -761,7 +761,7 @@ int vbox_bo_unpin(struct vbox_bo *bo) +@@ -767,7 +767,7 @@ int vbox_bo_unpin(struct vbox_bo *bo) */ int vbox_bo_push_sysram(struct vbox_bo *bo) { @@ -124,7 +115,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c struct ttm_operation_ctx ctx = { false, false }; # endif int i, ret; -@@ -782,7 +782,7 @@ int vbox_bo_push_sysram(struct vbox_bo * +@@ -788,7 +788,7 @@ int vbox_bo_push_sysram(struct vbox_bo * for (i = 0; i < bo->placement.num_placement; i++) PLACEMENT_FLAGS(bo->placements[i]) |= TTM_PL_FLAG_NO_EVICT; @@ -133,10 +124,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_ttm.c ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false); # else ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx); -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_drv.h -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_drv.h ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_drv.h @@ -87,6 +87,9 @@ #else # define RTLNX_RHEL_MAX(a_iMajor, a_iMinor) (0) @@ -147,11 +138,11 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_drv.h /** @def RTLNX_RHEL_RANGE * Check that it's a RedHat kernel in the given version range. -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_mode.c +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_mode.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/drm/vbox_mode.c -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_mode.c -@@ -552,7 +552,8 @@ static void vbox_set_edid(struct drm_con +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/drm/vbox_mode.c ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/drm/vbox_mode.c +@@ -556,7 +556,8 @@ static void vbox_set_edid(struct drm_con for (i = 0; i < EDID_SIZE - 1; ++i) sum += edid[i]; edid[EDID_SIZE - 1] = (0x100 - (sum & 0xFF)) & 0xFF; @@ -161,7 +152,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/drm/vbox_mode.c drm_connector_update_edid_property(connector, (struct edid *)edid); #else drm_mode_connector_update_edid_property(connector, (struct edid *)edid); -@@ -727,7 +728,7 @@ static int vbox_connector_init(struct dr +@@ -731,7 +732,7 @@ static int vbox_connector_init(struct dr drm_connector_register(connector); #endif diff --git a/gcc5-real-support.patch b/gcc5-real-support.patch index a61dc60..4983bca 100644 --- a/gcc5-real-support.patch +++ b/gcc5-real-support.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/configure +Index: VirtualBox-7.0.8/configure =================================================================== ---- VirtualBox-7.0.6.orig/configure -+++ VirtualBox-7.0.6/configure +--- VirtualBox-7.0.8.orig/configure ++++ VirtualBox-7.0.8/configure @@ -473,8 +473,13 @@ check_gcc() log_failure "cannot execute '$CXX -dumpversion'" fail really diff --git a/handle_gsoap_208103.patch b/handle_gsoap_208103.patch index 49023c0..dd1b77b 100644 --- a/handle_gsoap_208103.patch +++ b/handle_gsoap_208103.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Main/webservice/vboxweb.cpp +Index: VirtualBox-7.0.8/src/VBox/Main/webservice/vboxweb.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/webservice/vboxweb.cpp -+++ VirtualBox-7.0.6/src/VBox/Main/webservice/vboxweb.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Main/webservice/vboxweb.cpp ++++ VirtualBox-7.0.8/src/VBox/Main/webservice/vboxweb.cpp @@ -955,9 +955,9 @@ static void doQueuesLoop() continue; // timeout, not necessary to bother gsoap // r < 0, errno diff --git a/modify_for_4_8_bo_move.patch b/modify_for_4_8_bo_move.patch index 7a0d55a..bbe21b6 100644 --- a/modify_for_4_8_bo_move.patch +++ b/modify_for_4_8_bo_move.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c +Index: VirtualBox-7.0.8/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c -+++ VirtualBox-7.0.6/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c +--- VirtualBox-7.0.8.orig/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c ++++ VirtualBox-7.0.8/src/VBox/Runtime/r0drv/linux/alloc-r0drv-linux.c @@ -45,7 +45,7 @@ #include #include diff --git a/remove_vbox_video_build.patch b/remove_vbox_video_build.patch index 0ab2474..54af899 100644 --- a/remove_vbox_video_build.patch +++ b/remove_vbox_video_build.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/Makefile.kmk +Index: VirtualBox-7.0.8/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/Makefile.kmk -+++ VirtualBox-7.0.6/Makefile.kmk +--- VirtualBox-7.0.8.orig/Makefile.kmk ++++ VirtualBox-7.0.8/Makefile.kmk @@ -824,7 +824,6 @@ VBOX_CORE_DOXYFILE_INPUT_DIRS = \ src/VBox/Additions/x11/vboxmouse \ src/VBox/Additions/x11/vboxmouse/xorg70 \ @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/Makefile.kmk src/VBox/NetworkServices \ src/VBox/NetworkServices/Dhcpd \ src/VBox/NetworkServices/NAT \ -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/vboxvideo/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/Additions/x11/vboxvideo/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Additions/x11/vboxvideo/Makefile.kmk @@ -404,7 +404,8 @@ vboxvideo_drv_118_INCS += $(PATH_ROOT)/s vboxvideo_drv_118_SOURCES := $(vboxvideo_drv_17_SOURCES) vboxvideo_drv_118_LIBS += $(vboxvideo_drv_70_LIBS) @@ -24,10 +24,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/Makefile.kmk # Build using local X.Org headers. We assume X.Org Server 1.7 or later. DLLS := $(filter-out vboxvideo_drv_%,$(DLLS)) vboxvideo_drv_system SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS)) -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Additions/x11/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/Additions/x11/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Additions/x11/Makefile.kmk @@ -32,7 +32,7 @@ include $(KBUILD_PATH)/subheader.kmk if1of ($(KBUILD_TARGET), freebsd linux netbsd openbsd solaris) include $(PATH_SUB_CURRENT)/VBoxClient/Makefile.kmk diff --git a/security_fixes.patch b/security_fixes.patch index fc034e0..2b6d877 100644 --- a/security_fixes.patch +++ b/security_fixes.patch @@ -5,11 +5,11 @@ # # January 31, 2019 - Larry Finger # -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh -@@ -890,9 +890,11 @@ dmnstatus() +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd.sh +@@ -1109,9 +1109,11 @@ dmnstatus() fi } @@ -24,11 +24,11 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh case "$1" in # Does setup without clean-up first and marks all kernels currently found on the # system so that we can see later if any were added. -Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh +Index: VirtualBox-7.0.8/src/VBox/Installer/linux/vboxdrv.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Installer/linux/vboxdrv.sh -+++ VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh -@@ -47,6 +47,9 @@ DEVICE=/dev/vboxdrv +--- VirtualBox-7.0.8.orig/src/VBox/Installer/linux/vboxdrv.sh ++++ VirtualBox-7.0.8/src/VBox/Installer/linux/vboxdrv.sh +@@ -48,6 +48,9 @@ DEVICE=/dev/vboxdrv MODPROBE=/sbin/modprobe SCRIPTNAME=vboxdrv.sh diff --git a/smap.diff b/smap.diff index 6144fdd..2827f9d 100644 --- a/smap.diff +++ b/smap.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c @@ -61,6 +61,12 @@ # include # define VBOX_WITH_SUSPEND_NOTIFICATION diff --git a/turn_off_cloud_net.patch b/turn_off_cloud_net.patch index e4a2b7a..e5a6e67 100644 --- a/turn_off_cloud_net.patch +++ b/turn_off_cloud_net.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/Config.kmk +Index: VirtualBox-7.0.8/Config.kmk =================================================================== ---- VirtualBox-7.0.6.orig/Config.kmk -+++ VirtualBox-7.0.6/Config.kmk +--- VirtualBox-7.0.8.orig/Config.kmk ++++ VirtualBox-7.0.8/Config.kmk @@ -972,11 +972,9 @@ if1of ($(KBUILD_TARGET), freebsd linux) endif # Use new VBoxNetDhcpd instead of old VBoxNetDHCP diff --git a/vbox-default-os-type.diff b/vbox-default-os-type.diff index e241973..fab7c00 100644 --- a/vbox-default-os-type.diff +++ b/vbox-default-os-type.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp +Index: VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp -+++ VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp ++++ VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/settings/editors/UINameAndSystemEditor.cpp @@ -397,15 +397,15 @@ void UINameAndSystemEditor::sltFamilyCha if (iIndexWin10 != -1) m_pComboType->setCurrentIndex(iIndexWin10); diff --git a/vbox-deprec-gsoap-service-proxies.diff b/vbox-deprec-gsoap-service-proxies.diff index eb406d0..288290f 100644 --- a/vbox-deprec-gsoap-service-proxies.diff +++ b/vbox-deprec-gsoap-service-proxies.diff @@ -1,13 +1,13 @@ -Index: VirtualBox-7.0.6/src/VBox/Main/webservice/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/webservice/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Main/webservice/Makefile.kmk -@@ -848,7 +848,7 @@ $(if-expr !defined(VBOX_WITHOUT_NOINLINE - $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) +--- VirtualBox-7.0.8.orig/src/VBox/Main/webservice/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk +@@ -848,7 +848,7 @@ ifdef VBOX_GSOAP_INSTALLED + $(RECOMPILE_ON_MAKEFILE_CURRENT) | $$(dir $$@) $(call MSG_GENERATE,,lots of files,$(GSOAPH_RELEVANT)) $(RM) -f $@ - $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) + $(REDIRECT) -C $(VBOXWEB_OUT_DIR) -- $(VBOX_SOAPCPP2) $(VBOXWEB_SOAPCPP2_SKIP_FILES) -z1 -L -2 -w -I$(VBOX_PATH_GSOAP_IMPORT) $(GSOAPH_RELEVANT) - ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround. + ifeq ($(KBUILD_TARGET),win) # MSC -Wall workaround. $(CP) -f "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" $(SED) -f $(VBOX_PATH_WEBSERVICE)/stdsoap2.sed --output "$(VBOXWEB_SOAP_CLIENT_H)" "$(VBOXWEB_SOAP_CLIENT_H).tmp" diff --git a/vbox-disable-updates.diff b/vbox-disable-updates.diff index 41b2e62..13d6003 100644 --- a/vbox-disable-updates.diff +++ b/vbox-disable-updates.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp +Index: VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp -+++ VirtualBox-7.0.6/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp ++++ VirtualBox-7.0.8/src/VBox/Frontends/VirtualBox/src/settings/UISettingsDialogSpecific.cpp @@ -98,8 +98,6 @@ void UISettingsDialogGlobal::retranslate m_pSelector->setItemText(GlobalSettingsPageType_Input, tr("Input")); diff --git a/vbox-fpie.diff b/vbox-fpie.diff index b5b802d..eba64f3 100644 --- a/vbox-fpie.diff +++ b/vbox-fpie.diff @@ -1,25 +1,25 @@ -Index: VirtualBox-7.0.6/Config.kmk +Index: VirtualBox-7.0.8/Config.kmk =================================================================== ---- VirtualBox-7.0.6.orig/Config.kmk -+++ VirtualBox-7.0.6/Config.kmk -@@ -6770,6 +6770,9 @@ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.darwi +--- VirtualBox-7.0.8.orig/Config.kmk ++++ VirtualBox-7.0.8/Config.kmk +@@ -6749,6 +6749,9 @@ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.darwi ifeq ($(KBUILD_TARGET),linux) - # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp - # TEMPLATE_VBOXR3HARDENEDEXE_LIBS += cap + # not necessary except USE_LIB_PCAP is defined in SUPR3HardenedMain.cpp + # TEMPLATE_VBoxR3HardenedExe_LIBS += cap + TEMPLATE_VBOXR3HARDENEDEXE_CXXFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CXXFLAGS.linux) -fPIE + TEMPLATE_VBOXR3HARDENEDEXE_CFLAGS.linux = $(TEMPLATE_VBOXR3EXE_CFLAGS.linux) -fPIE + TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(TEMPLATE_VBOXR3EXE_LDFLAGS.linux) -pie endif ifeq ($(KBUILD_TARGET),win) # No CRT! - TEMPLATE_VBOXR3HARDENEDEXE_SDKS = VBOX_NTDLL $(TEMPLATE_VBOXR3EXE_SDKS) -@@ -6802,8 +6805,8 @@ ifeq ($(KBUILD_TARGET),win) # No CRT! - TEMPLATE_VBOXR3HARDENEDEXE_VBOX_IMPORT_CHECKER.win = noimports + TEMPLATE_VBoxR3HardenedExe_SDKS = VBoxNtDll $(TEMPLATE_VBoxR3Exe_SDKS) +@@ -6781,8 +6784,8 @@ ifeq ($(KBUILD_TARGET),win) # No CRT! + TEMPLATE_VBoxR3HardenedExe_VBOX_IMPORT_CHECKER.win = noimports else ifn1of ($(KBUILD_TARGET), os2) ifneq ($(KBUILD_TYPE),asan) # Keep RPATH in asan builds so we can find libasan.so.X and libubsan.so.Y. -- TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS)) -- TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) -+ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBOXR3EXE_LDFLAGS)) -pie -+ TEMPLATE_VBOXR3HARDENEDEXE_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBOXR3EXE_LDFLAGS.linux)) -pie +- TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS)) +- TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux)) ++ TEMPLATE_VBoxR3HardenedExe_LDFLAGS = $(filter-out '$(VBOX_GCC_RPATH_OPT)%,$(TEMPLATE_VBoxR3Exe_LDFLAGS)) -pie ++ TEMPLATE_VBoxR3HardenedExe_LDFLAGS.linux = $(filter-out $(VBOX_GCC_ORIGIN_OPT),$(TEMPLATE_VBoxR3Exe_LDFLAGS.linux)) -pie endif endif diff --git a/vbox-gsoapssl-deps.diff b/vbox-gsoapssl-deps.diff index a862b64..aa03434 100644 --- a/vbox-gsoapssl-deps.diff +++ b/vbox-gsoapssl-deps.diff @@ -1,20 +1,40 @@ -Index: VirtualBox-7.0.6/src/VBox/Main/webservice/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/webservice/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Main/webservice/Makefile.kmk -@@ -410,6 +410,7 @@ ifdef VBOX_GSOAP_INSTALLED - vboxwebsrv_LIBS += \ - $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ - $(VBOX_GSOAP_CXX_LIBS) \ +--- VirtualBox-7.0.8.orig/src/VBox/Main/webservice/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Main/webservice/Makefile.kmk +@@ -412,11 +412,12 @@ ifdef VBOX_GSOAP_INSTALLED + endif + endif + vboxwebsrv_LIBS += \ +- $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ +- $(VBOX_GSOAP_CXX_LIBS) \ +- $(LIB_RUNTIME) +- vboxwebsrv_LIBS.solaris += socket nsl +- ifdef VBOX_WITH_WEBSERVICES_SSL ++ $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ ++ $(VBOX_GSOAP_CXX_LIBS) \ + ssl crypto z \ - $(LIB_RUNTIME) - vboxwebsrv_LIBS.solaris += socket nsl - ifdef VBOX_WITH_WEBSERVICES_SSL -@@ -586,6 +587,7 @@ $$(VBOX_JWSSRC_JAR): $$(VBOX_JWS_JAR) | - webtest_LIBS += \ - $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ - $(VBOX_GSOAP_CXX_LIBS) \ ++ $(LIB_RUNTIME) ++ vboxwebsrv_LIBS.solaris += socket nsl ++ ifdef VBOX_WITH_WEBSERVICES_SSL + vboxwebsrv_DEFS += WITH_OPENSSL + vboxwebsrv_SDKS += VBoxOpenSsl + endif +@@ -588,11 +589,12 @@ ifdef VBOX_GSOAP_INSTALLED + $(VBOXWEB_OUT_DIR) \ + . + webtest_LIBS += \ +- $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ +- $(VBOX_GSOAP_CXX_LIBS) \ +- $(LIB_RUNTIME) +- webtest_LIBS.solaris += nsl +- ifdef VBOX_WITH_WEBSERVICES_SSL ++ $(PATH_STAGE_LIB)/vboxsoap$(VBOX_SUFF_LIB) \ ++ $(VBOX_GSOAP_CXX_LIBS) \ + ssl crypto z \ - $(LIB_RUNTIME) - webtest_LIBS.solaris += nsl - ifdef VBOX_WITH_WEBSERVICES_SSL ++ $(LIB_RUNTIME) ++ webtest_LIBS.solaris += nsl ++ ifdef VBOX_WITH_WEBSERVICES_SSL + webtest_DEFS += WITH_OPENSSL + webtest_SDKS += VBoxOpenSsl + endif diff --git a/vbox-no-build-dates.diff b/vbox-no-build-dates.diff index 153beb6..332bf21 100644 --- a/vbox-no-build-dates.diff +++ b/vbox-no-build-dates.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Frontends/VBoxFB/VBoxFB.cpp +Index: VirtualBox-7.0.8/src/VBox/Frontends/VBoxFB/VBoxFB.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VBoxFB/VBoxFB.cpp -+++ VirtualBox-7.0.6/src/VBox/Frontends/VBoxFB/VBoxFB.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Frontends/VBoxFB/VBoxFB.cpp ++++ VirtualBox-7.0.8/src/VBox/Frontends/VBoxFB/VBoxFB.cpp @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) printf("VirtualBox DirectFB GUI built %s %s\n" @@ -9,13 +9,13 @@ Index: VirtualBox-7.0.6/src/VBox/Frontends/VBoxFB/VBoxFB.cpp - "Copyright (C) 2004-2005 secunet Security Networks AG\n", __DATE__, __TIME__); + "Copyright (C) 2004-2005 secunet Security Networks AG\n"); - for (;;) - { -Index: VirtualBox-7.0.6/src/VBox/Runtime/common/string/uniread.cpp + fputs("\nWARNING! Unmaintained code.\nWARNING! Needs fixing & debugging!\n\n", stdout); + +Index: VirtualBox-7.0.8/src/VBox/Runtime/common/string/uniread.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Runtime/common/string/uniread.cpp -+++ VirtualBox-7.0.6/src/VBox/Runtime/common/string/uniread.cpp -@@ -1046,7 +1046,7 @@ int PrintHeader(const char *argv0, const +--- VirtualBox-7.0.8.orig/src/VBox/Runtime/common/string/uniread.cpp ++++ VirtualBox-7.0.8/src/VBox/Runtime/common/string/uniread.cpp +@@ -1049,7 +1049,7 @@ int PrintHeader(const char *argv0, const " * IPRT - Unicode Tables.\n" " *\n" " * Automatically Generated from %s\n" @@ -24,10 +24,10 @@ Index: VirtualBox-7.0.6/src/VBox/Runtime/common/string/uniread.cpp " */\n" "\n" "/*\n" -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c @@ -42,16 +42,13 @@ /**************************IDENTITY AND VERSIONING***********************/ /************************************************************************/ @@ -50,10 +50,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/libc/src/plvrsion.c #if !defined(_PRODUCTION) #define _PRODUCTION "" #endif -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c @@ -44,16 +44,10 @@ #ifndef XP_MAC #include "_pr_bld.h" @@ -73,10 +73,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/src/prvrsion.c #if !defined(_PRODUCTION) #define _PRODUCTION "" #endif -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c @@ -42,16 +42,13 @@ /**************************IDENTITY AND VERSIONING***********************/ /************************************************************************/ @@ -99,10 +99,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/prstreams/plvrsion.c #if !defined(_PRODUCTION) #define _PRODUCTION "" #endif -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c @@ -42,16 +42,13 @@ /**************************IDENTITY AND VERSIONING***********************/ /************************************************************************/ @@ -125,10 +125,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/lib/ds/plvrsion.c #if !defined(_PRODUCTION) #define _PRODUCTION "" #endif -Index: VirtualBox-7.0.6/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp +Index: VirtualBox-7.0.8/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp -+++ VirtualBox-7.0.6/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp ++++ VirtualBox-7.0.8/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.cpp @@ -327,7 +327,7 @@ static int vboxInitLogging(const char *p #endif "Log opened %s\n", @@ -138,10 +138,10 @@ Index: VirtualBox-7.0.6/src/VBox/Main/src-helper-apps/OpenGLTest/OpenGLTestApp.c vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp)); if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW) -Index: VirtualBox-7.0.6/src/VBox/Devices/PC/BIOS/bios.c +Index: VirtualBox-7.0.8/src/VBox/Devices/PC/BIOS/bios.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Devices/PC/BIOS/bios.c -+++ VirtualBox-7.0.6/src/VBox/Devices/PC/BIOS/bios.c +--- VirtualBox-7.0.8.orig/src/VBox/Devices/PC/BIOS/bios.c ++++ VirtualBox-7.0.8/src/VBox/Devices/PC/BIOS/bios.c @@ -164,7 +164,7 @@ void set_mode(uint8_t mode); #define BX_PCIBIOS 1 @@ -151,10 +151,10 @@ Index: VirtualBox-7.0.6/src/VBox/Devices/PC/BIOS/bios.c //-------------------------------------------------------------------------- // print_bios_banner // displays a the bios version -Index: VirtualBox-7.0.6/src/VBox/Additions/common/VBoxService/VBoxService.cpp +Index: VirtualBox-7.0.8/src/VBox/Additions/common/VBoxService/VBoxService.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/common/VBoxService/VBoxService.cpp -+++ VirtualBox-7.0.6/src/VBox/Additions/common/VBoxService/VBoxService.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Additions/common/VBoxService/VBoxService.cpp ++++ VirtualBox-7.0.8/src/VBox/Additions/common/VBoxService/VBoxService.cpp @@ -255,7 +255,7 @@ static DECLCALLBACK(void) vgsvcLogHeader "VBoxService %s r%s (verbosity: %u) %s (%s %s) release log\n" "Log opened %s\n", @@ -164,10 +164,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/common/VBoxService/VBoxService.cpp int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp)); if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW) -Index: VirtualBox-7.0.6/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk @@ -193,7 +193,7 @@ $(VBOX_PATH_PACKAGES)/$(VBOX_BUSMOUSE_MA $(VBoxBusMouseIns_0_OUTDIR)/Stage/ExtPack.manifest \ $(VBoxBusMouseIns_0_OUTDIR)/Stage/ExtPack.signature @@ -177,10 +177,10 @@ Index: VirtualBox-7.0.6/src/VBox/ExtPacks/BusMouseSample/Makefile.kmk # Clean up $(RM) -Rf $(VBoxBusMouseIns_0_OUTDIR)/Stage/ -Index: VirtualBox-7.0.6/src/VBox/ExtPacks/Skeleton/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/ExtPacks/Skeleton/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ExtPacks/Skeleton/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/ExtPacks/Skeleton/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/ExtPacks/Skeleton/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/ExtPacks/Skeleton/Makefile.kmk @@ -161,7 +161,7 @@ $(VBOX_PATH_PACKAGES)/$(VBOX_SKELETON_MA $(VBoxSkeletonIns_0_OUTDIR)/Stage/ExtPack.manifest \ $(VBoxSkeletonIns_0_OUTDIR)/Stage/ExtPack.signature @@ -190,10 +190,10 @@ Index: VirtualBox-7.0.6/src/VBox/ExtPacks/Skeleton/Makefile.kmk # Clean up $(RM) -Rf $(VBoxSkeletonIns_0_OUTDIR)/Stage/ -Index: VirtualBox-7.0.6/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk @@ -354,7 +354,7 @@ if defined(VBOX_WITH_EXTPACK_VBOXDTRACE) $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.manifest \ $(VBoxDTraceIns_0_OUTDIR)/Stage/ExtPack.signature @@ -203,10 +203,10 @@ Index: VirtualBox-7.0.6/src/VBox/ExtPacks/VBoxDTrace/Makefile.kmk # Clean up $(RM) -Rf $(VBoxDTraceIns_0_OUTDIR)/Stage/ -Index: VirtualBox-7.0.6/src/VBox/ExtPacks/VNC/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/ExtPacks/VNC/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ExtPacks/VNC/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/ExtPacks/VNC/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/ExtPacks/VNC/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/ExtPacks/VNC/Makefile.kmk @@ -164,7 +164,7 @@ $(VBOX_PATH_PACKAGES)/$(VBOX_VNC_MANGLED $(VBoxVNCIns_0_OUTDIR)/Stage/ExtPack.manifest \ $(VBoxVNCIns_0_OUTDIR)/Stage/ExtPack.signature @@ -216,10 +216,10 @@ Index: VirtualBox-7.0.6/src/VBox/ExtPacks/VNC/Makefile.kmk # Clean up $(RM) -Rf $(VBoxVNCIns_0_OUTDIR)/Stage/ -Index: VirtualBox-7.0.6/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp +Index: VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp -+++ VirtualBox-7.0.6/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp ++++ VirtualBox-7.0.8/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp @@ -329,7 +329,7 @@ NTSTATUS DriverEntry(PDRIVER_OBJECT pDrv } VGDrvCommonInitLoggers(); @@ -229,10 +229,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/common/VBoxGuest/VBoxGuest-win.cpp /* * Check if the NT version is supported and initialize g_enmVGDrvNtVer. -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cpp @@ -882,7 +882,7 @@ static DECLCALLBACK(void) vboxGreeterLog "vbox-greeter %s r%s (verbosity: %d) %s (%s %s) release log\n" "Log opened %s\n", @@ -242,10 +242,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/lightdm-greeter/vbox-greeter.cp int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp)); if (RT_SUCCESS(vrc) || vrc == VERR_BUFFER_OVERFLOW) -Index: VirtualBox-7.0.6/src/VBox/Additions/solaris/Mouse/vboxms.c +Index: VirtualBox-7.0.8/src/VBox/Additions/solaris/Mouse/vboxms.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/solaris/Mouse/vboxms.c -+++ VirtualBox-7.0.6/src/VBox/Additions/solaris/Mouse/vboxms.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/solaris/Mouse/vboxms.c ++++ VirtualBox-7.0.8/src/VBox/Additions/solaris/Mouse/vboxms.c @@ -266,7 +266,7 @@ static VBMSSTATE g_OpenNodeSt int _init(void) { @@ -255,10 +255,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/solaris/Mouse/vboxms.c mutex_init(&g_OpenNodeState.InitMtx, NULL, MUTEX_DRIVER, NULL); /* * Prevent module autounloading. -Index: VirtualBox-7.0.6/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c +Index: VirtualBox-7.0.8/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c -+++ VirtualBox-7.0.6/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c +--- VirtualBox-7.0.8.orig/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c ++++ VirtualBox-7.0.8/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo/VolInfo.c @@ -251,10 +251,10 @@ Returns: UTILITY_NAME, UTILITY_MAJOR_VERSION, @@ -272,10 +272,10 @@ Index: VirtualBox-7.0.6/src/VBox/Devices/EFI/Firmware/BaseTools/Source/C/VolInfo Usage (); return -1; } -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp @@ -128,7 +128,7 @@ static NTSTATUS vboxUsbDdiAddDevice(PDRI static VOID vboxUsbDdiUnload(PDRIVER_OBJECT pDriverObject) { @@ -294,10 +294,10 @@ Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbDev.cpp NTSTATUS Status = vboxUsbRtGlobalsInit(); Assert(Status == STATUS_SUCCESS); -Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp +Index: VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp -+++ VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp +--- VirtualBox-7.0.8.orig/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp ++++ VirtualBox-7.0.8/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp @@ -1518,7 +1518,7 @@ NTSTATUS _stdcall DriverEntry(PDRIVER_OB RTLogDestinations(0, "debugger"); #endif @@ -307,10 +307,10 @@ Index: VirtualBox-7.0.6/src/VBox/HostDrivers/VBoxUSB/win/mon/VBoxUsbMon.cpp memset (&g_VBoxUsbMonGlobals, 0, sizeof (g_VBoxUsbMonGlobals)); -Index: VirtualBox-7.0.6/src/VBox/Main/glue/VBoxLogRelCreate.cpp +Index: VirtualBox-7.0.8/src/VBox/Main/glue/VBoxLogRelCreate.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/glue/VBoxLogRelCreate.cpp -+++ VirtualBox-7.0.6/src/VBox/Main/glue/VBoxLogRelCreate.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Main/glue/VBoxLogRelCreate.cpp ++++ VirtualBox-7.0.8/src/VBox/Main/glue/VBoxLogRelCreate.cpp @@ -71,7 +71,7 @@ static DECLCALLBACK(void) vboxHeaderFoot #endif "Log opened %s\n", @@ -320,10 +320,10 @@ Index: VirtualBox-7.0.6/src/VBox/Main/glue/VBoxLogRelCreate.cpp pfnLog(pReleaseLogger, "Build Type: %s\n", KBUILD_TYPE); int vrc = RTSystemQueryOSInfo(RTSYSOSINFO_PRODUCT, szTmp, sizeof(szTmp)); -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c @@ -141,7 +141,7 @@ int main(int argc, char **argv) { PRIntn tab = 0; @@ -333,10 +333,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/nsprpub/pr/tests/depend.c printf("Depend.c build time is %s %s\n", buildDate, buildTime); -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/profile_main.cpp @@ -458,7 +458,7 @@ int main() { @@ -346,10 +346,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/prof #ifdef TEST_STD_STRING cout << "Testing std::string." << endl; #else -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test_main.cpp @@ -425,7 +425,7 @@ int main() { @@ -359,10 +359,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/StringFactoringTests/test #if 0 { -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp @@ -102,7 +102,7 @@ class test_message public: test_message() @@ -372,10 +372,10 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/xpcom/tests/TestCOMPtr.cpp } ~test_message() -Index: VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c +Index: VirtualBox-7.0.8/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c -+++ VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c +--- VirtualBox-7.0.8.orig/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c ++++ VirtualBox-7.0.8/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id.c @@ -30,9 +30,8 @@ #include "build_id.h" #include "macros.h" @@ -387,10 +387,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/3D/mesa/mesa-21.3.8/src/util/build_id #ifndef ElfW #define ElfW(type) Elf_##type -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/VBoxClient/logging.cpp +Index: VirtualBox-7.0.8/src/VBox/Additions/x11/VBoxClient/logging.cpp =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/VBoxClient/logging.cpp -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/VBoxClient/logging.cpp +--- VirtualBox-7.0.8.orig/src/VBox/Additions/x11/VBoxClient/logging.cpp ++++ VirtualBox-7.0.8/src/VBox/Additions/x11/VBoxClient/logging.cpp @@ -328,10 +328,10 @@ static DECLCALLBACK(void) vbClLogHeaderF case RTLOGPHASE_BEGIN: { diff --git a/vbox-permissions_warning.diff b/vbox-permissions_warning.diff index 04bcedc..2fb0693 100644 --- a/vbox-permissions_warning.diff +++ b/vbox-permissions_warning.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/apps/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/apps/Makefile.kmk -+++ VirtualBox-7.0.6/src/apps/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/apps/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/Makefile.kmk @@ -28,5 +28,7 @@ SUB_DEPTH = ../.. include $(KBUILD_PATH)/subheader.kmk @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/src/apps/Makefile.kmk + include $(FILE_KBUILD_SUB_FOOTER) -Index: VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/VBoxPermissionMessage/Makefile.kmk =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/VBoxPermissionMessage/Makefile.kmk @@ -0,0 +1,32 @@ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +## @file @@ -38,7 +38,7 @@ Index: VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/Makefile.kmk + +PROGRAMS += VBoxPermissionMessage + -+VBoxPermissionMessage_TEMPLATE = VBOXQTGUIEXE ++VBoxPermissionMessage_TEMPLATE = VBoxQtGuiExe +VBoxPermissionMessage_SOURCES = VBoxPermissionMessage.cpp +VBoxPermissionMessage_QT_MODULES = Core Gui +VBoxPermissionMessage_QT_MODULES += Widgets @@ -47,10 +47,10 @@ Index: VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/Makefile.kmk + +include $(KBUILD_PATH)/subfooter.kmk + -Index: VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp +Index: VirtualBox-7.0.8/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp ++++ VirtualBox-7.0.8/src/apps/VBoxPermissionMessage/VBoxPermissionMessage.cpp @@ -0,0 +1,12 @@ +#include +#include diff --git a/vbox-python-py310.patch b/vbox-python-py310.patch index f336270..ef467ba 100644 --- a/vbox-python-py310.patch +++ b/vbox-python-py310.patch @@ -1,13 +1,15 @@ # https://www.virtualbox.org/changeset/90537/vbox -Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/Makefile.kmk +Index: VirtualBox-7.0.8/src/libs/xpcom18a4/python/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/libs/xpcom18a4/python/Makefile.kmk -+++ VirtualBox-7.0.6/src/libs/xpcom18a4/python/Makefile.kmk -@@ -703,6 +703,52 @@ VBoxPython3_10m_x86_LIBS = $(VBOX_ - endif - endif - +--- VirtualBox-7.0.8.orig/src/libs/xpcom18a4/python/Makefile.kmk ++++ VirtualBox-7.0.8/src/libs/xpcom18a4/python/Makefile.kmk +@@ -663,11 +663,57 @@ ifndef VBOX_ONLY_SDK + VBoxPython3_10m_x86_LIBS = $(VBOX_PYTHON310M_LIB_X86) + endif + endif ++endif ++ +ifdef VBOX_PYTHON310_INC +# +# Python 3.10 version @@ -27,10 +29,13 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/Makefile.kmk +VBoxPython3_10_x86_TEMPLATE = XPCOM +VBoxPython3_10_x86_INCS = $(VBOX_PYTHON310_INC) +VBoxPython3_10_x86_LIBS = $(VBOX_PYTHON310_LIB_X86) -+ endif + endif + endif +endif -+ + +- ifdef VBOX_PYTHONDEF_INC +- # +- # Python without versioning +ifdef VBOX_PYTHON310M_INC +# +# Python 3.10 version with pymalloc @@ -54,6 +59,9 @@ Index: VirtualBox-7.0.6/src/libs/xpcom18a4/python/Makefile.kmk + endif +endif + - ifdef VBOX_PYTHONDEF_INC - # - # Python without versioning ++ifdef VBOX_PYTHONDEF_INC ++# ++# Python without versioning + # + DLLS += VBoxPython + VBoxPython_EXTENDS = VBoxPythonBase diff --git a/vbox-suid-warning.diff b/vbox-suid-warning.diff index 1df61b2..a1b9d4f 100644 --- a/vbox-suid-warning.diff +++ b/vbox-suid-warning.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/apps/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/apps/Makefile.kmk -+++ VirtualBox-7.0.6/src/apps/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/apps/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/Makefile.kmk @@ -32,5 +32,7 @@ include $(PATH_SUB_CURRENT)/VBoxPermissi include $(PATH_SUB_CURRENT)/VBoxUSB_DevRules/Makefile.kmk @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/src/apps/Makefile.kmk + include $(FILE_KBUILD_SUB_FOOTER) -Index: VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/VBoxSUIDMessage/Makefile.kmk =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/VBoxSUIDMessage/Makefile.kmk @@ -0,0 +1,33 @@ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +## @file @@ -38,7 +38,7 @@ Index: VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/Makefile.kmk + +PROGRAMS += VBoxSUIDMessage + -+VBoxSUIDMessage_TEMPLATE = VBOXQTGUIEXE ++VBoxSUIDMessage_TEMPLATE = VBoxQtGuiExe +VBoxSUIDMessage_SOURCES = VBoxSUIDMessage.cpp +VBoxSUIDMessage_QT_MODULES = Core Gui +VBoxSUIDMessage_QT_MODULES += Widgets @@ -48,10 +48,10 @@ Index: VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/Makefile.kmk +include $(KBUILD_PATH)/subfooter.kmk + + -Index: VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp +Index: VirtualBox-7.0.8/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp ++++ VirtualBox-7.0.8/src/apps/VBoxSUIDMessage/VBoxSUIDMessage.cpp @@ -0,0 +1,15 @@ +#include +#include diff --git a/vbox-usb-warning.diff b/vbox-usb-warning.diff index a1b3c8b..117087f 100644 --- a/vbox-usb-warning.diff +++ b/vbox-usb-warning.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/apps/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/apps/Makefile.kmk -+++ VirtualBox-7.0.6/src/apps/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/apps/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/Makefile.kmk @@ -30,5 +30,7 @@ include $(KBUILD_PATH)/subheader.kmk include $(PATH_SUB_CURRENT)/VBoxPermissionMessage/Makefile.kmk @@ -10,10 +10,10 @@ Index: VirtualBox-7.0.6/src/apps/Makefile.kmk + include $(FILE_KBUILD_SUB_FOOTER) -Index: VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/Makefile.kmk +Index: VirtualBox-7.0.8/src/apps/VBoxUSB_DevRules/Makefile.kmk =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/Makefile.kmk ++++ VirtualBox-7.0.8/src/apps/VBoxUSB_DevRules/Makefile.kmk @@ -0,0 +1,30 @@ +# $Id: Makefile.kmk 28800 2010-04-27 08:22:32Z vboxsync $ +## @file @@ -35,7 +35,7 @@ Index: VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/Makefile.kmk + +PROGRAMS += VBoxUSB_DevRules + -+VBoxUSB_DevRules_TEMPLATE = VBOXQTGUIEXE ++VBoxUSB_DevRules_TEMPLATE = VBoxQtGuiExe +VBoxUSB_DevRules_SOURCES = VBoxUSB_DevRules.cpp +VBoxUSB_DevRules_QT_MODULES = Core Gui +VBoxUSB_DevRules_QT_MODULES += Widgets @@ -45,10 +45,10 @@ Index: VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/Makefile.kmk +include $(KBUILD_PATH)/subfooter.kmk + + -Index: VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp +Index: VirtualBox-7.0.8/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp =================================================================== --- /dev/null -+++ VirtualBox-7.0.6/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp ++++ VirtualBox-7.0.8/src/apps/VBoxUSB_DevRules/VBoxUSB_DevRules.cpp @@ -0,0 +1,25 @@ +#include +#include diff --git a/vbox-vboxadd-init-script.diff b/vbox-vboxadd-init-script.diff index 860b7a5..5347eec 100644 --- a/vbox-vboxadd-init-script.diff +++ b/vbox-vboxadd-init-script.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/installer/vboxadd.sh -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/installer/vboxadd.sh ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd.sh @@ -36,11 +36,14 @@ # Provides: vboxadd # Required-Start: @@ -18,28 +18,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh ### END INIT INFO ## @todo This file duplicates a lot of script with vboxdrv.sh. When making -@@ -145,20 +148,11 @@ module_build_log() - - dev=/dev/vboxguest - userdev=/dev/vboxuser --config=/var/lib/VBoxGuestAdditions/config - owner=vboxadd - group=1 - --if test -r $config; then -- . $config --else -- fail "Configuration file $config not found" --fi --test -n "$INSTALL_DIR" -a -n "$INSTALL_VER" || -- fail "Configuration file $config not complete" - MODULE_SRC="$INSTALL_DIR/src/vboxguest-$INSTALL_VER" - BUILDINTMP="$MODULE_SRC/build_in_tmp" -- - # Attempt to detect VirtualBox Guest Additions version and revision information. - VBOXCLIENT="${INSTALL_DIR}/bin/VBoxClient" - VBOX_VERSION="`"$VBOXCLIENT" --version | cut -d r -f1`" -@@ -208,12 +202,6 @@ do_vboxguest_non_udev() +@@ -261,12 +264,6 @@ do_vboxguest_non_udev() fail "Cannot create device $dev with major $maj and minor $min" } fi @@ -52,7 +31,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh if [ ! -c $userdev ]; then maj=10 -@@ -224,12 +212,6 @@ do_vboxguest_non_udev() +@@ -277,12 +274,6 @@ do_vboxguest_non_udev() rmmod vboxguest 2>/dev/null fail "Cannot create device $userdev with major $maj and minor $min" } @@ -65,7 +44,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh fi fi } -@@ -293,7 +275,7 @@ cleanup_modules() +@@ -346,7 +337,7 @@ cleanup_modules() done if test -z "${keep}"; then rm -rf /lib/modules/"${KERN_VER}" @@ -74,7 +53,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh fi done for i in ${OLDMODULES}; do -@@ -564,9 +546,9 @@ create_udev_rule() +@@ -612,9 +603,9 @@ create_udev_rule() udevcontrol reload_rules >/dev/null 2>&1 || true fi } @@ -87,7 +66,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh # And a post-installation script for rebuilding modules when a new kernel # is installed. mkdir -p /etc/kernel/postinst.d /etc/kernel/prerm.d -@@ -747,18 +729,17 @@ setup() +@@ -804,18 +795,17 @@ setup() already available for kernel $TARGET_VER and do not require to be rebuilt." else info "Building the VirtualBox Guest Additions kernel modules. This may take a while." @@ -115,7 +94,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh fi fi create_vbox_user -@@ -775,17 +756,14 @@ Please install them and execute +@@ -833,17 +823,14 @@ Please install them and execute # Put the X.Org driver in place. This is harmless if it is not needed. # Also set up the OpenGL library. myerr=`"${INSTALL_DIR}/init/vboxadd-x11" setup 2>&1` @@ -136,7 +115,7 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh depmod # Remove old module sources -@@ -795,12 +773,13 @@ cleanup() +@@ -853,12 +840,13 @@ cleanup() fi # Clean-up X11-related bits @@ -154,19 +133,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd.sh fi rm -f /sbin/mount.vboxsf 2>/dev/null rm -f /etc/udev/rules.d/60-vboxadd.rules 2>/dev/null -@@ -839,7 +818,7 @@ for your Linux distribution." - rm -f $userdev || { - fail "Cannot remove $userdev" - } -- $MODPROBE vboxguest >/dev/null 2>&1 || -+ $MODPROBE vboxguest >/dev/null 2>&1 || { - fail "modprobe vboxguest failed" - case "$no_udev" in 1) - sleep .5;; -Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh +Index: VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd-service.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh -+++ VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh +--- VirtualBox-7.0.8.orig/src/VBox/Additions/linux/installer/vboxadd-service.sh ++++ VirtualBox-7.0.8/src/VBox/Additions/linux/installer/vboxadd-service.sh @@ -36,7 +36,7 @@ # Provides: vboxadd-service # Required-Start: vboxadd @@ -176,10 +146,10 @@ Index: VirtualBox-7.0.6/src/VBox/Additions/linux/installer/vboxadd-service.sh # Default-Stop: 0 1 6 # X-Conflicts-With: systemd-timesyncd.service # Description: VirtualBox Additions Service -Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxautostart-service.sh +Index: VirtualBox-7.0.8/src/VBox/Installer/linux/vboxautostart-service.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Installer/linux/vboxautostart-service.sh -+++ VirtualBox-7.0.6/src/VBox/Installer/linux/vboxautostart-service.sh +--- VirtualBox-7.0.8.orig/src/VBox/Installer/linux/vboxautostart-service.sh ++++ VirtualBox-7.0.8/src/VBox/Installer/linux/vboxautostart-service.sh @@ -33,7 +33,7 @@ # Provides: vboxautostart-service # Required-Start: vboxdrv @@ -189,10 +159,10 @@ Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxautostart-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox autostart service ### END INIT INFO -Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh +Index: VirtualBox-7.0.8/src/VBox/Installer/linux/vboxballoonctrl-service.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh -+++ VirtualBox-7.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh +--- VirtualBox-7.0.8.orig/src/VBox/Installer/linux/vboxballoonctrl-service.sh ++++ VirtualBox-7.0.8/src/VBox/Installer/linux/vboxballoonctrl-service.sh @@ -33,7 +33,7 @@ # Provides: vboxballoonctrl-service # Required-Start: vboxdrv @@ -202,10 +172,10 @@ Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxballoonctrl-service.sh # Default-Stop: 0 1 6 # Description: VirtualBox watchdog daemon ### END INIT INFO -Index: VirtualBox-7.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +Index: VirtualBox-7.0.8/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh -+++ VirtualBox-7.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh +--- VirtualBox-7.0.8.orig/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh ++++ VirtualBox-7.0.8/src/VBox/ValidationKit/testboxscript/linux/testboxscript-service.sh @@ -41,7 +41,7 @@ # Provides: testboxscript-service # Required-Start: $network @@ -215,10 +185,10 @@ Index: VirtualBox-7.0.6/src/VBox/ValidationKit/testboxscript/linux/testboxscript # Default-Stop: 0 1 6 # Description: TestBoxScript service ### END INIT INFO -Index: VirtualBox-7.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +Index: VirtualBox-7.0.8/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh -+++ VirtualBox-7.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh +--- VirtualBox-7.0.8.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh ++++ VirtualBox-7.0.8/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs-nat.sh @@ -41,7 +41,7 @@ # Provides: vboxtxs # Required-Start: $network @@ -228,10 +198,10 @@ Index: VirtualBox-7.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs- # Default-Stop: 0 1 6 # Description: VirtualBox Test Execution Service ### END INIT INFO -Index: VirtualBox-7.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +Index: VirtualBox-7.0.8/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh -+++ VirtualBox-7.0.6/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh +--- VirtualBox-7.0.8.orig/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh ++++ VirtualBox-7.0.8/src/VBox/ValidationKit/utils/TestExecServ/linux/vboxtxs.sh @@ -41,7 +41,7 @@ # Provides: vboxtxs # Required-Start: $network diff --git a/vbox-vboxdrv-init-script.diff b/vbox-vboxdrv-init-script.diff index afdd10b..8998897 100644 --- a/vbox-vboxdrv-init-script.diff +++ b/vbox-vboxdrv-init-script.diff @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh +Index: VirtualBox-7.0.8/src/VBox/Installer/linux/vboxdrv.sh =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Installer/linux/vboxdrv.sh -+++ VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh +--- VirtualBox-7.0.8.orig/src/VBox/Installer/linux/vboxdrv.sh ++++ VirtualBox-7.0.8/src/VBox/Installer/linux/vboxdrv.sh @@ -29,11 +29,12 @@ # ### BEGIN INIT INFO @@ -19,7 +19,7 @@ Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh ### END INIT INFO ## @todo This file duplicates a lot of script with vboxadd.sh. When making -@@ -526,13 +527,6 @@ See the documentation for your Linux dis +@@ -535,13 +536,6 @@ See the documentation for your Linux dis fi fi # ensure permissions @@ -33,7 +33,7 @@ Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh if ! $MODPROBE vboxnetflt > /dev/null 2>&1; then failure "modprobe vboxnetflt failed. Please use 'dmesg' to find out why" fi -@@ -690,31 +684,7 @@ setup() +@@ -699,31 +693,7 @@ setup() log "Error building the module:" module_build_log "$myerr" failure "Look at $LOG to find out what went wrong" @@ -66,17 +66,17 @@ Index: VirtualBox-7.0.6/src/VBox/Installer/linux/vboxdrv.sh # Secure boot on Ubuntu, Debian and Oracle Linux. if test -n "$HAVE_SEC_BOOT"; then -Index: VirtualBox-7.0.6/Config.kmk +Index: VirtualBox-7.0.8/Config.kmk =================================================================== ---- VirtualBox-7.0.6.orig/Config.kmk -+++ VirtualBox-7.0.6/Config.kmk -@@ -3154,6 +3154,9 @@ else - $(SED_EXT) -n 's|.*version \([0-9][0-9]*\)\.\{0,1\}\([0-9]\{0,\}\)\.\{0,1\}\([0-9]\{0,\}\).*|$$(expr 10000 * \1 + 100 * $$(firstword \2 0) + $$(firstword \3 0))|p' ) +--- VirtualBox-7.0.8.orig/Config.kmk ++++ VirtualBox-7.0.8/Config.kmk +@@ -3070,6 +3070,9 @@ else endif + VBOX_MACOSX_ICON_FILE ?= $(PATH_ROOT)/src/VBox/Artwork/darwin/NonOSE/VirtualBox.icns endif +ifndef VBOX_GCC_std + VBOX_GCC_std := -std=c++17 +endif - # YASM macros - ifndef DONT_USE_YASM + + ifndef VBOX_NOINC_DYNAMIC_CONFIG_KMK diff --git a/virtualbox-sed-params.patch b/virtualbox-sed-params.patch index 1d650a4..29850b3 100644 --- a/virtualbox-sed-params.patch +++ b/virtualbox-sed-params.patch @@ -1,7 +1,7 @@ -Index: VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Main/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk +--- VirtualBox-7.0.8.orig/src/VBox/Main/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Main/Makefile.kmk @@ -1876,7 +1876,7 @@ $(VBoxAPIWrap_0_OUTDIR)/VBoxAPI.d.ts \ $(QUIET)$(VBOX_XSLTPROC) --stringparam KBUILD_HOST $(KBUILD_HOST) \ --stringparam generating "dtrace-probes" \ @@ -11,11 +11,11 @@ Index: VirtualBox-7.0.6/src/VBox/Main/Makefile.kmk "$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-start$(if-expr "$(VBOX_HOST_DTRACE_VERSION)" == "dtrace: Sun D 1.6.2",-alternative,).d" \ "$@" \ "$(VBOX_PATH_MAIN_SRC)/src-all/VBoxAPI-end$(if-expr "$(VBOX_HOST_DTRACE_VERSION)" == "dtrace: Sun D 1.6.2",-alternative,).d" -Index: VirtualBox-7.0.6/src/VBox/Devices/Makefile.kmk +Index: VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk =================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Devices/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Devices/Makefile.kmk -@@ -989,8 +989,7 @@ VBOX_WITH_VMSVGA3D_DYNAMIC_LOAD = 1 +--- VirtualBox-7.0.8.orig/src/VBox/Devices/Makefile.kmk ++++ VirtualBox-7.0.8/src/VBox/Devices/Makefile.kmk +@@ -989,8 +989,7 @@ if !defined(VBOX_ONLY_EXTPACKS) && "$(in $(call MSG_TOOL,iasl,VBoxDD,$<,$@) $(QUIET)$(RM) -f $@ $@.tmp $@.pre $(QUIET)$(TOOL_$(VBOX_GCC_TOOL)_CC) -E -P -x c -o $@.pre $< diff --git a/virtualbox.changes b/virtualbox.changes index 1af992f..ab84269 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Thu May 4 15:24:39 UTC 2023 - Larry Rainey + +- VirtualBox 7.0.8 (released April 18 2023) + +This is a maintenance release. The following items were fixed and/or added: + + VMM: Introduced general improvements in nested visualization area + GUI: Brought back Restore current snapshot checkbox of Close VM dialog (bugs #21189, #21491) + GUI: Fixes and validation for VM settings USB filters editor, filter port value is now properly saved/restored + GUI: Fixes for VM name and OS type embedded editors of Details pane + GUI: Cloud related wizards should now propose enabled profiles before disabled + Oracle VM VirtualBox Extension Pack: Fixed shipping the cryptographic support module for full VM encryption + E1000: Fixed possible guru meditation when changing network attachments (bug #21488) + virtio-net: Follow up fixes for FreeBSD 12.3 and pfSense 2.6.0 (bug #21201) + 3D: Fixed various graphics issues with Windows 7 guests (bugs #21129, #21196, #21208, #21521) + Main/UefiVariableStore: Added API to add signatures to the MOK list (Machine Owner Key) + VBoxManage: Introduced modifynvram enrollmok sub-command to enroll Machine Owner Key into NVRAM, so Linux guest kernel can pick it up in order to verify signature of modules signed with this key + Guest Control/Main: Fixed deleting files via built-in toolbox + Linux host: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/vbox/vbox.cfg, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature + Linux Guest Additions and host Installer: Improved detection if system is running systemd as the init process + Linux Guest Additions and host drivers: Introduce initial support for kernel 6.3 + Linux Guest Additions: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/virtualbox-guest-additions.conf, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature + Linux Guest Additions: Added experimental support for kernel modules and user services reloading in the end of installation process, thus guest system reboot after Guest Additions (7.0.8 and newer) upgrade is no longer required in general case + Linux Guest Additions: Fixed vboxvideo build issue with RHEL 8.7, 9.1 and 9.2 kernels (bugs #21446 and #21450) + + Fixes for (boo#1210616) +CVE-2023-21990 Oracle VM VirtualBox Core None No 8.2 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21987 Oracle VM VirtualBox Core None No 7.8 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-22002 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21989 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21998 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-22000 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-22001 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21988 Oracle VM VirtualBox Core None No 3.8 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21999 Oracle VM VirtualBox Core None No 3.6 Prior to 6.1.44, Prior to 7.0.8 +CVE-2023-21991 Oracle VM VirtualBox Core None No 3.2 Prior to 6.1.44, Prior to 7.0.8 + + Removed file fixes_for_kernel_6.3.patch - removed upstream. + + Thanks to Javier de San Pedro for the simplfication of the KMP build. + +------------------------------------------------------------------- +Fri Mar 31 21:14:51 UTC 2023 - Larry Finger + +- Fix some memory leaks in file "fix_7.0.6_locking_problems.patch" + Fix bug in /usr/bin/VirtualBox, aka "virtualbox-wrapper.sh". The wrapper + failed whenever the user declined USB passthru. boo#1208941. + ------------------------------------------------------------------- Tue Mar 21 17:05:39 UTC 2023 - Larry Finger diff --git a/virtualbox.spec b/virtualbox.spec index 07760a0..52c37b5 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -51,7 +51,7 @@ %endif # ********* If the VB version exceeds 6.1.x, notify the libvirt maintainer!! Name: virtualbox%{?dash}%{?name_suffix} -Version: 7.0.6 +Version: 7.0.8 Release: 0 Summary: %{package_summary} # FIXME: use correct group or remove it, see "https://en.opensuse.org/openSUSE:Package_group_guidelines" @@ -155,15 +155,12 @@ Patch31: fix-missing-includes-with-qt-5.15.patch Patch32: handle_gsoap_208103.patch # Fix for struct file_operations backport in 15.3 Patch33: fixes_for_leap15.3.patch -Patch34: fix_kmp_build.patch # Fix for backports to 15.5 Patch35: fixes_for_leap15.5.patch # Fix for GCC13 Patch36: fixes_for_gcc13.patch -# Fix for kernel 6.3 -Patch37: fixes_for_kernel_6.3.patch # Fix locking problem in 7.0.6 -Patch38: fix_7.0.6_locking_problems.patch +Patch37: fix_7.0.6_locking_problems.patch # # Common BuildRequires for both virtualbox and virtualbox-kmp BuildRequires: %{kernel_module_package_buildreqs} @@ -178,6 +175,7 @@ BuildRequires: libcurl-devel BuildRequires: libopenssl-devel BuildRequires: libxslt-devel BuildRequires: module-init-tools +BuildRequires: nasm BuildRequires: pam-devel BuildRequires: yasm ExclusiveArch: x86_64 @@ -187,10 +185,7 @@ Source2: VirtualBox.appdata.xml ### Requirements for virtualbox main package ### %if %{main_package} BuildRequires: LibVNCServer-devel -BuildRequires: SDL-devel BuildRequires: alsa-devel -#BuildRequires: bin86 -#BuildRequires: dev86 BuildRequires: device-mapper-devel BuildRequires: dmidecode BuildRequires: e2fsprogs-devel @@ -198,8 +193,8 @@ BuildRequires: fdupes BuildRequires: glibc-devel-static BuildRequires: glslang-devel BuildRequires: gsoap-devel >= 2.8.50 -#BuildRequires: infinipath-psm BuildRequires: java-devel >= 1.6.0 +BuildRequires: libSDL-devel BuildRequires: libelf-devel BuildRequires: libidl-devel BuildRequires: libopenssl-devel @@ -218,15 +213,11 @@ BuildRequires: lzfse-devel BuildRequires: pulseaudio-devel BuildRequires: python-rpm-macros BuildRequires: python3-devel -#BuildRequires: sdl12_compat-devel BuildRequires: sed BuildRequires: systemd-rpm-macros BuildRequires: update-desktop-files BuildRequires: which -#BuildRequires: xorg-x11 BuildRequires: xorg-x11-server -#BuildRequires: xorg-x11-server-sdk -#BuildRequires: zlib-devel-static BuildRequires: pkgconfig(fontsproto) BuildRequires: pkgconfig(glu) BuildRequires: pkgconfig(glx) @@ -235,7 +226,7 @@ BuildRequires: pkgconfig(randrproto) BuildRequires: pkgconfig(renderproto) BuildRequires: pkgconfig(resourceproto) BuildRequires: pkgconfig(scrnsaverproto) -BuildRequires: pkgconfig(sdl) +#BuildRequires: pkgconfig(sdl) BuildRequires: pkgconfig(udev) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xau) @@ -302,8 +293,17 @@ and others, and limited virtualization of macOS guests on Apple hardware. VirtualBox is freely available as Open Source Software under the terms of the GNU Public License (GPL). -#-######################################### + + + + + + + + + +#-######################################### %package qt Summary: Qt GUI part for %{name} Group: System/Emulators/PC @@ -320,8 +320,17 @@ Obsoletes: %{name}-ose-qt < %{version} %description qt This package contains the code for the GUI used to control VMs. -#-######################################## + + + + + + + + + +#-######################################## %package websrv Summary: WebService GUI part for %{name} Group: System/Emulators/PC @@ -333,7 +342,16 @@ Obsoletes: %{name}-vboxwebsrv < %{version} The VirtualBox web server is used to control headless VMs using a browser. + + + + + + + + #-########################################## + %package guest-tools Summary: VirtualBox guest tools Group: System/Emulators/PC @@ -354,8 +372,17 @@ Requires(pre): net-tools-deprecated %description guest-tools VirtualBox guest addition tools. -#-########################################## + + + + + + + + + +#-########################################## %package -n python3-%{name} Summary: Python bindings for %{name} Group: Development/Libraries/Python @@ -373,8 +400,17 @@ Obsoletes: python3-%{name}-ose < %{version} %description -n python3-%{name} Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package. -#-########################################## + + + + + + + + + +#-########################################## %package devel Summary: Devel files for %{name} Group: Development/Libraries/Other @@ -387,8 +423,17 @@ Obsoletes: %{name}-ose-devel < %{version} %description devel Development file for %{name} -#-########################################## + + + + + + + + + +#-########################################## %package host-source Summary: Source files for %{name} host kernel modules Group: Development/Sources @@ -418,8 +463,17 @@ Source files for %{name} guest kernel modules These can be built for custom kernels using sudo %{_sbindir}/vboxguestconfig -#-########################################## + + + + + + + + + +#-########################################## %package guest-desktop-icons Summary: Icons for guest desktop files Group: System/Emulators/PC @@ -430,8 +484,17 @@ BuildArch: noarch %description guest-desktop-icons This package contains icons for guest desktop files that were created on the desktop. -#-########################################## + + + + + + + + + +#-########################################## %package vnc Summary: VNC desktop sharing Group: System/Emulators/PC @@ -492,7 +555,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v # Patch for Leap 15.3 %patch33 -p1 %endif -%patch34 -p1 %if 0%{?sle_version} == 150500 && 0%{?is_opensuse} %patch35 -p1 %endif @@ -500,7 +562,6 @@ This package contains the kernel-modules that VirtualBox uses to create or run v %patch36 -p1 %endif %patch37 -p1 -%patch38 -p1 ### Documents for virtualbox main package ### %if %{main_package} @@ -515,25 +576,6 @@ cp %{SOURCE20} README.autostart # main_package %endif -# -########################## -####workaround kmk_sed --v -#instead of kmk_sed use /usr/bin/sed because of bug http://svn.netlabs.org/kbuild/ticket/112, -#but we have to create wrapper which will handle --append and --output options which are not provided by /usr/bin/sed -cat >> kmk_sed </g;s/--append=/>/g;s/--output/>/g;s/--append/>>/g");" -EOF -chmod +x ./kmk_sed -echo "SED = $RPM_BUILD_DIR/VirtualBox-%{version}/kmk_sed" >> LocalConfig.kmk -####workaround kmk_sed --^ -########################## -# # fix build of vboxvideo kernel module: replace relative drm include path with absolute include path sed -i 's:include/drm:%{_prefix}/src/linux/include/drm:' src/VBox/Additions/linux/drm/Makefile.module.kms @@ -642,7 +684,7 @@ echo "entering virtualbox(-qt) install section" pushd out/linux.*/release/bin install -m 755 VBoxManage %{buildroot}%{_vbox_instdir} install -m 755 VBoxHeadless %{buildroot}%{_vbox_instdir} -install -m 755 VBoxSDL %{buildroot}%{_vbox_instdir} +#install -m 755 VBoxSDL %{buildroot}%{_vbox_instdir} install -m 755 VBoxNetNAT %{buildroot}%{_vbox_instdir} install -m 755 VBoxAutostart %{buildroot}%{_vbox_instdir} install -m 755 VBoxVolInfo %{buildroot}%{_vbox_instdir} @@ -658,7 +700,7 @@ install -m 755 vboximg-mount %{buildroot}%{_vbox_instdir} # create links to vbox tools in PATH - they could be usefull for controlling vbox from command line ln -s %{_vbox_instdir}/VBoxManage %{buildroot}%{_bindir}/VBoxManage ln -s %{_vbox_instdir}/VBoxHeadless %{buildroot}%{_bindir}/VBoxHeadless -ln -s %{_vbox_instdir}/VBoxSDL %{buildroot}%{_bindir}/VBoxSDL +#ln -s %{_vbox_instdir}/VBoxSDL %{buildroot}%{_bindir}/VBoxSDL ln -s %{_vbox_instdir}/vboximg-mount %{buildroot}%{_bindir}/vboximg-mount install -m 755 VBoxSVC %{buildroot}%{_vbox_instdir} install -m 755 VBoxXPCOMIPCD %{buildroot}%{_vbox_instdir} @@ -849,7 +891,7 @@ done %post qt %set_permissions %{_vbox_instdir}/VirtualBoxVM -%set_permissions %{_vbox_instdir}/VBoxSDL +#%set_permissions %{_vbox_instdir}/VBoxSDL %verifyscript %verify_permissions -e %{_vbox_instdir}/VBoxNetNAT @@ -859,7 +901,7 @@ done %verifyscript qt %verify_permissions -e %{_vbox_instdir}/VirtualBoxVM -%verify_permissions -e %{_vbox_instdir}/VBoxSDL +#%verify_permissions -e %{_vbox_instdir}/VBoxSDL %post guest-tools %service_add_post vboxadd-service.service @@ -933,7 +975,7 @@ export DISABLE_RESTART_ON_UPDATE=yes %doc README.autostart UserManual.pdf README.build %{_bindir}/VBoxManage %{_bindir}/VBoxHeadless -%{_bindir}/VBoxSDL +#%{_bindir}/VBoxSDL %{_bindir}/vboximg-mount %dir %{_vbox_instdir} %{_vbox_instdir}/VBoxAutostart @@ -1011,7 +1053,7 @@ export DISABLE_RESTART_ON_UPDATE=yes %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxUSB_DevRules %attr(0755,root,vboxusers) %{_vbox_instdir}/VirtualBox6 %verify(not mode) %attr(0750,root,vboxusers) %{_vbox_instdir}/VirtualBoxVM -%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxSDL +#%verify(not mode) %attr(0755,root,vboxusers) %{_vbox_instdir}/VBoxSDL %{_vbox_instdir}/VirtualBox #wrapper script is in bindir %attr(0755,root,root) %{_bindir}/VirtualBox @@ -1023,8 +1065,8 @@ export DISABLE_RESTART_ON_UPDATE=yes %{_vbox_instdir}/VBoxSVGA3D.so %{_vbox_instdir}/VirtualBoxVM.so %{_vbox_instdir}/VBoxDbg.so -%{_bindir}/VBoxSDL -%{_vbox_instdir}/VBoxSDL.so +#%{_bindir}/VBoxSDL +#%{_vbox_instdir}/VBoxSDL.so %{_vbox_instdir}/VBoxKeyboard.so %{_vbox_instdir}/VBoxSharedClipboard.so %{_datadir}/pixmaps/virtualbox.png @@ -1115,70 +1157,15 @@ export DISABLE_RESTART_ON_UPDATE=yes #ensure we don't ever use them rm -rf src/libs/{libpng-*,libxml2-*,libxslt-*,zlib-*,boost-*} -# Craft LocalConfig.kmk -echo " -VBOX_GCC_OPT := %{optflags} -VBOX_GCC_WERR := -VBOX_BUILD_PUBLISHER := _SUSE +./src/VBox/Additions/linux/export_modules.sh --folder kmp_additions +./src/VBox/HostDrivers/linux/export_modules.sh --folder kmp_host -VBOX_OSE := 1 -VBOX_WITH_DOCS := -VBOX_WITHOUT_LINUX_TEST_BUILDS := 1 -VBOX_WITH_TESTCASES := -SDK_VBOX_LIBXML2_DEFS := _REENTRANT -SDK_VBOX_LIBXML2_INCS := %{_includedir}/libxml2 -SDK_VBOX_LIBXML2_LIBS := xml2 -SDK_VBOX_OPENSSL_INCS := -SDK_VBOX_OPENSSL_LIBS := ssl crypto -SDK_VBOX_BLD_OPENSSL_LIBS := ssl crypto -SDK_VBOX_LIBCURL_INCS := -SDK_VBOX_LIBCURL_LIBS := curl -" > LocalConfig.kmk - -COMMON_KMK_FLAGS=" - KBUILD_VERBOSE=2 \ - KBUILD_TARGET=linux \ - BUILD_TARGET=linux \ -" -# Build additions to export the source code of vbox{guest,sf,video} to -# out/linux.*/release/bin/additions/src/ -%{_bindir}/kmk %{?_smp_mflags} \ - ${COMMON_KMK_FLAGS} \ - VBOX_WITH_X11_ADDITIONS= \ - VBOX_ONLY_ADDITIONS=1 - -# The following kmk commands are used to extract the source of -# vbox{drv,netflt,netadp} without building the whole virtualbox -# program. - -# 1. build src/bldprogs/ to get bin2c and VBoxTpG -%{_bindir}/kmk %{?_smp_mflags} -C src/bldprogs/ \ - ${COMMON_KMK_FLAGS} \ - VBOX_ONLY_EXTPACKS=1 - -# 2. build src/VBox/HostDrivers/ with VBOX_ONLY_EXTPACKS=1 to -# get SUPR3.a for src/VBox/Runtime/ -%{_bindir}/kmk %{?_smp_mflags} -C src/VBox/HostDrivers/ \ - ${COMMON_KMK_FLAGS} \ - VBOX_ONLY_EXTPACKS=1 - -# 3. build src/VBox/Runtime/ with VBOX_ONLY_BUILD=1 to get -# VBoxRt.so for src/VBox/HostDrivers/Support/ -%{_bindir}/kmk %{?_smp_mflags} -C src/VBox/Runtime/ \ - ${COMMON_KMK_FLAGS} \ - VBOX_ONLY_BUILD=1 - -# 4. build src/VBox/HostDrivers/ to export the source of -# host kernel modules to out/linux.*/release/bin/src/ -%{_bindir}/kmk %{?_smp_mflags} -C src/VBox/HostDrivers/ \ - ${COMMON_KMK_FLAGS} -# # build kernel modules for guest and host (check novel-kmp package as example) # host modules : vboxdrv,vboxnetflt,vboxnetadp # guest modules : vboxguest,vboxsf,vboxvideo echo "build kernel modules" -for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} \ - out/linux.*/release/bin/additions/src/vbox{guest,sf,video}; do +for vbox_module in kmp_host/vbox{drv,netflt,netadp} \ + kmp_additions/vbox{guest,sf,video}; do #get the module name from path module_name=$(basename "$vbox_module") @@ -1192,7 +1179,7 @@ for vbox_module in out/linux.*/release/bin/src/vbox{drv,netflt,netadp} \ SYMBOLS="" fi # create build directory for specific flavor - mkdir -p modules_build_dir/$flavor + mkdir -p modules_build_dir/$flavor # copy sources which will be used to build vbox module in last step cp -r $vbox_module/ modules_build_dir/$flavor/ From 54a3dfba60a7f1b3a1f5c65bacad72d053fa203b39bdbe15a467c67192f75852 Mon Sep 17 00:00:00 2001 From: Larry Finger Date: Thu, 4 May 2023 18:27:42 +0000 Subject: [PATCH 2/2] Accepting request 1084829 from home:larryr:branches:Virtualization - VirtualBox 7.0.8 (released April 18 2023) This is a maintenance release. The following items were fixed and/or added: VMM: Introduced general improvements in nested visualization area GUI: Brought back Restore current snapshot checkbox of Close VM dialog (bugs #21189, #21491) GUI: Fixes and validation for VM settings USB filters editor, filter port value is now properly saved/restored GUI: Fixes for VM name and OS type embedded editors of Details pane GUI: Cloud related wizards should now propose enabled profiles before disabled Oracle VM VirtualBox Extension Pack: Fixed shipping the cryptographic support module for full VM encryption E1000: Fixed possible guru meditation when changing network attachments (bug #21488) virtio-net: Follow up fixes for FreeBSD 12.3 and pfSense 2.6.0 (bug #21201) 3D: Fixed various graphics issues with Windows 7 guests (bugs #21129, #21196, #21208, #21521) Main/UefiVariableStore: Added API to add signatures to the MOK list (Machine Owner Key) VBoxManage: Introduced modifynvram enrollmok sub-command to enroll Machine Owner Key into NVRAM, so Linux guest kernel can pick it up in order to verify signature of modules signed with this key Guest Control/Main: Fixed deleting files via built-in toolbox Linux host: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/vbox/vbox.cfg, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature Linux Guest Additions and host Installer: Improved detection if system is running systemd as the init process Linux Guest Additions and host drivers: Introduce initial support for kernel 6.3 Linux Guest Additions: Added possibility to bypass kernel modules signature verification once VBOX_BYPASS_MODULES_SIGNATURE_CHECK="1" is specified in /etc/virtualbox-guest-additions.conf, useful in case if Linux distribution does not provide necessary tools to verify kernel module signature Linux Guest Additions: Added experimental support for kernel modules and user services reloading in the end of installation process, thus guest system reboot after Guest Additions (7.0.8 and newer) upgrade is no longer required in general case Linux Guest Additions: Fixed vboxvideo build issue with RHEL 8.7, 9.1 and 9.2 kernels (bugs #21446 and #21450) Fixes for (boo#1210616) CVE-2023-21990 Oracle VM VirtualBox Core None No 8.2 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21987 Oracle VM VirtualBox Core None No 7.8 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22002 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21989 Oracle VM VirtualBox Core None No 6.0 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21998 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22000 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-22001 Oracle VM VirtualBox Core None No 4.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21988 Oracle VM VirtualBox Core None No 3.8 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21999 Oracle VM VirtualBox Core None No 3.6 Prior to 6.1.44, Prior to 7.0.8 CVE-2023-21991 Oracle VM VirtualBox Core None No 3.2 Prior to 6.1.44, Prior to 7.0.8 Removed file fixes_for_kernel_6.3.patch - removed upstream. Removed file fix_kmp_build.patch. Thanks to Javier de San Pedro for the simplfication of the KMP build. OBS-URL: https://build.opensuse.org/request/show/1084829 OBS-URL: https://build.opensuse.org/package/show/Virtualization/virtualbox?expand=0&rev=688 --- fix_kmp_build.patch | 2481 ------------------------------------------- virtualbox.changes | 1 + virtualbox.spec | 8 + 3 files changed, 9 insertions(+), 2481 deletions(-) delete mode 100644 fix_kmp_build.patch diff --git a/fix_kmp_build.patch b/fix_kmp_build.patch deleted file mode 100644 index f2c8f41..0000000 --- a/fix_kmp_build.patch +++ /dev/null @@ -1,2481 +0,0 @@ -Index: VirtualBox-7.0.6/Config.kmk -=================================================================== ---- VirtualBox-7.0.6.orig/Config.kmk -+++ VirtualBox-7.0.6/Config.kmk -@@ -782,6 +782,7 @@ if1of ($(KBUILD_TARGET), linux solaris) - VBOX_WITH_XPCOM_NAMESPACE_CLEANUP = 1 - endif - # The webservices api. -+# disabled for now due to pending license clarification - VBOX_WITH_WEBSERVICES = 1 - VBOX_WITH_WEBSERVICES_SSL = 1 - # The Qt GUI. -@@ -1410,7 +1411,7 @@ endif - VBOX_ONLY_BUILD_NEW := $(strip $(foreach x, ADDITIONS DOCS EXTPACKS SDK VALIDATIONKIT\ - , $(if-expr defined(VBOX_ONLY_$(x)),VBOX_ONLY_$(x)))) - ifneq ($(VBOX_ONLY_BUILD),$(VBOX_ONLY_BUILD_NEW)) -- $(error VBox: LocalConfig.kmk changed the VBOX_ONLY_ build status, VBOX_ONLY_* must be on the kmk command line or in the environment: $(VBOX_ONLY_BUILD) -> $(VBOX_ONLY_BUILD_NEW)) -+# $(error VBox: LocalConfig.kmk changed the VBOX_ONLY_ build status, VBOX_ONLY_* must be on the kmk command line or in the environment: $(VBOX_ONLY_BUILD) -> $(VBOX_ONLY_BUILD_NEW)) - endif - - # -@@ -1580,7 +1581,7 @@ endif - # - ifdef VBOX_HEADLESS - VBOX_WITH_QTGUI= -- VBOX_WITH_VBOXSDL= -+# VBOX_WITH_VBOXSDL= - VBOX_WITH_VRDP_RDESKTOP= - endif - -Index: VirtualBox-7.0.6/configure -=================================================================== ---- VirtualBox-7.0.6.orig/configure -+++ VirtualBox-7.0.6/configure -@@ -1202,8 +1202,8 @@ check_sdl() - if [ -n "$foundsdl" ]; then - cat > $ODIR.tmp_src.cc << EOF - #include --#include --#include -+#include -+#include - #undef main - extern "C" int main(int argc, char** argv) - { -Index: VirtualBox-7.0.6/src/VBox/Frontends/VBoxSDL/VBoxSDL.h -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/VBoxSDL/VBoxSDL.h -+++ VirtualBox-7.0.6/src/VBox/Frontends/VBoxSDL/VBoxSDL.h -@@ -45,7 +45,7 @@ - # pragma warning(disable: 4121) /* warning C4121: 'SDL_SysWMmsg' : alignment of a member was sensitive to packing*/ - # pragma warning(disable: 4668) /* warning C4668: '__GNUC__' is not defined as a preprocessor macro, replacing with '0' for '#if/#elif' */ - #endif --#include -+#include - #ifdef _MSC_VER - # pragma warning(pop) - #endif -Index: VirtualBox-7.0.6/src/VBox/Frontends/Makefile.kmk -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Frontends/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Frontends/Makefile.kmk -@@ -44,9 +44,9 @@ ifndef VBOX_ONLY_DOCS - include $(PATH_SUB_CURRENT)/VBoxBugReport/Makefile.kmk - endif - endif -- ifdef VBOX_WITH_VBOXSDL -+# ifdef VBOX_WITH_VBOXSDL - include $(PATH_SUB_CURRENT)/VBoxSDL/Makefile.kmk -- endif -+# endif - ifdef VBOX_WITH_VBOXFB - include $(PATH_SUB_CURRENT)/VBoxFB/Makefile.kmk - endif -Index: VirtualBox-7.0.6/src/libs/Makefile.kmk -=================================================================== ---- VirtualBox-7.0.6.orig/src/libs/Makefile.kmk -+++ VirtualBox-7.0.6/src/libs/Makefile.kmk -@@ -104,13 +104,7 @@ endif - - - # SoftFloat is used by the VMM for FPU emulation. --if (!defined(VBOX_ONLY_BUILD) && "$(intersects $(KBUILD_TARGET_ARCH),$(VBOX_SUPPORTED_HOST_ARCHS))" != "") \ -- || ( defined(VBOX_WITH_NOCRT_STATIC) \ -- && "$(KBUILD_TARGET)" == "win" \ -- && ( defined(VBOX_ONLY_ADDITIONS) \ -- || (!defined(VBOX_ONLY_BUILD) && defined(VBOX_WITH_ADDITIONS)))) - include $(PATH_SUB_CURRENT)/softfloat-3e/Makefile.kmk --endif - - - # zlib is used by the IPRT compression code, libpng and others. -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/VBoxVideoIPRT.h -@@ -49,7 +49,6 @@ typedef enum - # define RT_C_DECLS_END } - #endif - --#if defined(IN_XF86_MODULE) && !defined(NO_ANSIC) - # ifdef __cplusplus - /* xf86Module.h redefines this. */ - # define NULL 0 -@@ -57,7 +56,6 @@ typedef enum - RT_C_DECLS_BEGIN - # include "xf86_ansic.h" - RT_C_DECLS_END --#endif /* defined(IN_XF86_MODULE) && !defined(NO_ANSIC) */ - #define __STDC_LIMIT_MACROS /* define *INT*_MAX on C++ too. */ - #include "compiler.h" /* Can pull in . Must come after xf86_ansic.h on XFree86. */ - #include -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/xf86_ansic.h -=================================================================== ---- /dev/null -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/xf86_ansic.h -@@ -0,0 +1,351 @@ -+/* -+ * Copyright 1997-2000 by The XFree86 Project, Inc -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the names of the above listed copyright holders -+ * not be used in advertising or publicity pertaining to distribution of -+ * the software without specific, written prior permission. The above listed -+ * copyright holders make no representations about the suitability of this -+ * software for any purpose. It is provided "as is" without express or -+ * implied warranty. -+ * -+ * THE ABOVE LISTED COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD -+ * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ * AND FITNESS, IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDERS BE -+ * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY -+ * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER -+ * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING -+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ * -+ */ -+ -+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/xf86_ansic.h,v 3.49 2003/02/22 06:00:39 dawes Exp $ */ -+ -+#ifndef _XF86_ANSIC_H -+#define _XF86_ANSIC_H -+ -+/* Handle */ -+ -+#ifndef IN_MODULE -+# include -+#else /* !IN_MODULE */ -+# ifndef __OS2ELF__ -+# include -+# else /* __OS2ELF__ */ -+ /* EMX/gcc_elf under OS/2 does not have native header files */ -+# if !defined (_VA_LIST) -+# define _VA_LIST -+ typedef char *va_list; -+# endif -+# define _VA_ROUND(t) ((sizeof (t) + 3) & -4) -+# if !defined (va_start) -+# define va_start(ap,v) ap = (va_list)&v + ((sizeof (v) + 3) & -4) -+# define va_end(ap) (ap = 0, (void)0) -+# define va_arg(ap,t) (ap += _VA_ROUND (t), *(t *)(ap - _VA_ROUND (t))) -+# endif -+# endif /* __OS2ELF__ */ -+#endif /* IN_MODULE */ -+ -+/* -+ * The first set of definitions are required both for modules and -+ * libc_wrapper.c. -+ */ -+ -+#if defined(XFree86LOADER) || defined(NEED_XF86_TYPES) -+ -+#if !defined(SYSV) && !defined(SVR4) && !defined(Lynx) || defined(SCO) -+#define HAVE_VSSCANF -+#define HAVE_VFSCANF -+#endif -+ -+#ifndef NULL -+#if (defined(SVR4) || defined(SYSV)) && !defined(__GNUC__) -+#define NULL 0 -+#else -+#define NULL ((void *)0) -+#endif -+#endif -+#ifndef EOF -+#define EOF (-1) -+#endif -+ -+#ifndef PATH_MAX -+#define PATH_MAX 1024 -+#endif -+ -+/* stuff */ -+#define x_BITSPERBYTE 8 -+#define x_BITS(type) (x_BITSPERBYTE * (int)sizeof(type)) -+#define x_SHORTBITS x_BITS(short) -+#define x_INTBITS x_BITS(int) -+#define x_LONGBITS x_BITS(long) -+#ifndef SHRT_MIN -+#define SHRT_MIN ((short)(1 << (x_SHORTBITS - 1))) -+#endif -+ -+#ifndef FONTMODULE -+#include "misc.h" -+#endif -+#include "xf86_libc.h" -+#ifndef SHRT_MAX -+#define SHRT_MAX ((short)~SHRT_MIN) -+#endif -+#ifndef USHRT_MAX -+#define USHRT_MAX ((unsigned short)~0) -+#endif -+#ifndef MINSHORT -+#define MINSHORT SHRT_MIN -+#endif -+#ifndef MAXSHORT -+#define MAXSHORT SHRT_MAX -+#endif -+#ifndef INT_MIN -+#define INT_MIN (1 << (x_INTBITS - 1)) -+#endif -+#ifndef INT_MAX -+#define INT_MAX (~INT_MIN) -+#endif -+#ifndef UINT_MAX -+#define UINT_MAX (~0) -+#endif -+#ifndef MININT -+#define MININT INT_MIN -+#endif -+#ifndef MAXINT -+#define MAXINT INT_MAX -+#endif -+#ifndef LONG_MIN -+#define LONG_MIN ((long)(1 << (x_LONGBITS - 1))) -+#endif -+#ifndef LONG_MAX -+#define LONG_MAX ((long)~LONG_MIN) -+#endif -+#ifndef ULONG_MAX -+#define ULONG_MAX ((unsigned long)~0UL) -+#endif -+#ifndef MINLONG -+#define MINLONG LONG_MIN -+#endif -+#ifndef MAXLONG -+#define MAXLONG LONG_MAX -+#endif -+ -+#endif /* XFree86LOADER || NEED_XF86_TYPES */ -+ -+#if defined(XFree86LOADER) || defined(NEED_XF86_PROTOTYPES) -+/* -+ * ANSI C compilers only. -+ */ -+ -+/* ANSI C emulation library */ -+ -+extern void xf86abort(void); -+extern int xf86abs(int); -+extern double xf86acos(double); -+extern double xf86asin(double); -+extern double xf86atan(double); -+extern double xf86atan2(double,double); -+extern double xf86atof(const char*); -+extern int xf86atoi(const char*); -+extern long xf86atol(const char*); -+extern void *xf86bsearch(const void *, const void *, xf86size_t, xf86size_t, -+ int (*)(const void *, const void *)); -+extern double xf86ceil(double); -+extern void* xf86calloc(xf86size_t,xf86size_t); -+extern void xf86clearerr(XF86FILE*); -+extern double xf86cos(double); -+extern void xf86exit(int); -+extern double xf86exp(double); -+extern double xf86fabs(double); -+extern int xf86fclose(XF86FILE*); -+extern int xf86feof(XF86FILE*); -+extern int xf86ferror(XF86FILE*); -+extern int xf86fflush(XF86FILE*); -+extern int xf86fgetc(XF86FILE*); -+extern int xf86getc(XF86FILE*); -+extern int xf86fgetpos(XF86FILE*,XF86fpos_t*); -+extern char* xf86fgets(char*,INT32,XF86FILE*); -+extern int xf86finite(double); -+extern double xf86floor(double); -+extern double xf86fmod(double,double); -+extern XF86FILE* xf86fopen(const char*,const char*); -+extern double xf86frexp(double, int*); -+extern int xf86printf(const char*,...); -+extern int xf86fprintf(XF86FILE*,const char*,...); -+extern int xf86fputc(int,XF86FILE*); -+extern int xf86fputs(const char*,XF86FILE*); -+extern xf86size_t xf86fread(void*,xf86size_t,xf86size_t,XF86FILE*); -+extern void xf86free(void*); -+extern XF86FILE* xf86freopen(const char*,const char*,XF86FILE*); -+#if defined(HAVE_VFSCANF) || !defined(NEED_XF86_PROTOTYPES) -+extern int xf86fscanf(XF86FILE*,const char*,...); -+#else -+extern int xf86fscanf(/*XF86FILE*,const char*,char *,char *,char *,char *, -+ char *,char *,char *,char *,char *,char * */); -+#endif -+extern int xf86fseek(XF86FILE*,long,int); -+extern int xf86fsetpos(XF86FILE*,const XF86fpos_t*); -+extern long xf86ftell(XF86FILE*); -+extern xf86size_t xf86fwrite(const void*,xf86size_t,xf86size_t,XF86FILE*); -+extern char* xf86getenv(const char*); -+extern int xf86isalnum(int); -+extern int xf86isalpha(int); -+extern int xf86iscntrl(int); -+extern int xf86isdigit(int); -+extern int xf86isgraph(int); -+extern int xf86islower(int); -+extern int xf86isprint(int); -+extern int xf86ispunct(int); -+extern int xf86isspace(int); -+extern int xf86isupper(int); -+extern int xf86isxdigit(int); -+extern long xf86labs(long); -+extern double xf86ldexp(double,int); -+extern double xf86log(double); -+extern double xf86log10(double); -+extern void* xf86malloc(xf86size_t); -+extern void* xf86memchr(const void*,int,xf86size_t); -+extern int xf86memcmp(const void*,const void*,xf86size_t); -+extern void* xf86memcpy(void*,const void*,xf86size_t); -+extern void* xf86memmove(void*,const void*,xf86size_t); -+extern void* xf86memset(void*,int,xf86size_t); -+extern double xf86modf(double,double*); -+extern void xf86perror(const char*); -+extern double xf86pow(double,double); -+extern void xf86qsort(void*, xf86size_t, xf86size_t, -+ int(*)(const void*, const void*)); -+extern void* xf86realloc(void*,xf86size_t); -+extern int xf86remove(const char*); -+extern int xf86rename(const char*,const char*); -+extern void xf86rewind(XF86FILE*); -+extern int xf86setbuf(XF86FILE*,char*); -+extern int xf86setvbuf(XF86FILE*,char*,int,xf86size_t); -+extern double xf86sin(double); -+extern int xf86sprintf(char*,const char*,...); -+extern int xf86snprintf(char*,xf86size_t,const char*,...); -+extern double xf86sqrt(double); -+#if defined(HAVE_VSSCANF) || !defined(NEED_XF86_PROTOTYPES) -+extern int xf86sscanf(char*,const char*,...); -+#else -+extern int xf86sscanf(/*char*,const char*,char *,char *,char *,char *, -+ char *,char *,char *,char *,char *,char * */); -+#endif -+extern char* xf86strcat(char*,const char*); -+extern char* xf86strchr(const char*, int c); -+extern int xf86strcmp(const char*,const char*); -+extern int xf86strcasecmp(const char*,const char*); -+extern char* xf86strcpy(char*,const char*); -+extern xf86size_t xf86strcspn(const char*,const char*); -+extern char* xf86strerror(int); -+extern xf86size_t xf86strlen(const char*); -+extern char* xf86strncat(char *, const char *, xf86size_t); -+extern int xf86strncmp(const char*,const char*,xf86size_t); -+extern int xf86strncasecmp(const char*,const char*,xf86size_t); -+extern char* xf86strncpy(char*,const char*,xf86size_t); -+extern char* xf86strpbrk(const char*,const char*); -+extern char* xf86strrchr(const char*,int); -+extern xf86size_t xf86strspn(const char*,const char*); -+extern char* xf86strstr(const char*,const char*); -+extern double xf86strtod(const char*,char**); -+extern char* xf86strtok(char*,const char*); -+extern long xf86strtol(const char*,char**,int); -+extern unsigned long xf86strtoul(const char*,char**,int); -+extern double xf86tan(double); -+extern XF86FILE* xf86tmpfile(void); -+extern char* xf86tmpnam(char*); -+extern int xf86tolower(int); -+extern int xf86toupper(int); -+extern int xf86ungetc(int,XF86FILE*); -+extern int xf86vfprintf(XF86FILE*,const char*,va_list); -+extern int xf86vsprintf(char*,const char*,va_list); -+extern int xf86vsnprintf(char*,xf86size_t,const char*,va_list); -+ -+extern int xf86open(const char*, int,...); -+extern int xf86close(int); -+extern long xf86lseek(int, long, int); -+extern int xf86ioctl(int, unsigned long, pointer); -+extern xf86ssize_t xf86read(int, void *, xf86size_t); -+extern xf86ssize_t xf86write(int, const void *, xf86size_t); -+extern void* xf86mmap(void*, xf86size_t, int, int, int, xf86size_t /* off_t */); -+extern int xf86munmap(void*, xf86size_t); -+extern int xf86stat(const char *, struct xf86stat_s *); -+extern int xf86fstat(int, struct xf86stat_s *); -+extern int xf86access(const char *, int); -+extern int xf86errno; -+extern int xf86GetErrno(void); -+ -+extern double xf86HUGE_VAL; -+ -+extern double xf86hypot(double,double); -+ -+/* non-ANSI C functions */ -+extern XF86DIR* xf86opendir(const char*); -+extern int xf86closedir(XF86DIR*); -+extern XF86DIRENT* xf86readdir(XF86DIR*); -+extern void xf86rewinddir(XF86DIR*); -+extern void xf86bcopy(const void*,void*,xf86size_t); -+extern int xf86ffs(int); -+extern char* xf86strdup(const char*); -+extern void xf86bzero(void*,unsigned int); -+extern int xf86execl(const char *, const char *, ...); -+extern long xf86fpossize(void); -+extern int xf86chmod(const char *, xf86mode_t); -+extern int xf86chown(const char *, xf86uid_t, xf86gid_t); -+extern xf86uid_t xf86geteuid(void); -+extern xf86gid_t xf86getegid(void); -+extern int xf86getpid(void); -+extern int xf86mknod(const char *, xf86mode_t, xf86dev_t); -+extern int xf86mkdir(const char *, xf86mode_t); -+unsigned int xf86sleep(unsigned int seconds); -+/* sysv IPC */ -+extern int xf86shmget(xf86key_t key, int size, int xf86shmflg); -+extern char * xf86shmat(int id, char *addr, int xf86shmflg); -+extern int xf86shmdt(char *addr); -+extern int xf86shmctl(int id, int xf86cmd, pointer buf); -+ -+extern int xf86setjmp(xf86jmp_buf env); -+extern int xf86setjmp1(xf86jmp_buf env, int); -+extern int xf86setjmp1_arg2(void); -+extern int xf86setjmperror(xf86jmp_buf env); -+extern int xf86getjmptype(void); -+extern void xf86longjmp(xf86jmp_buf env, int val); -+#define xf86setjmp_macro(env) \ -+ (xf86getjmptype() == 0 ? xf86setjmp((env)) : \ -+ (xf86getjmptype() == 1 ? xf86setjmp1((env), xf86setjmp1_arg2()) : \ -+ xf86setjmperror((env)))) -+ -+#else /* XFree86LOADER || NEED_XF86_PROTOTYPES */ -+#include -+#include -+#include -+#include -+#include -+#include -+#ifdef HAVE_SYSV_IPC -+#include -+#include -+#endif -+#include -+#define stat_t struct stat -+#endif /* XFree86LOADER || NEED_XF86_PROTOTYPES */ -+ -+/* -+ * These things are always required by drivers (but not by libc_wrapper.c), -+ * even for a static server because some OSs don't provide them. -+ */ -+ -+extern int xf86getpagesize(void); -+extern void xf86usleep(unsigned long); -+extern void xf86getsecs(long *, long *); -+#ifndef DONT_DEFINE_WRAPPERS -+#undef getpagesize -+#define getpagesize() xf86getpagesize() -+#undef usleep -+#define usleep(ul) xf86usleep(ul) -+#undef getsecs -+#define getsecs(a, b) xf86getsecs(a, b) -+#endif -+#endif /* _XF86_ANSIC_H */ -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/compiler.h -=================================================================== ---- /dev/null -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/compiler.h -@@ -0,0 +1,1743 @@ -+/* $XFree86: xc/programs/Xserver/hw/xfree86/common/compiler.h,v 3.99 2003/01/29 15:23:20 tsi Exp $ */ -+/* -+ * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany. -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and its -+ * documentation for any purpose is hereby granted without fee, provided that -+ * the above copyright notice appear in all copies and that both that -+ * copyright notice and this permission notice appear in supporting -+ * documentation, and that the name of Thomas Roell not be used in -+ * advertising or publicity pertaining to distribution of the software without -+ * specific, written prior permission. Thomas Roell makes no representations -+ * about the suitability of this software for any purpose. It is provided -+ * "as is" without express or implied warranty. -+ * -+ * THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, -+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO -+ * EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR -+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER -+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -+ * PERFORMANCE OF THIS SOFTWARE. -+ * -+ */ -+/* $XConsortium: compiler.h /main/16 1996/10/25 15:38:34 kaleb $ */ -+ -+#ifndef _COMPILER_H -+ -+# if !defined(_XF86_ANSIC_H) && defined(XFree86Module) -+# error missing #include "xf86_ansic.h" before #include "compiler.h" -+# endif -+ -+# define _COMPILER_H -+ -+/* Allow drivers to use the GCC-supported __inline__ and/or __inline. */ -+# ifndef __inline__ -+# if defined(__GNUC__) -+ /* gcc has __inline__ */ -+# elif defined(__HIGHC__) -+# define __inline__ _Inline -+# else -+# define __inline__ /**/ -+# endif -+# endif /* __inline__ */ -+# ifndef __inline -+# if defined(__GNUC__) -+ /* gcc has __inline */ -+# elif defined(__HIGHC__) -+# define __inline _Inline -+# else -+# define __inline /**/ -+# endif -+# endif /* __inline */ -+ -+# if defined(IODEBUG) && defined(__GNUC__) -+# define outb RealOutb -+# define outw RealOutw -+# define outl RealOutl -+# define inb RealInb -+# define inw RealInw -+# define inl RealInl -+# endif -+ -+# if defined(QNX4) /* Do this for now to keep Watcom happy */ -+# define outb outp -+# define outw outpw -+# define outl outpd -+# define inb inp -+# define inw inpw -+# define inl inpd -+ -+/* Define the ffs function for inlining */ -+extern int ffs(unsigned long); -+# pragma aux ffs_ = \ -+ "bsf edx, eax" \ -+ "jnz bits_set" \ -+ "xor eax, eax" \ -+ "jmp exit1" \ -+ "bits_set:" \ -+ "mov eax, edx" \ -+ "inc eax" \ -+ "exit1:" \ -+ __parm [eax] \ -+ __modify [eax edx] \ -+ __value [eax] \ -+ ; -+# endif -+ -+# if defined(NO_INLINE) || defined(DO_PROTOTYPES) -+ -+# if !defined(__sparc__) && !defined(__arm32__) \ -+ && !(defined(__alpha__) && defined(linux)) -+ -+extern void outb(unsigned short, unsigned char); -+extern void outw(unsigned short, unsigned short); -+extern void outl(unsigned short, unsigned int); -+extern unsigned int inb(unsigned short); -+extern unsigned int inw(unsigned short); -+extern unsigned int inl(unsigned short); -+ -+# else /* __sparc__, __arm32__, __alpha__*/ -+ -+extern void outb(unsigned long, unsigned char); -+extern void outw(unsigned long, unsigned short); -+extern void outl(unsigned long, unsigned int); -+extern unsigned int inb(unsigned long); -+extern unsigned int inw(unsigned long); -+extern unsigned int inl(unsigned long); -+ -+# endif /* __sparc__, __arm32__, __alpha__ */ -+ -+extern unsigned long ldq_u(unsigned long *); -+extern unsigned long ldl_u(unsigned int *); -+extern unsigned long ldw_u(unsigned short *); -+extern void stq_u(unsigned long, unsigned long *); -+extern void stl_u(unsigned long, unsigned int *); -+extern void stw_u(unsigned long, unsigned short *); -+extern void mem_barrier(void); -+extern void write_mem_barrier(void); -+extern void stl_brx(unsigned long, volatile unsigned char *, int); -+extern void stw_brx(unsigned short, volatile unsigned char *, int); -+extern unsigned long ldl_brx(volatile unsigned char *, int); -+extern unsigned short ldw_brx(volatile unsigned char *, int); -+ -+# endif -+ -+# ifndef NO_INLINE -+# ifdef __GNUC__ -+# if (defined(linux) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) && defined(__alpha__) -+ -+# ifdef linux -+/* for Linux on Alpha, we use the LIBC _inx/_outx routines */ -+/* note that the appropriate setup via "ioperm" needs to be done */ -+/* *before* any inx/outx is done. */ -+ -+extern void (*_alpha_outb)(char val, unsigned long port); -+static __inline__ void -+outb(unsigned long port, unsigned char val) -+{ -+ _alpha_outb(val, port); -+} -+ -+extern void (*_alpha_outw)(short val, unsigned long port); -+static __inline__ void -+outw(unsigned long port, unsigned short val) -+{ -+ _alpha_outw(val, port); -+} -+ -+extern void (*_alpha_outl)(int val, unsigned long port); -+static __inline__ void -+outl(unsigned long port, unsigned int val) -+{ -+ _alpha_outl(val, port); -+} -+ -+extern unsigned int (*_alpha_inb)(unsigned long port); -+static __inline__ unsigned int -+inb(unsigned long port) -+{ -+ return _alpha_inb(port); -+} -+ -+extern unsigned int (*_alpha_inw)(unsigned long port); -+static __inline__ unsigned int -+inw(unsigned long port) -+{ -+ return _alpha_inw(port); -+} -+ -+extern unsigned int (*_alpha_inl)(unsigned long port); -+static __inline__ unsigned int -+inl(unsigned long port) -+{ -+ return _alpha_inl(port); -+} -+ -+# endif /* linux */ -+ -+# if (defined(__FreeBSD__) || defined(__OpenBSD__)) \ -+ && !defined(DO_PROTOTYPES) -+ -+/* for FreeBSD and OpenBSD on Alpha, we use the libio (resp. libalpha) */ -+/* inx/outx routines */ -+/* note that the appropriate setup via "ioperm" needs to be done */ -+/* *before* any inx/outx is done. */ -+ -+extern void outb(unsigned int port, unsigned char val); -+extern void outw(unsigned int port, unsigned short val); -+extern void outl(unsigned int port, unsigned int val); -+extern unsigned char inb(unsigned int port); -+extern unsigned short inw(unsigned int port); -+extern unsigned int inl(unsigned int port); -+ -+# endif /* (__FreeBSD__ || __OpenBSD__ ) && !DO_PROTOTYPES */ -+ -+ -+#if defined(__NetBSD__) -+#include -+#endif /* __NetBSD__ */ -+ -+/* -+ * inline functions to do unaligned accesses -+ * from linux/include/asm-alpha/unaligned.h -+ */ -+ -+/* -+ * EGCS 1.1 knows about arbitrary unaligned loads. Define some -+ * packed structures to talk about such things with. -+ */ -+ -+struct __una_u64 { unsigned long x __attribute__((packed)); }; -+struct __una_u32 { unsigned int x __attribute__((packed)); }; -+struct __una_u16 { unsigned short x __attribute__((packed)); }; -+ -+/* -+ * Elemental unaligned loads -+ */ -+/* let's try making these things static */ -+ -+static __inline__ unsigned long ldq_u(unsigned long * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ const struct __una_u64 *ptr = (const struct __una_u64 *) r11; -+ return ptr->x; -+# else -+ unsigned long r1,r2; -+ __asm__("ldq_u %0,%3\n\t" -+ "ldq_u %1,%4\n\t" -+ "extql %0,%2,%0\n\t" -+ "extqh %1,%2,%1" -+ :"=&r" (r1), "=&r" (r2) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(const unsigned long *)(7+(char *) r11))); -+ return r1 | r2; -+# endif -+} -+ -+static __inline__ unsigned long ldl_u(unsigned int * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ const struct __una_u32 *ptr = (const struct __una_u32 *) r11; -+ return ptr->x; -+# else -+ unsigned long r1,r2; -+ __asm__("ldq_u %0,%3\n\t" -+ "ldq_u %1,%4\n\t" -+ "extll %0,%2,%0\n\t" -+ "extlh %1,%2,%1" -+ :"=&r" (r1), "=&r" (r2) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(const unsigned long *)(3+(char *) r11))); -+ return r1 | r2; -+# endif -+} -+ -+static __inline__ unsigned long ldw_u(unsigned short * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ const struct __una_u16 *ptr = (const struct __una_u16 *) r11; -+ return ptr->x; -+# else -+ unsigned long r1,r2; -+ __asm__("ldq_u %0,%3\n\t" -+ "ldq_u %1,%4\n\t" -+ "extwl %0,%2,%0\n\t" -+ "extwh %1,%2,%1" -+ :"=&r" (r1), "=&r" (r2) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(const unsigned long *)(1+(char *) r11))); -+ return r1 | r2; -+# endif -+} -+ -+/* -+ * Elemental unaligned stores -+ */ -+ -+static __inline__ void stq_u(unsigned long r5, unsigned long * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ struct __una_u64 *ptr = (struct __una_u64 *) r11; -+ ptr->x = r5; -+# else -+ unsigned long r1,r2,r3,r4; -+ -+ __asm__("ldq_u %3,%1\n\t" -+ "ldq_u %2,%0\n\t" -+ "insqh %6,%7,%5\n\t" -+ "insql %6,%7,%4\n\t" -+ "mskqh %3,%7,%3\n\t" -+ "mskql %2,%7,%2\n\t" -+ "bis %3,%5,%3\n\t" -+ "bis %2,%4,%2\n\t" -+ "stq_u %3,%1\n\t" -+ "stq_u %2,%0" -+ :"=m" (*r11), -+ "=m" (*(unsigned long *)(7+(char *) r11)), -+ "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) -+ :"r" (r5), "r" (r11)); -+# endif -+} -+ -+static __inline__ void stl_u(unsigned long r5, unsigned int * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ struct __una_u32 *ptr = (struct __una_u32 *) r11; -+ ptr->x = r5; -+# else -+ unsigned long r1,r2,r3,r4; -+ -+ __asm__("ldq_u %3,%1\n\t" -+ "ldq_u %2,%0\n\t" -+ "inslh %6,%7,%5\n\t" -+ "insll %6,%7,%4\n\t" -+ "msklh %3,%7,%3\n\t" -+ "mskll %2,%7,%2\n\t" -+ "bis %3,%5,%3\n\t" -+ "bis %2,%4,%2\n\t" -+ "stq_u %3,%1\n\t" -+ "stq_u %2,%0" -+ :"=m" (*r11), -+ "=m" (*(unsigned long *)(3+(char *) r11)), -+ "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) -+ :"r" (r5), "r" (r11)); -+# endif -+} -+ -+static __inline__ void stw_u(unsigned long r5, unsigned short * r11) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ struct __una_u16 *ptr = (struct __una_u16 *) r11; -+ ptr->x = r5; -+# else -+ unsigned long r1,r2,r3,r4; -+ -+ __asm__("ldq_u %3,%1\n\t" -+ "ldq_u %2,%0\n\t" -+ "inswh %6,%7,%5\n\t" -+ "inswl %6,%7,%4\n\t" -+ "mskwh %3,%7,%3\n\t" -+ "mskwl %2,%7,%2\n\t" -+ "bis %3,%5,%3\n\t" -+ "bis %2,%4,%2\n\t" -+ "stq_u %3,%1\n\t" -+ "stq_u %2,%0" -+ :"=m" (*r11), -+ "=m" (*(unsigned long *)(1+(char *) r11)), -+ "=&r" (r1), "=&r" (r2), "=&r" (r3), "=&r" (r4) -+ :"r" (r5), "r" (r11)); -+# endif -+} -+ -+/* to flush the I-cache before jumping to code which just got loaded */ -+# define PAL_imb 134 -+# define istream_mem_barrier() \ -+ __asm__ __volatile__("call_pal %0 #imb" : : "i" (PAL_imb) : "memory") -+# define mem_barrier() __asm__ __volatile__("mb" : : : "memory") -+# ifdef __ELF__ -+# define write_mem_barrier() __asm__ __volatile__("wmb" : : : "memory") -+# else /* ECOFF gas 2.6 doesn't know "wmb" :-( */ -+# define write_mem_barrier() mem_barrier() -+# endif -+ -+ -+# elif defined(linux) && defined(__ia64__) -+ -+# include -+ -+# include -+ -+struct __una_u64 { uint64_t x __attribute__((packed)); }; -+struct __una_u32 { uint32_t x __attribute__((packed)); }; -+struct __una_u16 { uint16_t x __attribute__((packed)); }; -+ -+static __inline__ unsigned long -+__uldq (const unsigned long * r11) -+{ -+ const struct __una_u64 *ptr = (const struct __una_u64 *) r11; -+ return ptr->x; -+} -+ -+static __inline__ unsigned long -+__uldl (const unsigned int * r11) -+{ -+ const struct __una_u32 *ptr = (const struct __una_u32 *) r11; -+ return ptr->x; -+} -+ -+static __inline__ unsigned long -+__uldw (const unsigned short * r11) -+{ -+ const struct __una_u16 *ptr = (const struct __una_u16 *) r11; -+ return ptr->x; -+} -+ -+static __inline__ void -+__ustq (unsigned long r5, unsigned long * r11) -+{ -+ struct __una_u64 *ptr = (struct __una_u64 *) r11; -+ ptr->x = r5; -+} -+ -+static __inline__ void -+__ustl (unsigned long r5, unsigned int * r11) -+{ -+ struct __una_u32 *ptr = (struct __una_u32 *) r11; -+ ptr->x = r5; -+} -+ -+static __inline__ void -+__ustw (unsigned long r5, unsigned short * r11) -+{ -+ struct __una_u16 *ptr = (struct __una_u16 *) r11; -+ ptr->x = r5; -+} -+ -+# define ldq_u(p) __uldq(p) -+# define ldl_u(p) __uldl(p) -+# define ldw_u(p) __uldw(p) -+# define stq_u(v,p) __ustq(v,p) -+# define stl_u(v,p) __ustl(v,p) -+# define stw_u(v,p) __ustw(v,p) -+ -+# define mem_barrier() __asm__ __volatile__ ("mf" ::: "memory") -+# define write_mem_barrier() __asm__ __volatile__ ("mf" ::: "memory") -+ -+/* -+ * This is overkill, but for different reasons depending on where it is used. -+ * This is thus general enough to be used everywhere cache flushes are needed. -+ * It doesn't handle memory access serialisation by other processors, though. -+ */ -+# define ia64_flush_cache(Addr) \ -+ __asm__ __volatile__ ( \ -+ "fc %0;;;" \ -+ "sync.i;;;" \ -+ "mf;;;" \ -+ "srlz.i;;;" \ -+ :: "r"(Addr) : "memory") -+ -+# undef outb -+# undef outw -+# undef outl -+ -+# define outb(a,b) _outb(b,a) -+# define outw(a,b) _outw(b,a) -+# define outl(a,b) _outl(b,a) -+ -+# elif defined(linux) && defined(__x86_64__) -+ -+# include -+ -+# define ldq_u(p) (*((unsigned long *)(p))) -+# define ldl_u(p) (*((unsigned int *)(p))) -+# define ldw_u(p) (*((unsigned short *)(p))) -+# define stq_u(v,p) (*(unsigned long *)(p)) = (v) -+# define stl_u(v,p) (*(unsigned int *)(p)) = (v) -+# define stw_u(v,p) (*(unsigned short *)(p)) = (v) -+ -+# define mem_barrier() \ -+ __asm__ __volatile__ ("lock; addl $0,0(%%rsp)": : :"memory") -+# define write_mem_barrier() \ -+ __asm__ __volatile__ ("": : :"memory") -+ -+ -+static __inline__ void -+outb(unsigned short port, unsigned char val) -+{ -+ __asm__ __volatile__("outb %0,%1" : :"a" (val), "d" (port)); -+} -+ -+ -+static __inline__ void -+outw(unsigned short port, unsigned short val) -+{ -+ __asm__ __volatile__("outw %0,%1" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ void -+outl(unsigned short port, unsigned int val) -+{ -+ __asm__ __volatile__("outl %0,%1" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ unsigned int -+inb(unsigned short port) -+{ -+ unsigned char ret; -+ __asm__ __volatile__("inb %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inw(unsigned short port) -+{ -+ unsigned short ret; -+ __asm__ __volatile__("inw %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inl(unsigned short port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("inl %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+# elif (defined(linux) || defined(Lynx) || defined(sun) || defined(__OpenBSD__)) && defined(__sparc__) -+ -+# if !defined(Lynx) -+# ifndef ASI_PL -+# define ASI_PL 0x88 -+# endif -+ -+# define barrier() __asm__ __volatile__(".word 0x8143e00a": : :"memory") -+ -+static __inline__ void -+outb(unsigned long port, unsigned char val) -+{ -+ __asm__ __volatile__("stba %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (port), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ void -+outw(unsigned long port, unsigned short val) -+{ -+ __asm__ __volatile__("stha %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (port), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ void -+outl(unsigned long port, unsigned int val) -+{ -+ __asm__ __volatile__("sta %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (port), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ unsigned int -+inb(unsigned long port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("lduba [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (port), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inw(unsigned long port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("lduha [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (port), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inl(unsigned long port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("lda [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (port), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ unsigned char -+xf86ReadMmio8(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned char ret; -+ -+ __asm__ __volatile__("lduba [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (addr), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ unsigned short -+xf86ReadMmio16Be(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned short ret; -+ -+ __asm__ __volatile__("lduh [%1], %0" -+ : "=r" (ret) -+ : "r" (addr)); -+ return ret; -+} -+ -+static __inline__ unsigned short -+xf86ReadMmio16Le(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned short ret; -+ -+ __asm__ __volatile__("lduha [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (addr), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+xf86ReadMmio32Be(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned int ret; -+ -+ __asm__ __volatile__("ld [%1], %0" -+ : "=r" (ret) -+ : "r" (addr)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+xf86ReadMmio32Le(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned int ret; -+ -+ __asm__ __volatile__("lda [%1] %2, %0" -+ : "=r" (ret) -+ : "r" (addr), "i" (ASI_PL)); -+ return ret; -+} -+ -+static __inline__ void -+xf86WriteMmio8(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("stba %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ void -+xf86WriteMmio16Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("sth %0, [%1]" -+ : /* No outputs */ -+ : "r" (val), "r" (addr)); -+ barrier(); -+} -+ -+static __inline__ void -+xf86WriteMmio16Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("stha %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ void -+xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("st %0, [%1]" -+ : /* No outputs */ -+ : "r" (val), "r" (addr)); -+ barrier(); -+} -+ -+static __inline__ void -+xf86WriteMmio32Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("sta %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+ barrier(); -+} -+ -+static __inline__ void -+xf86WriteMmio8NB(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("stba %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+} -+ -+static __inline__ void -+xf86WriteMmio16BeNB(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("sth %0, [%1]" -+ : /* No outputs */ -+ : "r" (val), "r" (addr)); -+} -+ -+static __inline__ void -+xf86WriteMmio16LeNB(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("stha %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+} -+ -+static __inline__ void -+xf86WriteMmio32BeNB(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("st %0, [%1]" -+ : /* No outputs */ -+ : "r" (val), "r" (addr)); -+} -+ -+static __inline__ void -+xf86WriteMmio32LeNB(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("sta %0, [%1] %2" -+ : /* No outputs */ -+ : "r" (val), "r" (addr), "i" (ASI_PL)); -+} -+ -+# endif /* !Lynx */ -+ -+/* -+ * EGCS 1.1 knows about arbitrary unaligned loads. Define some -+ * packed structures to talk about such things with. -+ */ -+ -+# if defined(__arch64__) || defined(__sparcv9) -+struct __una_u64 { unsigned long x __attribute__((packed)); }; -+# endif -+struct __una_u32 { unsigned int x __attribute__((packed)); }; -+struct __una_u16 { unsigned short x __attribute__((packed)); }; -+ -+static __inline__ unsigned long ldq_u(unsigned long *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+# if defined(__arch64__) || defined(__sparcv9) -+ const struct __una_u64 *ptr = (const struct __una_u64 *) p; -+# else -+ const struct __una_u32 *ptr = (const struct __una_u32 *) p; -+# endif -+ return ptr->x; -+# else -+ unsigned long ret; -+ memmove(&ret, p, sizeof(*p)); -+ return ret; -+# endif -+} -+ -+static __inline__ unsigned long ldl_u(unsigned int *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ const struct __una_u32 *ptr = (const struct __una_u32 *) p; -+ return ptr->x; -+# else -+ unsigned int ret; -+ memmove(&ret, p, sizeof(*p)); -+ return ret; -+# endif -+} -+ -+static __inline__ unsigned long ldw_u(unsigned short *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ const struct __una_u16 *ptr = (const struct __una_u16 *) p; -+ return ptr->x; -+# else -+ unsigned short ret; -+ memmove(&ret, p, sizeof(*p)); -+ return ret; -+# endif -+} -+ -+static __inline__ void stq_u(unsigned long val, unsigned long *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+# if defined(__arch64__) || defined(__sparcv9) -+ struct __una_u64 *ptr = (struct __una_u64 *) p; -+# else -+ struct __una_u32 *ptr = (struct __una_u32 *) p; -+# endif -+ ptr->x = val; -+# else -+ unsigned long tmp = val; -+ memmove(p, &tmp, sizeof(*p)); -+# endif -+} -+ -+static __inline__ void stl_u(unsigned long val, unsigned int *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ struct __una_u32 *ptr = (struct __una_u32 *) p; -+ ptr->x = val; -+# else -+ unsigned int tmp = val; -+ memmove(p, &tmp, sizeof(*p)); -+# endif -+} -+ -+static __inline__ void stw_u(unsigned long val, unsigned short *p) -+{ -+# if defined(__GNUC__) && ((__GNUC__ > 2) || (__GNUC_MINOR__ >= 91)) -+ struct __una_u16 *ptr = (struct __una_u16 *) p; -+ ptr->x = val; -+# else -+ unsigned short tmp = val; -+ memmove(p, &tmp, sizeof(*p)); -+# endif -+} -+ -+# define mem_barrier() /* XXX: nop for now */ -+# define write_mem_barrier() /* XXX: nop for now */ -+ -+# elif defined(__mips__) || defined(__arm32__) -+#ifdef __arm32__ -+#define PORT_SIZE long -+#else -+#define PORT_SIZE short -+#endif -+ -+unsigned int IOPortBase; /* Memory mapped I/O port area */ -+ -+static __inline__ void -+outb(unsigned PORT_SIZE port, unsigned char val) -+{ -+ *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; -+} -+ -+static __inline__ void -+outw(unsigned PORT_SIZE port, unsigned short val) -+{ -+ *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; -+} -+ -+static __inline__ void -+outl(unsigned PORT_SIZE port, unsigned int val) -+{ -+ *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase) = val; -+} -+ -+static __inline__ unsigned int -+inb(unsigned PORT_SIZE port) -+{ -+ return *(volatile unsigned char*)(((unsigned PORT_SIZE)(port))+IOPortBase); -+} -+ -+static __inline__ unsigned int -+inw(unsigned PORT_SIZE port) -+{ -+ return *(volatile unsigned short*)(((unsigned PORT_SIZE)(port))+IOPortBase); -+} -+ -+static __inline__ unsigned int -+inl(unsigned PORT_SIZE port) -+{ -+ return *(volatile unsigned int*)(((unsigned PORT_SIZE)(port))+IOPortBase); -+} -+ -+ -+# if defined(__mips__) -+static __inline__ unsigned long ldq_u(unsigned long * r11) -+{ -+ unsigned long r1; -+ __asm__("lwr %0,%2\n\t" -+ "lwl %0,%3\n\t" -+ :"=&r" (r1) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(unsigned long *)(3+(char *) r11))); -+ return r1; -+} -+ -+static __inline__ unsigned long ldl_u(unsigned int * r11) -+{ -+ unsigned long r1; -+ __asm__("lwr %0,%2\n\t" -+ "lwl %0,%3\n\t" -+ :"=&r" (r1) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(unsigned long *)(3+(char *) r11))); -+ return r1; -+} -+ -+static __inline__ unsigned long ldw_u(unsigned short * r11) -+{ -+ unsigned long r1; -+ __asm__("lwr %0,%2\n\t" -+ "lwl %0,%3\n\t" -+ :"=&r" (r1) -+ :"r" (r11), -+ "m" (*r11), -+ "m" (*(unsigned long *)(1+(char *) r11))); -+ return r1; -+} -+ -+# ifdef linux /* don't mess with other OSs */ -+ -+/* -+ * EGCS 1.1 knows about arbitrary unaligned loads (and we don't support older -+ * versions anyway. Define some packed structures to talk about such things -+ * with. -+ */ -+ -+struct __una_u32 { unsigned int x __attribute__((packed)); }; -+struct __una_u16 { unsigned short x __attribute__((packed)); }; -+ -+static __inline__ void stw_u(unsigned long val, unsigned short *p) -+{ -+ struct __una_u16 *ptr = (struct __una_u16 *) p; -+ ptr->x = val; -+} -+ -+static __inline__ void stl_u(unsigned long val, unsigned int *p) -+{ -+ struct __una_u32 *ptr = (struct __una_u32 *) p; -+ ptr->x = val; -+} -+ -+# if X_BYTE_ORDER == X_BIG_ENDIAN -+static __inline__ unsigned int -+xf86ReadMmio32Be(__volatile__ void *base, const unsigned long offset) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ unsigned int ret; -+ -+ __asm__ __volatile__("lw %0, 0(%1)" -+ : "=r" (ret) -+ : "r" (addr)); -+ return ret; -+} -+ -+static __inline__ void -+xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ unsigned long addr = ((unsigned long)base) + offset; -+ -+ __asm__ __volatile__("sw %0, 0(%1)" -+ : /* No outputs */ -+ : "r" (val), "r" (addr)); -+} -+# endif -+ -+# define mem_barrier() \ -+ __asm__ __volatile__( \ -+ "# prevent instructions being moved around\n\t" \ -+ ".set\tnoreorder\n\t" \ -+ "# 8 nops to fool the R4400 pipeline\n\t" \ -+ "nop;nop;nop;nop;nop;nop;nop;nop\n\t" \ -+ ".set\treorder" \ -+ : /* no output */ \ -+ : /* no input */ \ -+ : "memory") -+# define write_mem_barrier() mem_barrier() -+ -+# else /* !linux */ -+ -+# define stq_u(v,p) stl_u(v,p) -+# define stl_u(v,p) (*(unsigned char *)(p)) = (v); \ -+ (*(unsigned char *)(p)+1) = ((v) >> 8); \ -+ (*(unsigned char *)(p)+2) = ((v) >> 16); \ -+ (*(unsigned char *)(p)+3) = ((v) >> 24) -+ -+# define stw_u(v,p) (*(unsigned char *)(p)) = (v); \ -+ (*(unsigned char *)(p)+1) = ((v) >> 8) -+ -+# define mem_barrier() /* NOP */ -+# endif /* !linux */ -+# endif /* __mips__ */ -+ -+# if defined(__arm32__) -+# define ldq_u(p) (*((unsigned long *)(p))) -+# define ldl_u(p) (*((unsigned int *)(p))) -+# define ldw_u(p) (*((unsigned short *)(p))) -+# define stq_u(v,p) (*(unsigned long *)(p)) = (v) -+# define stl_u(v,p) (*(unsigned int *)(p)) = (v) -+# define stw_u(v,p) (*(unsigned short *)(p)) = (v) -+# define mem_barrier() /* NOP */ -+# define write_mem_barrier() /* NOP */ -+# endif /* __arm32__ */ -+ -+# elif (defined(Lynx) || defined(linux) || defined(__OpenBSD__) || defined(__NetBSD__)) && defined(__powerpc__) -+ -+# ifndef MAP_FAILED -+# define MAP_FAILED ((void *)-1) -+# endif -+ -+extern volatile unsigned char *ioBase; -+ -+# define eieio() __asm__ __volatile__ ("eieio" ::: "memory") -+ -+static __inline__ unsigned char -+xf86ReadMmio8(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned char val; -+ __asm__ __volatile__( -+ "lbzx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+static __inline__ unsigned short -+xf86ReadMmio16Be(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned short val; -+ __asm__ __volatile__( -+ "lhzx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+static __inline__ unsigned short -+xf86ReadMmio16Le(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned short val; -+ __asm__ __volatile__( -+ "lhbrx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+static __inline__ unsigned int -+xf86ReadMmio32Be(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned int val; -+ __asm__ __volatile__( -+ "lwzx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+static __inline__ unsigned int -+xf86ReadMmio32Le(__volatile__ void *base, const unsigned long offset) -+{ -+ register unsigned int val; -+ __asm__ __volatile__( -+ "lwbrx %0,%1,%2\n\t" -+ "eieio" -+ : "=r" (val) -+ : "b" (base), "r" (offset), -+ "m" (*((volatile unsigned char *)base+offset))); -+ return val; -+} -+ -+static __inline__ void -+xf86WriteMmioNB8(__volatile__ void *base, const unsigned long offset, -+ const unsigned char val) -+{ -+ __asm__ __volatile__( -+ "stbx %1,%2,%3\n\t" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ void -+xf86WriteMmioNB16Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned short val) -+{ -+ __asm__ __volatile__( -+ "sthbrx %1,%2,%3\n\t" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ void -+xf86WriteMmioNB16Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned short val) -+{ -+ __asm__ __volatile__( -+ "sthx %1,%2,%3\n\t" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ void -+xf86WriteMmioNB32Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ __asm__ __volatile__( -+ "stwbrx %1,%2,%3\n\t" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ void -+xf86WriteMmioNB32Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ __asm__ __volatile__( -+ "stwx %1,%2,%3\n\t" -+ : "=m" (*((volatile unsigned char *)base+offset)) -+ : "r" (val), "b" (base), "r" (offset)); -+} -+ -+static __inline__ void -+xf86WriteMmio8(__volatile__ void *base, const unsigned long offset, -+ const unsigned char val) -+{ -+ xf86WriteMmioNB8(base, offset, val); -+ eieio(); -+} -+ -+static __inline__ void -+xf86WriteMmio16Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned short val) -+{ -+ xf86WriteMmioNB16Le(base, offset, val); -+ eieio(); -+} -+ -+static __inline__ void -+xf86WriteMmio16Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned short val) -+{ -+ xf86WriteMmioNB16Be(base, offset, val); -+ eieio(); -+} -+ -+static __inline__ void -+xf86WriteMmio32Le(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ xf86WriteMmioNB32Le(base, offset, val); -+ eieio(); -+} -+ -+static __inline__ void -+xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset, -+ const unsigned int val) -+{ -+ xf86WriteMmioNB32Be(base, offset, val); -+ eieio(); -+} -+ -+ -+static __inline__ void -+outb(unsigned short port, unsigned char value) -+{ -+ if(ioBase == MAP_FAILED) return; -+ xf86WriteMmio8((void *)ioBase, port, value); -+} -+ -+static __inline__ void -+outw(unsigned short port, unsigned short value) -+{ -+ if(ioBase == MAP_FAILED) return; -+ xf86WriteMmio16Le((void *)ioBase, port, value); -+} -+ -+static __inline__ void -+outl(unsigned short port, unsigned int value) -+{ -+ if(ioBase == MAP_FAILED) return; -+ xf86WriteMmio32Le((void *)ioBase, port, value); -+} -+ -+static __inline__ unsigned int -+inb(unsigned short port) -+{ -+ if(ioBase == MAP_FAILED) return 0; -+ return xf86ReadMmio8((void *)ioBase, port); -+} -+ -+static __inline__ unsigned int -+inw(unsigned short port) -+{ -+ if(ioBase == MAP_FAILED) return 0; -+ return xf86ReadMmio16Le((void *)ioBase, port); -+} -+ -+static __inline__ unsigned int -+inl(unsigned short port) -+{ -+ if(ioBase == MAP_FAILED) return 0; -+ return xf86ReadMmio32Le((void *)ioBase, port); -+} -+ -+# define ldq_u(p) ldl_u(p) -+# define ldl_u(p) ((*(unsigned char *)(p)) | \ -+ (*((unsigned char *)(p)+1)<<8) | \ -+ (*((unsigned char *)(p)+2)<<16) | \ -+ (*((unsigned char *)(p)+3)<<24)) -+# define ldw_u(p) ((*(unsigned char *)(p)) | \ -+ (*((unsigned char *)(p)+1)<<8)) -+ -+# define stq_u(v,p) stl_u(v,p) -+# define stl_u(v,p) (*(unsigned char *)(p)) = (v); \ -+ (*((unsigned char *)(p)+1)) = ((v) >> 8); \ -+ (*((unsigned char *)(p)+2)) = ((v) >> 16); \ -+ (*((unsigned char *)(p)+3)) = ((v) >> 24) -+# define stw_u(v,p) (*(unsigned char *)(p)) = (v); \ -+ (*((unsigned char *)(p)+1)) = ((v) >> 8) -+ -+# define mem_barrier() eieio() -+# define write_mem_barrier() eieio() -+ -+# else /* ix86 */ -+ -+# define ldq_u(p) (*((unsigned long *)(p))) -+# define ldl_u(p) (*((unsigned int *)(p))) -+# define ldw_u(p) (*((unsigned short *)(p))) -+# define stq_u(v,p) (*(unsigned long *)(p)) = (v) -+# define stl_u(v,p) (*(unsigned int *)(p)) = (v) -+# define stw_u(v,p) (*(unsigned short *)(p)) = (v) -+# define mem_barrier() /* NOP */ -+# define write_mem_barrier() /* NOP */ -+ -+# if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) -+# ifdef GCCUSESGAS -+ -+/* -+ * If gcc uses gas rather than the native assembler, the syntax of these -+ * inlines has to be different. DHD -+ */ -+ -+static __inline__ void -+outb(unsigned short port, unsigned char val) -+{ -+ __asm__ __volatile__("outb %0,%1" : :"a" (val), "d" (port)); -+} -+ -+ -+static __inline__ void -+outw(unsigned short port, unsigned short val) -+{ -+ __asm__ __volatile__("outw %0,%1" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ void -+outl(unsigned short port, unsigned int val) -+{ -+ __asm__ __volatile__("outl %0,%1" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ unsigned int -+inb(unsigned short port) -+{ -+ unsigned char ret; -+ __asm__ __volatile__("inb %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inw(unsigned short port) -+{ -+ unsigned short ret; -+ __asm__ __volatile__("inw %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inl(unsigned short port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("inl %1,%0" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+# else /* GCCUSESGAS */ -+ -+static __inline__ void -+outb(unsigned short port, unsigned char val) -+{ -+ __asm__ __volatile__("out%B0 (%1)" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ void -+outw(unsigned short port, unsigned short val) -+{ -+ __asm__ __volatile__("out%W0 (%1)" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ void -+outl(unsigned short port, unsigned int val) -+{ -+ __asm__ __volatile__("out%L0 (%1)" : :"a" (val), "d" (port)); -+} -+ -+static __inline__ unsigned int -+inb(unsigned short port) -+{ -+ unsigned char ret; -+ __asm__ __volatile__("in%B0 (%1)" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inw(unsigned short port) -+{ -+ unsigned short ret; -+ __asm__ __volatile__("in%W0 (%1)" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+static __inline__ unsigned int -+inl(unsigned short port) -+{ -+ unsigned int ret; -+ __asm__ __volatile__("in%L0 (%1)" : -+ "=a" (ret) : -+ "d" (port)); -+ return ret; -+} -+ -+# endif /* GCCUSESGAS */ -+ -+# else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__)*/ -+ -+static __inline__ void -+outb(unsigned short port, unsigned char val) -+{ -+} -+ -+static __inline__ void -+outw(unsigned short port, unsigned short val) -+{ -+} -+ -+static __inline__ void -+outl(unsigned short port, unsigned int val) -+{ -+} -+ -+static __inline__ unsigned int -+inb(unsigned short port) -+{ -+ return 0; -+} -+ -+static __inline__ unsigned int -+inw(unsigned short port) -+{ -+ return 0; -+} -+ -+static __inline__ unsigned int -+inl(unsigned short port) -+{ -+ return 0; -+} -+ -+# endif /* FAKEIT */ -+ -+# endif /* ix86 */ -+ -+# elif defined(__powerpc__) /* && !__GNUC__ */ -+/* -+ * NON-GCC PowerPC - Presumed to be PowerMAX OS for now -+ */ -+# ifndef PowerMAX_OS -+# error - Non-gcc PowerPC and !PowerMAXOS ??? -+# endif -+ -+# define PPCIO_DEBUG 0 -+# define PPCIO_INLINE 1 -+# define USE_ABS_MACRO 1 -+/* -+ * Use compiler intrinsics to access certain PPC machine instructions -+ */ -+# define eieio() __inst_eieio() -+# define stw_brx(val,base,ndx) __inst_sthbrx(val,base,ndx) -+# define stl_brx(val,base,ndx) __inst_stwbrx(val,base,ndx) -+# define ldw_brx(base,ndx) __inst_lhbrx(base,ndx) -+# define ldl_brx(base,ndx) __inst_lwbrx(base,ndx) -+ -+# define ldq_u(p) (*((unsigned long long *)(p))) -+# define ldl_u(p) (*((unsigned long *)(p))) -+# define ldw_u(p) (*((unsigned short *)(p))) -+# define stq_u(v,p) (*(unsigned long long *)(p)) = (v) -+# define stl_u(v,p) (*(unsigned long *)(p)) = (v) -+# define stw_u(v,p) (*(unsigned short *)(p)) = (v) -+# define mem_barrier() eieio() -+# define write_mem_barrier() eieio() -+ -+extern volatile unsigned char *ioBase; -+ -+# if !defined(abs) && defined(USE_ABS_MACRO) -+# define abs(x) ((x) >= 0 ? (x) : -(x)) -+# endif -+ -+# undef inb -+# undef inw -+# undef inl -+# undef outb -+# undef outw -+# undef outl -+ -+# if PPCIO_DEBUG -+ -+extern void debug_outb(unsigned int a, unsigned char b, int line, char *file); -+extern void debug_outw(unsigned int a, unsigned short w, int line, char *file); -+extern void debug_outl(unsigned int a, unsigned int l, int line, char *file); -+extern unsigned char debug_inb(unsigned int a, int line, char *file); -+extern unsigned short debug_inw(unsigned int a, int line, char *file); -+extern unsigned int debug_inl(unsigned int a, int line, char *file); -+ -+# define outb(a,b) debug_outb(a,b, __LINE__, __FILE__) -+# define outw(a,w) debug_outw(a,w, __LINE__, __FILE__) -+# define outl(a,l) debug_outl(a,l, __LINE__, __FILE__) -+# define inb(a) debug_inb(a, __LINE__, __FILE__) -+# define inw(a) debug_inw(a, __LINE__, __FILE__) -+# define inl(a) debug_inl(a, __LINE__, __FILE__) -+ -+# else /* !PPCIO_DEBUG */ -+ -+extern unsigned char inb(unsigned int a); -+extern unsigned short inw(unsigned int a); -+extern unsigned int inl(unsigned int a); -+ -+# if PPCIO_INLINE -+ -+# define outb(a,b) \ -+ (*((volatile unsigned char *)(ioBase + (a))) = (b), eieio()) -+# define outw(a,w) (stw_brx((w),ioBase,(a)), eieio()) -+# define outl(a,l) (stl_brx((l),ioBase,(a)), eieio()) -+ -+# else /* !PPCIO_INLINE */ -+ -+extern void outb(unsigned int a, unsigned char b); -+extern void outw(unsigned int a, unsigned short w); -+extern void outl(unsigned int a, unsigned int l); -+ -+# endif /* PPCIO_INLINE */ -+ -+# endif /* !PPCIO_DEBUG */ -+ -+# else /* !GNUC && !PPC */ -+# if !defined(QNX4) -+# if defined(__STDC__) && (__STDC__ == 1) -+# ifndef asm -+# define asm __asm -+# endif -+# endif -+# ifdef SVR4 -+#if 0 -+# include -+#endif -+# ifndef __HIGHC__ -+# ifndef __USLC__ -+# define __USLC__ -+# endif -+# endif -+# endif -+# ifndef SCO325 -+# if defined(USL) -+# if defined(IN_MODULE) -+# /* avoid including for on UnixWare */ -+# define ushort unsigned short -+# define ushort_t unsigned short -+# define ulong unsigned long -+# define ulong_t unsigned long -+# define uint_t unsigned int -+# define uchar_t unsigned char -+# else -+# include -+# endif /* IN_MODULE */ -+# endif /* USL */ -+# include -+# else -+# include "scoasm.h" -+# endif -+# if !defined(__HIGHC__) && !defined(SCO325) -+# pragma asm partial_optimization outl -+# pragma asm partial_optimization outw -+# pragma asm partial_optimization outb -+# pragma asm partial_optimization inl -+# pragma asm partial_optimization inw -+# pragma asm partial_optimization inb -+# endif -+# endif -+# define ldq_u(p) (*((unsigned long *)(p))) -+# define ldl_u(p) (*((unsigned int *)(p))) -+# define ldw_u(p) (*((unsigned short *)(p))) -+# define stq_u(v,p) (*(unsigned long *)(p)) = (v) -+# define stl_u(v,p) (*(unsigned int *)(p)) = (v) -+# define stw_u(v,p) (*(unsigned short *)(p)) = (v) -+# define mem_barrier() /* NOP */ -+# define write_mem_barrier() /* NOP */ -+# endif /* __GNUC__ */ -+ -+# if defined(QNX4) -+# include -+extern unsigned inb(unsigned port); -+extern unsigned inw(unsigned port); -+extern unsigned inl(unsigned port); -+extern void outb(unsigned port, unsigned val); -+extern void outw(unsigned port, unsigned val); -+extern void outl(unsigned port, unsigned val); -+# endif /* QNX4 */ -+ -+# if defined(IODEBUG) && defined(__GNUC__) -+# undef inb -+# undef inw -+# undef inl -+# undef outb -+# undef outw -+# undef outl -+# define inb(a) __extension__ ({unsigned char __c=RealInb(a); ErrorF("inb(0x%03x) = 0x%02x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) -+# define inw(a) __extension__ ({unsigned short __c=RealInw(a); ErrorF("inw(0x%03x) = 0x%04x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) -+# define inl(a) __extension__ ({unsigned int __c=RealInl(a); ErrorF("inl(0x%03x) = 0x%08x\t@ line %4d, file %s\n", a, __c, __LINE__, __FILE__);__c;}) -+ -+# define outb(a,b) (ErrorF("outb(0x%03x, 0x%02x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutb(a,b)) -+# define outw(a,b) (ErrorF("outw(0x%03x, 0x%04x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutw(a,b)) -+# define outl(a,b) (ErrorF("outl(0x%03x, 0x%08x)\t@ line %4d, file %s\n", a, b, __LINE__, __FILE__),RealOutl(a,b)) -+# endif -+ -+# endif /* NO_INLINE */ -+ -+# ifdef __alpha__ -+/* entry points for Mmio memory access routines */ -+extern int (*xf86ReadMmio8)(void *, unsigned long); -+extern int (*xf86ReadMmio16)(void *, unsigned long); -+extern int (*xf86ReadMmio32)(void *, unsigned long); -+extern void (*xf86WriteMmio8)(int, void *, unsigned long); -+extern void (*xf86WriteMmio16)(int, void *, unsigned long); -+extern void (*xf86WriteMmio32)(int, void *, unsigned long); -+extern void (*xf86WriteMmioNB8)(int, void *, unsigned long); -+extern void (*xf86WriteMmioNB16)(int, void *, unsigned long); -+extern void (*xf86WriteMmioNB32)(int, void *, unsigned long); -+extern void xf86JensenMemToBus(char *, long, long, int); -+extern void xf86JensenBusToMem(char *, char *, unsigned long, int); -+extern void xf86SlowBCopyFromBus(unsigned char *, unsigned char *, int); -+extern void xf86SlowBCopyToBus(unsigned char *, unsigned char *, int); -+ -+/* Some macros to hide the system dependencies for MMIO accesses */ -+/* Changed to kill noise generated by gcc's -Wcast-align */ -+# define MMIO_IN8(base, offset) (*xf86ReadMmio8)(base, offset) -+# define MMIO_IN16(base, offset) (*xf86ReadMmio16)(base, offset) -+# define MMIO_IN32(base, offset) (*xf86ReadMmio32)(base, offset) -+ -+# if defined (JENSEN_SUPPORT) -+# define MMIO_OUT32(base, offset, val) \ -+ (*xf86WriteMmio32)((CARD32)(val), base, offset) -+# define MMIO_ONB32(base, offset, val) \ -+ (*xf86WriteMmioNB32)((CARD32)(val), base, offset) -+# else -+# define MMIO_OUT32(base, offset, val) \ -+ do { \ -+ write_mem_barrier(); \ -+ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val); \ -+ } while (0) -+# define MMIO_ONB32(base, offset, val) \ -+ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val) -+# endif -+ -+# define MMIO_OUT8(base, offset, val) \ -+ (*xf86WriteMmio8)((CARD8)(val), base, offset) -+# define MMIO_OUT16(base, offset, val) \ -+ (*xf86WriteMmio16)((CARD16)(val), base, offset) -+# define MMIO_ONB8(base, offset, val) \ -+ (*xf86WriteMmioNB8)((CARD8)(val), base, offset) -+# define MMIO_ONB16(base, offset, val) \ -+ (*xf86WriteMmioNB16)((CARD16)(val), base, offset) -+# define MMIO_MOVE32(base, offset, val) \ -+ MMIO_OUT32(base, offset, val) -+ -+# elif defined(__powerpc__) -+ /* -+ * we provide byteswapping and no byteswapping functions here -+ * with byteswapping as default, -+ * drivers that don't need byteswapping should define PPC_MMIO_IS_BE -+ */ -+# define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset) -+# define MMIO_OUT8(base, offset, val) \ -+ xf86WriteMmio8(base, offset, (CARD8)(val)) -+# define MMIO_ONB8(base, offset, val) \ -+ xf86WriteMmioNB8(base, offset, (CARD8)(val)) -+ -+# if defined(PPC_MMIO_IS_BE) /* No byteswapping */ -+# define MMIO_IN16(base, offset) xf86ReadMmio16Be(base, offset) -+# define MMIO_IN32(base, offset) xf86ReadMmio32Be(base, offset) -+# define MMIO_OUT16(base, offset, val) \ -+ xf86WriteMmio16Be(base, offset, (CARD16)(val)) -+# define MMIO_OUT32(base, offset, val) \ -+ xf86WriteMmio32Be(base, offset, (CARD32)(val)) -+# define MMIO_ONB16(base, offset, val) \ -+ xf86WriteMmioNB16Be(base, offset, (CARD16)(val)) -+# define MMIO_ONB32(base, offset, val) \ -+ xf86WriteMmioNB32Be(base, offset, (CARD32)(val)) -+# else /* byteswapping is the default */ -+# define MMIO_IN16(base, offset) xf86ReadMmio16Le(base, offset) -+# define MMIO_IN32(base, offset) xf86ReadMmio32Le(base, offset) -+# define MMIO_OUT16(base, offset, val) \ -+ xf86WriteMmio16Le(base, offset, (CARD16)(val)) -+# define MMIO_OUT32(base, offset, val) \ -+ xf86WriteMmio32Le(base, offset, (CARD32)(val)) -+# define MMIO_ONB16(base, offset, val) \ -+ xf86WriteMmioNB16Le(base, offset, (CARD16)(val)) -+# define MMIO_ONB32(base, offset, val) \ -+ xf86WriteMmioNB32Le(base, offset, (CARD32)(val)) -+# endif -+ -+# define MMIO_MOVE32(base, offset, val) \ -+ xf86WriteMmio32Be(base, offset, (CARD32)(val)) -+ -+static __inline__ void ppc_flush_icache(char *addr) -+{ -+ __asm__ volatile ( -+ "dcbf 0,%0;" -+ "sync;" -+ "icbi 0,%0;" -+ "sync;" -+ "isync;" -+ : : "r"(addr) : "memory"); -+} -+ -+# elif defined(__sparc__) -+ /* -+ * Like powerpc, we provide byteswapping and no byteswapping functions -+ * here with byteswapping as default, drivers that don't need byteswapping -+ * should define SPARC_MMIO_IS_BE (perhaps create a generic macro so that we -+ * do not need to use PPC_MMIO_IS_BE and the sparc one in all the same places -+ * of drivers?). -+ */ -+# define MMIO_IN8(base, offset) xf86ReadMmio8(base, offset) -+# define MMIO_OUT8(base, offset, val) \ -+ xf86WriteMmio8(base, offset, (CARD8)(val)) -+# define MMIO_ONB8(base, offset, val) \ -+ xf86WriteMmio8NB(base, offset, (CARD8)(val)) -+ -+# if defined(SPARC_MMIO_IS_BE) /* No byteswapping */ -+# define MMIO_IN16(base, offset) xf86ReadMmio16Be(base, offset) -+# define MMIO_IN32(base, offset) xf86ReadMmio32Be(base, offset) -+# define MMIO_OUT16(base, offset, val) \ -+ xf86WriteMmio16Be(base, offset, (CARD16)(val)) -+# define MMIO_OUT32(base, offset, val) \ -+ xf86WriteMmio32Be(base, offset, (CARD32)(val)) -+# define MMIO_ONB16(base, offset, val) \ -+ xf86WriteMmio16BeNB(base, offset, (CARD16)(val)) -+# define MMIO_ONB32(base, offset, val) \ -+ xf86WriteMmio32BeNB(base, offset, (CARD32)(val)) -+# else /* byteswapping is the default */ -+# define MMIO_IN16(base, offset) xf86ReadMmio16Le(base, offset) -+# define MMIO_IN32(base, offset) xf86ReadMmio32Le(base, offset) -+# define MMIO_OUT16(base, offset, val) \ -+ xf86WriteMmio16Le(base, offset, (CARD16)(val)) -+# define MMIO_OUT32(base, offset, val) \ -+ xf86WriteMmio32Le(base, offset, (CARD32)(val)) -+# define MMIO_ONB16(base, offset, val) \ -+ xf86WriteMmio16LeNB(base, offset, (CARD16)(val)) -+# define MMIO_ONB32(base, offset, val) \ -+ xf86WriteMmio32LeNB(base, offset, (CARD32)(val)) -+# endif -+ -+# define MMIO_MOVE32(base, offset, val) \ -+ xf86WriteMmio32Be(base, offset, (CARD32)(val)) -+ -+# else /* !__alpha__ && !__powerpc__ && !__sparc__ */ -+ -+# define MMIO_IN8(base, offset) \ -+ *(volatile CARD8 *)(((CARD8*)(base)) + (offset)) -+# define MMIO_IN16(base, offset) \ -+ *(volatile CARD16 *)(void *)(((CARD8*)(base)) + (offset)) -+# define MMIO_IN32(base, offset) \ -+ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) -+# define MMIO_OUT8(base, offset, val) \ -+ *(volatile CARD8 *)(((CARD8*)(base)) + (offset)) = (val) -+# define MMIO_OUT16(base, offset, val) \ -+ *(volatile CARD16 *)(void *)(((CARD8*)(base)) + (offset)) = (val) -+# define MMIO_OUT32(base, offset, val) \ -+ *(volatile CARD32 *)(void *)(((CARD8*)(base)) + (offset)) = (val) -+# define MMIO_ONB8(base, offset, val) MMIO_OUT8(base, offset, val) -+# define MMIO_ONB16(base, offset, val) MMIO_OUT16(base, offset, val) -+# define MMIO_ONB32(base, offset, val) MMIO_OUT32(base, offset, val) -+ -+# define MMIO_MOVE32(base, offset, val) MMIO_OUT32(base, offset, val) -+ -+# endif /* __alpha__ */ -+ -+/* -+ * With Intel, the version in os-support/misc/SlowBcopy.s is used. -+ * This avoids port I/O during the copy (which causes problems with -+ * some hardware). -+ */ -+# ifdef __alpha__ -+# define slowbcopy_tobus(src,dst,count) xf86SlowBCopyToBus(src,dst,count) -+# define slowbcopy_frombus(src,dst,count) xf86SlowBCopyFromBus(src,dst,count) -+# else /* __alpha__ */ -+# define slowbcopy_tobus(src,dst,count) xf86SlowBcopy(src,dst,count) -+# define slowbcopy_frombus(src,dst,count) xf86SlowBcopy(src,dst,count) -+# endif /* __alpha__ */ -+ -+#endif /* _COMPILER_H */ -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/xorg-server.h -=================================================================== ---- /dev/null -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/xorg-server.h -@@ -0,0 +1,247 @@ -+/* include/xorg-server.h. Generated from xorg-server.h.in by configure. */ -+/* xorg-server.h.in -*- c -*- -+ * -+ * This file is the template file for the xorg-server.h file which gets -+ * installed as part of the SDK. The #defines in this file overlap -+ * with those from config.h, but only for those options that we want -+ * to export to external modules. Boilerplate autotool #defines such -+ * as HAVE_STUFF and PACKAGE_NAME is kept in config.h -+ * -+ * It is still possible to update config.h.in using autoheader, since -+ * autoheader only creates a .h.in file for the first -+ * AM_CONFIG_HEADER() line, and thus does not overwrite this file. -+ * -+ * However, it should be kept in sync with this file. -+ */ -+ -+#ifndef _XORG_SERVER_H_ -+#define _XORG_SERVER_H_ -+ -+/* Support BigRequests extension */ -+#define BIGREQS 1 -+ -+/* Default font path */ -+#define COMPILEDDEFAULTFONTPATH "/usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/" -+ -+/* Support Composite Extension */ -+#define COMPOSITE 1 -+ -+/* Use OsVendorInit */ -+#define DDXOSINIT 1 -+ -+/* Build DPMS extension */ -+#define DPMSExtension 1 -+ -+/* Build GLX extension */ -+#define GLXEXT 1 -+ -+/* Include handhelds.org h3600 touchscreen driver */ -+/* #undef H3600_TS */ -+ -+/* Support XDM-AUTH*-1 */ -+#define HASXDMAUTH 1 -+ -+/* Support SHM */ -+#define HAS_SHM 1 -+ -+/* Support IPv6 for TCP connections */ -+#define IPv6 1 -+ -+/* Support MIT Misc extension */ -+#define MITMISC 1 -+ -+/* Support MIT-SHM Extension */ -+#define MITSHM 1 -+ -+/* Disable some debugging code */ -+#define NDEBUG 1 -+ -+/* Need XFree86 helper functions */ -+#define NEED_XF86_PROTOTYPES 1 -+ -+/* Need XFree86 typedefs */ -+#define NEED_XF86_TYPES 1 -+ -+/* Internal define for Xinerama */ -+#define PANORAMIX 1 -+ -+/* Support RANDR extension */ -+#define RANDR 1 -+ -+/* Support RENDER extension */ -+#define RENDER 1 -+ -+/* Support X resource extension */ -+#define RES 1 -+ -+/* Support MIT-SCREEN-SAVER extension */ -+#define SCREENSAVER 1 -+ -+/* Use a lock to prevent multiple servers on a display */ -+#define SERVER_LOCK 1 -+ -+/* Support SHAPE extension */ -+#define SHAPE 1 -+ -+/* Include time-based scheduler */ -+#define SMART_SCHEDULE 1 -+ -+/* Define to 1 on systems derived from System V Release 4 */ -+/* #undef SVR4 */ -+ -+/* Support TCP socket connections */ -+#define TCPCONN 1 -+ -+/* Enable touchscreen support */ -+/* #undef TOUCHSCREEN */ -+ -+/* Support tslib touchscreen abstraction library */ -+/* #undef TSLIB */ -+ -+/* Support UNIX socket connections */ -+#define UNIXCONN 1 -+ -+/* unaligned word accesses behave as expected */ -+/* #undef WORKING_UNALIGNED_INT */ -+ -+/* Support XCMisc extension */ -+#define XCMISC 1 -+ -+/* Support Xdmcp */ -+#define XDMCP 1 -+ -+/* Build XFree86 BigFont extension */ -+/* #undef XF86BIGFONT */ -+ -+/* Support XFree86 miscellaneous extensions */ -+#define XF86MISC 1 -+ -+/* Support XFree86 Video Mode extension */ -+#define XF86VIDMODE 1 -+ -+/* Build XDGA support */ -+#define XFreeXDGA 1 -+ -+/* Support Xinerama extension */ -+#define XINERAMA 1 -+ -+/* Support X Input extension */ -+#define XINPUT 1 -+ -+/* Build XKB */ -+#define XKB 1 -+ -+/* Enable XKB per default */ -+#define XKB_DFLT_DISABLED 0 -+ -+/* Build XKB server */ -+#define XKB_IN_SERVER 1 -+ -+/* Support loadable input and output drivers */ -+/* #undef XLOADABLE */ -+ -+/* Build DRI extension */ -+#define XF86DRI 1 -+ -+/* Build DRI2 extension */ -+/* #undef DRI2 */ -+ -+/* Build Xorg server */ -+#define XORGSERVER 1 -+ -+/* Vendor release */ -+/* #undef XORG_RELEASE */ -+ -+/* Current Xorg version */ -+#define XORG_VERSION_CURRENT (((1) * 10000000) + ((5) * 100000) + ((3) * 1000) + 0) -+ -+/* Build Xv Extension */ -+#define XvExtension 1 -+ -+/* Build XvMC Extension */ -+#define XvMCExtension 1 -+ -+/* Build XRes extension */ -+#define XResExtension 1 -+ -+/* Support XSync extension */ -+#define XSYNC 1 -+ -+/* Support XTest extension */ -+#define XTEST 1 -+ -+/* Support XTrap extension */ -+/* #undef XTRAP */ -+ -+/* Support Xv Extension */ -+#define XV 1 -+ -+/* Vendor name */ -+#define XVENDORNAME "The X.Org Foundation" -+ -+/* Endian order */ -+#define _X_BYTE_ORDER X_LITTLE_ENDIAN -+/* Deal with multiple architecture compiles on Mac OS X */ -+#ifndef __APPLE_CC__ -+#define X_BYTE_ORDER _X_BYTE_ORDER -+#else -+#ifdef __BIG_ENDIAN__ -+#define X_BYTE_ORDER X_BIG_ENDIAN -+#else -+#define X_BYTE_ORDER X_LITTLE_ENDIAN -+#endif -+#endif -+ -+/* BSD-compliant source */ -+/* #undef _BSD_SOURCE */ -+ -+/* POSIX-compliant source */ -+/* #undef _POSIX_SOURCE */ -+ -+/* X/Open-compliant source */ -+/* #undef _XOPEN_SOURCE */ -+ -+/* Vendor web address for support */ -+#define __VENDORDWEBSUPPORT__ "http://wiki.x.org" -+ -+/* Location of configuration file */ -+#define __XCONFIGFILE__ "xorg.conf" -+ -+/* XKB default rules */ -+#define __XKBDEFRULES__ "xorg" -+ -+/* Name of X server */ -+#define __XSERVERNAME__ "Xorg" -+ -+/* Define to 1 if unsigned long is 64 bits. */ -+/* #undef _XSERVER64 */ -+ -+/* Building vgahw module */ -+#define WITH_VGAHW 1 -+ -+/* System is BSD-like */ -+/* #undef CSRG_BASED */ -+ -+/* Solaris 8 or later? */ -+/* #undef __SOL8__ */ -+ -+/* System has PC console */ -+/* #undef PCCONS_SUPPORT */ -+ -+/* System has PCVT console */ -+/* #undef PCVT_SUPPORT */ -+ -+/* System has syscons console */ -+/* #undef SYSCONS_SUPPORT */ -+ -+/* System has wscons console */ -+/* #undef WSCONS_SUPPORT */ -+ -+/* Loadable XFree86 server awesomeness */ -+#define XFree86LOADER 1 -+ -+/* Use libpciaccess */ -+#define XSERVER_LIBPCIACCESS 1 -+ -+#endif /* _XORG_SERVER_H_ */ -+ -Index: VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/Makefile.kmk -=================================================================== ---- VirtualBox-7.0.6.orig/src/VBox/Additions/x11/vboxvideo/Makefile.kmk -+++ VirtualBox-7.0.6/src/VBox/Additions/x11/vboxvideo/Makefile.kmk -@@ -411,7 +411,7 @@ ifdef XX_VBOX_USE_SYSTEM_XORG_HEADERS - SYSMODS := $(filter-out vboxvideo_drv%,$(SYSMODS)) - vboxvideo_drv_system_TEMPLATE = VBOXGUESTR3XORGMOD - vboxvideo_drv_system_CFLAGS := \ -- $(vboxvideo_drv_70_CFLAGS) -include xorg-server.h -+ $(vboxvideo_drv_70_CFLAGS) -Isrc/VBox/Additions/x11/x11include/XFree86-4.3/Xserver/ -Isrc/VBox/Additions/x11/x11include/XFree86-4.3/X11/ - vboxvideo_drv_system_DEFS := $(filter-out _XORG_SERVER_H_ _DIX_CONFIG_H_, $(vboxvideo_15_DEFS)) - vboxvideo_drv_system_INCS += \ - $(PATH_ROOT)/src/VBox/Runtime/include \ diff --git a/virtualbox.changes b/virtualbox.changes index ab84269..63ce6f0 100644 --- a/virtualbox.changes +++ b/virtualbox.changes @@ -37,6 +37,7 @@ CVE-2023-21999 Oracle VM VirtualBox Core None No 3.6 Prior to 6.1.44, Prior to 7 CVE-2023-21991 Oracle VM VirtualBox Core None No 3.2 Prior to 6.1.44, Prior to 7.0.8 Removed file fixes_for_kernel_6.3.patch - removed upstream. + Removed file fix_kmp_build.patch. Thanks to Javier de San Pedro for the simplfication of the KMP build. diff --git a/virtualbox.spec b/virtualbox.spec index 52c37b5..aebe3e9 100644 --- a/virtualbox.spec +++ b/virtualbox.spec @@ -303,6 +303,7 @@ the terms of the GNU Public License (GPL). + #-######################################### %package qt Summary: Qt GUI part for %{name} @@ -330,6 +331,7 @@ This package contains the code for the GUI used to control VMs. + #-######################################## %package websrv Summary: WebService GUI part for %{name} @@ -350,6 +352,7 @@ The VirtualBox web server is used to control headless VMs using a browser. + #-########################################## %package guest-tools @@ -382,6 +385,7 @@ VirtualBox guest addition tools. + #-########################################## %package -n python3-%{name} Summary: Python bindings for %{name} @@ -410,6 +414,7 @@ Python XPCOM bindings to %{name}. Used e.g. by vboxgtk package. + #-########################################## %package devel Summary: Devel files for %{name} @@ -433,6 +438,7 @@ Development file for %{name} + #-########################################## %package host-source Summary: Source files for %{name} host kernel modules @@ -473,6 +479,7 @@ sudo %{_sbindir}/vboxguestconfig + #-########################################## %package guest-desktop-icons Summary: Icons for guest desktop files @@ -494,6 +501,7 @@ This package contains icons for guest desktop files that were created on the des + #-########################################## %package vnc Summary: VNC desktop sharing