diff options
author | JingJingHack | 2017-07-14 12:38:36 +0800 |
---|---|---|
committer | JingJingHack | 2017-07-14 12:38:36 +0800 |
commit | 8e7f3b960900c83de426d56799e265793ae33939 (patch) | |
tree | 8683b2ef75c685ba143745ada1626141406ae54c | |
parent | d124cf7f69bb93fe821cd7203cd435049da91821 (diff) | |
download | aur-8e7f3b960900c83de426d56799e265793ae33939.tar.gz |
gcc7
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | 009-gcc-7.patch | 303 | ||||
-rw-r--r-- | 010-linux-4.12.patch | 86 | ||||
-rw-r--r-- | 011-i3wm.patch (renamed from 009-i3wm.patch) | 0 | ||||
-rw-r--r-- | PKGBUILD | 20 | ||||
-rw-r--r-- | virtualbox-guest-dkms.conf | 31 | ||||
-rw-r--r-- | virtualbox-host-dkms.conf | 35 |
7 files changed, 475 insertions, 12 deletions
@@ -1,6 +1,6 @@ pkgbase = virtualbox-i3 pkgver = 5.1.22 - pkgrel = 2 + pkgrel = 4 url = http://virtualbox.org arch = i686 arch = x86_64 @@ -43,8 +43,8 @@ pkgbase = virtualbox-i3 makedepends = xf86driproto makedepends = xorg-server-devel source = http://download.virtualbox.org/virtualbox/5.1.22/VirtualBox-5.1.22.tar.bz2 - source = virtualbox-i3-host-dkms.conf - source = virtualbox-i3-guest-dkms.conf + source = virtualbox-host-dkms.conf + source = virtualbox-guest-dkms.conf source = virtualbox.sysusers source = virtualbox-guest-utils.sysusers source = 60-vboxdrv.rules @@ -60,7 +60,9 @@ pkgbase = virtualbox-i3 source = 006-rdesktop-vrdp-keymap-path.patch source = 007-python2-path.patch source = 008-no-vboxvideo.patch - source = 009-i3wm.patch + source = 009-gcc-7.patch + source = 010-linux-4.12.patch + source = 011-i3wm.patch sha256sums = fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899 sha256sums = deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec sha256sums = 113f9b92141b85df01f1e74d22f01d1f1aa81650eb79b89ceefc3cae20afe2e2 @@ -79,6 +81,8 @@ pkgbase = virtualbox-i3 sha256sums = 5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc sha256sums = 6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f sha256sums = 8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc + sha256sums = 0f5cb04362be022bba71295867aac9eaddf9ece0d3ce82c083d70829564ec8d2 + sha256sums = e606144f6629070b6aefddf93c44173cd87bc2fa0a7c3512e6296a805705b90b sha256sums = 24d33c00da2d79ce578b5a35e816d11f9e61c5317fe4415fc08a2cbcd5f1c001 makedepends_x86_64 = gcc-multilib makedepends_x86_64 = lib32-glibc diff --git a/009-gcc-7.patch b/009-gcc-7.patch new file mode 100644 index 000000000000..ab76ca4de899 --- /dev/null +++ b/009-gcc-7.patch @@ -0,0 +1,303 @@ +Index: trunk/src/recompiler/Makefile.kmk +=================================================================== +--- trunk/src/recompiler/Makefile.kmk (revision 67289) ++++ trunk/src/recompiler/Makefile.kmk (revision 67298) +@@ -320,7 +320,8 @@ + + $$(VBoxREMImp_0_OUTDIR)/VBoxREMRes.o: $(VBOX_PATH_RECOMPILER_SRC)/VBoxREM.rc $(MAKEFILE_CURRENT) $(VBOX_VERSION_MK) | $$(dir $$@) + $(call MSG_GENERATE,,$@) +- $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' -- $(TOOL_MINGWW64_PREFIX)windres \ ++ $(QUIET)$(REDIRECT) -E 'COMSPEC=$(VBOX_GOOD_COMSPEC_BS)' \ ++ -- $(TOOL_$(VBoxRemPrimary_TOOL.win.$(KBUILD_TARGET_ARCH))_PREFIX)windres \ + $(addprefix -I,$(INCS) $(PATH_SDK_$(VBOX_WINPSDK)_INC) $(PATH_TOOL_$(VBOX_VCC_TOOL)_INC)) \ + -DVBOX_SVN_REV=$(VBOX_SVN_REV) \ + -DVBOX_SVN_REV_MOD_5K=$(expr $(VBOX_SVN_REV) % 50000) \ +Index: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c +=================================================================== +--- trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (nonexistent) ++++ trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c (revision 67298) +@@ -0,0 +1,53 @@ ++/* $Id$ */ ++/** @file ++ * IPRT - __udivmoddi4 implementation ++ */ ++ ++/* ++ * Copyright (C) 2006-2016 Oracle Corporation ++ * ++ * This file is part of VirtualBox Open Source Edition (OSE), as ++ * available from http://www.virtualbox.org. This file is free software; ++ * you can redistribute it and/or modify it under the terms of the GNU ++ * General Public License (GPL) as published by the Free Software ++ * Foundation, in version 2 as it comes in the "COPYING" file of the ++ * VirtualBox OSE distribution. VirtualBox OSE is distributed in the ++ * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. ++ * ++ * The contents of this file may alternatively be used under the terms ++ * of the Common Development and Distribution License Version 1.0 ++ * (CDDL) only, as it comes in the "COPYING.CDDL" file of the ++ * VirtualBox OSE distribution, in which case the provisions of the ++ * CDDL are applicable instead of those of the GPL. ++ * ++ * You may elect to license modified versions of this file under the ++ * terms and conditions of either the GPL or the CDDL or both. ++ */ ++ ++#include <iprt/stdint.h> ++#include <iprt/uint64.h> ++ ++uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R); ++ ++/** ++ * __udivmoddi4() implementation to satisfy external references from 32-bit ++ * code generated by gcc-7 or later. ++ * ++ * @param u64A The divident value. ++ * @param u64B The divisor value. ++ * @param pu64R A pointer to the reminder. May be NULL. ++ * @returns u64A / u64B ++ */ ++uint64_t __udivmoddi4(uint64_t u64A, uint64_t u64B, uint64_t *pu64R) ++{ ++ RTUINT64U Divident; ++ RTUINT64U Divisor; ++ RTUINT64U Quotient; ++ RTUINT64U Reminder; ++ Divident.u = u64A; ++ Divisor.u = u64B; ++ RTUInt64DivRem(&Quotient, &Reminder, &Divident, &Divisor); ++ if (pu64R) ++ *pu64R = Reminder.u; ++ return Quotient.u; ++} + +Property changes on: trunk/src/VBox/Runtime/common/math/gcc/udivmoddi4.c +___________________________________________________________________ +Added: svn:eol-style +## -0,0 +1 ## ++native +\ No newline at end of property +Added: svn:keywords +## -0,0 +1 ## ++Author Date Id Revision +\ No newline at end of property +Index: trunk/src/VBox/Runtime/Makefile.kmk +=================================================================== +--- trunk/src/VBox/Runtime/Makefile.kmk (revision 67289) ++++ trunk/src/VBox/Runtime/Makefile.kmk (revision 67298) +@@ -1850,6 +1850,7 @@ + common/math/gcc/subdi3.c \ + common/math/gcc/ucmpdi2.c \ + common/math/gcc/udivdi3.c \ ++ common/math/gcc/udivmoddi4.c \ + common/math/gcc/umoddi3.c \ + common/math/gcc/xordi3.c + +@@ -1942,6 +1943,7 @@ + common/math/gcc/subdi3.c \ + common/math/gcc/ucmpdi2.c \ + common/math/gcc/udivdi3.c \ ++ common/math/gcc/udivmoddi4.c \ + common/math/gcc/umoddi3.c \ + common/math/gcc/xordi3.c + endif +@@ -2675,6 +2677,7 @@ + common/math/gcc/subdi3.c \ + common/math/gcc/ucmpdi2.c \ + common/math/gcc/udivdi3.c \ ++ common/math/gcc/udivmoddi4.c \ + common/math/gcc/umoddi3.c \ + common/math/gcc/xordi3.c + endif +Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/files_vboxnetadp (revision 67298) +@@ -49,6 +49,7 @@ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ +@@ -70,6 +71,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/string/strformat.cpp=>common/string/strformat.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/string/strformatrt.cpp=>common/string/strformatrt.c \ +Index: trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile (revision 67298) +@@ -72,6 +72,7 @@ + math/gcc/moddi3.o \ + math/gcc/qdivrem.o \ + math/gcc/udivdi3.o \ ++ math/gcc/udivmoddi4.o \ + math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif +Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxPci/linux/files_vboxpci (revision 67298) +@@ -48,6 +48,7 @@ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ +@@ -75,6 +76,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ + ${PATH_OUT}/version-generated.h=>version-generated.h \ +Index: trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxPci/linux/Makefile (revision 67298) +@@ -76,6 +76,7 @@ + math/gcc/moddi3.o \ + math/gcc/qdivrem.o \ + math/gcc/udivdi3.o \ ++ math/gcc/udivmoddi4.o \ + math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif +Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/Makefile (revision 67298) +@@ -76,6 +76,7 @@ + math/gcc/moddi3.o \ + math/gcc/qdivrem.o \ + math/gcc/udivdi3.o \ ++ math/gcc/udivmoddi4.o \ + math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif +Index: trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt +=================================================================== +--- trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67289) ++++ trunk/src/VBox/HostDrivers/VBoxNetFlt/linux/files_vboxnetflt (revision 67298) +@@ -49,6 +49,7 @@ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ +@@ -77,6 +78,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ + ${PATH_OUT}/version-generated.h=>version-generated.h \ +Index: trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv +=================================================================== +--- trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67289) ++++ trunk/src/VBox/HostDrivers/Support/linux/files_vboxdrv (revision 67298) +@@ -65,6 +65,7 @@ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ + ${PATH_ROOT}/include/iprt/uint128.h=>include/iprt/uint128.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/uuid.h=>include/iprt/uuid.h \ +@@ -108,6 +109,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>math/gcc/qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>math/gcc/quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>math/gcc/udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>math/gcc/udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>math/gcc/umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ +Index: trunk/src/VBox/HostDrivers/Support/linux/Makefile +=================================================================== +--- trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67289) ++++ trunk/src/VBox/HostDrivers/Support/linux/Makefile (revision 67298) +@@ -162,6 +162,7 @@ + math/gcc/moddi3.o \ + math/gcc/qdivrem.o \ + math/gcc/udivdi3.o \ ++ math/gcc/udivmoddi4.o \ + math/gcc/divdi3.o \ + math/gcc/umoddi3.o + endif +Index: trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module +=================================================================== +--- trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67289) ++++ trunk/src/VBox/Additions/linux/sharedfolders/Makefile.module (revision 67298) +@@ -38,6 +38,7 @@ + divdi3.o \ + moddi3.o \ + udivdi3.o \ ++ udivmoddi4.o \ + umoddi3.o \ + qdivrem.o + endif +Index: trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf +=================================================================== +--- trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67289) ++++ trunk/src/VBox/Additions/linux/sharedfolders/files_vboxsf (revision 67298) +@@ -38,6 +38,7 @@ + ${PATH_ROOT}/include/iprt/string.h=>include/iprt/string.h \ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/VBox/cdefs.h=>include/VBox/cdefs.h \ +@@ -73,6 +74,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h=>r0drv/linux/the-linux-kernel.h \ + ${PATH_ROOT}/src/VBox/Additions/linux/sharedfolders/Makefile.module=>Makefile \ +Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest +=================================================================== +--- trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67289) ++++ trunk/src/VBox/Additions/common/VBoxGuest/linux/files_vboxguest (revision 67298) +@@ -54,6 +54,7 @@ + ${PATH_ROOT}/include/iprt/time.h=>include/iprt/time.h \ + ${PATH_ROOT}/include/iprt/timer.h=>include/iprt/timer.h \ + ${PATH_ROOT}/include/iprt/types.h=>include/iprt/types.h \ ++ ${PATH_ROOT}/include/iprt/uint64.h=>include/iprt/uint64.h \ + ${PATH_ROOT}/include/iprt/uni.h=>include/iprt/uni.h \ + ${PATH_ROOT}/include/iprt/utf16.h=>include/iprt/utf16.h \ + ${PATH_ROOT}/include/iprt/x86.h=>include/iprt/x86.h \ +@@ -113,6 +114,7 @@ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/qdivrem.c=>common/math/gcc/qdivrem.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/quad.h=>common/math/gcc/quad.h \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivdi3.c=>common/math/gcc/udivdi3.c \ ++ ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/udivmoddi4.c=>common/math/gcc/udivmoddi4.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/math/gcc/umoddi3.c=>common/math/gcc/umoddi3.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg1Weak.cpp=>common/misc/RTAssertMsg1Weak.c \ + ${PATH_ROOT}/src/VBox/Runtime/common/misc/RTAssertMsg2.cpp=>common/misc/RTAssertMsg2.c \ +Index: trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile +=================================================================== +--- trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67289) ++++ trunk/src/VBox/Additions/common/VBoxGuest/linux/Makefile (revision 67298) +@@ -100,6 +100,7 @@ + common/math/gcc/divdi3.o \ + common/math/gcc/moddi3.o \ + common/math/gcc/udivdi3.o \ ++ common/math/gcc/udivmoddi4.o \ + common/math/gcc/umoddi3.o \ + common/math/gcc/qdivrem.o + endif diff --git a/010-linux-4.12.patch b/010-linux-4.12.patch new file mode 100644 index 000000000000..c94b00c45599 --- /dev/null +++ b/010-linux-4.12.patch @@ -0,0 +1,86 @@ +From 73a6d28417871bd5b7535e88a50a3ce60fa1ecfc Mon Sep 17 00:00:00 2001 +From: Christian Hesse <mail@eworm.de> +Date: Wed, 5 Jul 2017 14:15:18 +0200 +Subject: [PATCH 1/1] linux 4.12 +--- + src/VBox/Additions/linux/drm/vbox_ttm.c | 6 ++++++ + src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c | 19 +++++++++++++++++++ + src/VBox/Runtime/r0drv/linux/the-linux-kernel.h | 5 +++++ + 3 files changed, 30 insertions(+) + +diff --git a/src/VBox/Additions/linux/drm/vbox_ttm.c b/src/VBox/Additions/linux/drm/vbox_ttm.c +index 57dd087..83f8122 100644 +--- a/src/VBox/Additions/linux/drm/vbox_ttm.c ++++ b/src/VBox/Additions/linux/drm/vbox_ttm.c +@@ -275,11 +275,17 @@ struct ttm_bo_driver vbox_bo_driver = { + .ttm_tt_populate = vbox_ttm_tt_populate, + .ttm_tt_unpopulate = vbox_ttm_tt_unpopulate, + .init_mem_type = vbox_bo_init_mem_type, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0) ++ .eviction_valuable = ttm_bo_eviction_valuable, ++#endif + .evict_flags = vbox_bo_evict_flags, + .move = vbox_bo_move, + .verify_access = vbox_bo_verify_access, + .io_mem_reserve = &vbox_ttm_io_mem_reserve, + .io_mem_free = &vbox_ttm_io_mem_free, ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ .io_mem_pfn = ttm_bo_default_io_mem_pfn, ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 7, 0) && LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0) + .lru_tail = &ttm_bo_default_lru_tail, + .swap_lru_tail = &ttm_bo_default_swap_lru_tail, +diff --git a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +index 4bc2a9b..0f74ada 100644 +--- a/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c ++++ b/src/VBox/Runtime/r0drv/linux/memobj-r0drv-linux.c +@@ -902,6 +902,9 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) + union + { + pgd_t Global; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ p4d_t Four; ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) + pud_t Upper; + #endif +@@ -919,7 +922,23 @@ static struct page *rtR0MemObjLinuxVirtToPage(void *pv) + return NULL; + + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 11) ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++ u.Four = *p4d_offset(&u.Global, ulAddr); ++ if (RT_UNLIKELY(p4d_none(u.Four))) ++ return NULL; ++ if (p4d_large(u.Four)) ++ { ++ pPage = p4d_page(u.Four); ++ AssertReturn(pPage, NULL); ++ pfn = page_to_pfn(pPage); /* doing the safe way... */ ++ AssertCompile(P4D_SHIFT - PAGE_SHIFT < 31); ++ pfn += (ulAddr >> PAGE_SHIFT) & ((UINT32_C(1) << (P4D_SHIFT - PAGE_SHIFT)) - 1); ++ return pfn_to_page(pfn); ++ } ++ u.Upper = *pud_offset(&u.Four, ulAddr); ++# else /* < 4.12 */ + u.Upper = *pud_offset(&u.Global, ulAddr); ++# endif /* < 4.12 */ + if (RT_UNLIKELY(pud_none(u.Upper))) + return NULL; + # if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) +diff --git a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +index 5a7ccb2..3a17bd1 100644 +--- a/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h ++++ b/src/VBox/Runtime/r0drv/linux/the-linux-kernel.h +@@ -159,6 +159,11 @@ + # include <asm/tlbflush.h> + #endif + ++/* for set_pages_x() */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0) ++# include <asm/set_memory.h> ++#endif ++ + #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 7, 0) + # include <asm/smap.h> + #else diff --git a/009-i3wm.patch b/011-i3wm.patch index 4dada3dc108a..4dada3dc108a 100644 --- a/009-i3wm.patch +++ b/011-i3wm.patch @@ -11,7 +11,7 @@ pkgname=('virtualbox-i3' 'virtualbox-i3-guest-utils-nox' 'virtualbox-i3-ext-vnc') pkgver=5.1.22 -pkgrel=2 +pkgrel=4 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -53,8 +53,8 @@ makedepends=('alsa-lib' 'xorg-server-devel') makedepends_x86_64=('gcc-multilib' 'lib32-glibc') source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2" - 'virtualbox-i3-host-dkms.conf' - 'virtualbox-i3-guest-dkms.conf' + 'virtualbox-host-dkms.conf' + 'virtualbox-guest-dkms.conf' 'virtualbox.sysusers' 'virtualbox-guest-utils.sysusers' '60-vboxdrv.rules' @@ -70,7 +70,9 @@ source=("http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver '006-rdesktop-vrdp-keymap-path.patch' '007-python2-path.patch' '008-no-vboxvideo.patch' - '009-i3wm.patch' + '009-gcc-7.patch' + '010-linux-4.12.patch' + '011-i3wm.patch' ) sha256sums=('fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899' 'deb03efa7ad0376aa55a087f2e882afe00935f10b0e7aa853ba9147090d341ec' @@ -90,6 +92,8 @@ sha256sums=('fcc918000b8c5ece553541ec10a9182410a742b7266257c76dda895dcd389899' '5d5af2de5b1f1c61ec793503350f2440661cf8fd640f11b8a86f10bce499c0dc' '6bdb017459532537199c399eefd3d84d8dc7f1786e79997caebd3b6eb5c75d9f' '8b7f241107863f82a5b0ae336aead0b3366a40103ff72dbebf33f54b512a0cbc' + '0f5cb04362be022bba71295867aac9eaddf9ece0d3ce82c083d70829564ec8d2' + 'e606144f6629070b6aefddf93c44173cd87bc2fa0a7c3512e6296a805705b90b' '24d33c00da2d79ce578b5a35e816d11f9e61c5317fe4415fc08a2cbcd5f1c001') prepare() { @@ -275,12 +279,12 @@ package_virtualbox-i3-host-dkms() { install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # module loading - local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + local _p="$pkgdir/usr/lib/modules-load.d/virtualbox-host-dkms.conf" install -Dm644 /dev/null "$_p" printf "vboxdrv\nvboxpci\nvboxnetadp\nvboxnetflt\n" > "$_p" # starting vbox 5.1, dkms.conf file was dropped local _p="$pkgdir/usr/src/vboxhost-${pkgver}_OSE/dkms.conf" - install -Dm644 "$srcdir/$pkgname.conf" "$_p" + install -Dm644 "$srcdir/virtualbox-host-dkms.conf" "$_p" sed -i "s,@VERSION@,$pkgver," "$_p" } @@ -305,12 +309,12 @@ package_virtualbox-i3-guest-dkms() { install -Dm644 "$srcdir/VirtualBox-$pkgver/COPYING" \ "$pkgdir/usr/share/licenses/$pkgname/LICENSE" # module loading - local _p="$pkgdir/usr/lib/modules-load.d/$pkgname.conf" + local _p="$pkgdir/usr/lib/modules-load.d/virtualbox-guest-dkms.conf" install -Dm644 /dev/null "$_p" printf "vboxguest\nvboxsf\nvboxvideo\n" > "$_p" # starting vbox 5.1, dkms.conf file was dropped local _p="$pkgdir/usr/src/vboxguest-${pkgver}_OSE/dkms.conf" - install -Dm644 "$srcdir/$pkgname.conf" "$_p" + install -Dm644 "$srcdir/virtualbox-guest-dkms.conf" "$_p" sed -i "s,@VERSION@,$pkgver," "$_p" } diff --git a/virtualbox-guest-dkms.conf b/virtualbox-guest-dkms.conf new file mode 100644 index 000000000000..d0281dfebded --- /dev/null +++ b/virtualbox-guest-dkms.conf @@ -0,0 +1,31 @@ +## @file +# Linux DKMS config script for the VirtualBox guest kernel modules +# + +# +# Copyright (C) 2006-2015 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + +PACKAGE_NAME="vboxguest" +PACKAGE_VERSION=@VERSION@_OSE +AUTOINSTALL=yes + +BUILT_MODULE_NAME[0]="vboxguest" +BUILT_MODULE_LOCATION[0]="vboxguest" +DEST_MODULE_LOCATION[0]="/kernel/misc" + +BUILT_MODULE_NAME[1]="vboxsf" +BUILT_MODULE_LOCATION[1]="vboxsf" +DEST_MODULE_LOCATION[1]="/kernel/misc" + +BUILT_MODULE_NAME[2]="vboxvideo" +BUILT_MODULE_LOCATION[2]="vboxvideo" +DEST_MODULE_LOCATION[2]="/kernel/misc" diff --git a/virtualbox-host-dkms.conf b/virtualbox-host-dkms.conf new file mode 100644 index 000000000000..a8b41bf40027 --- /dev/null +++ b/virtualbox-host-dkms.conf @@ -0,0 +1,35 @@ +## @file +# Linux DKMS config script for the VirtualBox guest kernel modules +# + +# +# Copyright (C) 2006-2015 Oracle Corporation +# +# This file is part of VirtualBox Open Source Edition (OSE), as +# available from http://www.virtualbox.org. This file is free software; +# you can redistribute it and/or modify it under the terms of the GNU +# General Public License (GPL) as published by the Free Software +# Foundation, in version 2 as it comes in the "COPYING" file of the +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. +# + +PACKAGE_NAME="vboxhost" +PACKAGE_VERSION=@VERSION@_OSE +AUTOINSTALL=yes + +BUILT_MODULE_NAME[0]="vboxdrv" +BUILT_MODULE_LOCATION[0]="vboxdrv" +DEST_MODULE_LOCATION[0]="/kernel/misc" + +BUILT_MODULE_NAME[1]="vboxnetflt" +BUILT_MODULE_LOCATION[1]="vboxnetflt" +DEST_MODULE_LOCATION[1]="/kernel/misc" + +BUILT_MODULE_NAME[2]="vboxnetadp" +BUILT_MODULE_LOCATION[2]="vboxnetadp" +DEST_MODULE_LOCATION[2]="/kernel/misc" + +BUILT_MODULE_NAME[3]="vboxpci" +BUILT_MODULE_LOCATION[3]="vboxpci" +DEST_MODULE_LOCATION[3]="/kernel/misc" |