mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-01-06 02:17:34 -08:00
Revert "app-emulation/virtualbox-modules: drop 7.0.26, 7.0.26-r1"
This reverts commit 4f8aa91d69f2dc9a0eba37d489d82bbcc9d6c83c. Signed-off-by: Viorel Munteanu <ceamac@gentoo.org>
This commit is contained in:
parent
0b3992b8b1
commit
f1e27ae937
@ -1,3 +1,4 @@
|
||||
DIST vbox-host-kernel-module-src-7.1.10.tar.xz 767632 BLAKE2B 8c2b40cb2c123be8e6f8dd3b56f7f0af20b1dd9fa1013690e53ba03f3d54bea8e6b2a9460fd9535d90879459f230c397387efe2877b7fb526a1248b9d7fc10fb SHA512 7311712e1d9f1c9556a47f47db17e7f0c45d3e816c2cc46b013ab4dd676797856dd40013a7d3058d93482c51aa71118d8e47efe407aae80f5c8eb541513a8fff
|
||||
DIST vbox-host-kernel-module-src-7.1.12.tar.xz 768076 BLAKE2B 70cd6fcf9ad7195cef6eb62fa212815cd3c0ca7a8c483d41cac73b7f1487293e3ec768e566a1026784d27593ad6294bcf136444152348c75029367a7467aa67e SHA512 0c9948e9cecde63c8976fb8007068ab6e3be9654b901ab8dc14279033212f7bc18986c4af1b6e6aafdd19388dce00fa935273f5312f93d493fb3fa2a9bb1affa
|
||||
DIST vbox-host-kernel-module-src-7.2.0_BETA2.tar.xz 808984 BLAKE2B 53f252b7438a8befeafea572b644baa1ec102240774952e3dc7d6ffffb0b03143a8f3ce8cceccecee3be6afea42d3f3209cb3ed7bea9f3332d080321852bf362 SHA512 e80d0af79f3ed036998ad07954be960b343c1723e0a48347e57ea8bf323d87c785dd01a128908257194272e2173e4ee90598e446ad12f18d53853068dc68f385
|
||||
DIST vbox-kernel-module-src-7.0.26.tar.xz 721876 BLAKE2B 355ac80cc96f4ad259a0fdbb909803bbec884c1d25fc9061f45f7039a0857b4f6cc93d4739cf85a82b9544aae06bf7b689d5d530ffc2fe97a874ef57d123423f SHA512 5980721197b908d5d991b258be395a8b542b8183eac7b146b147e4dbea9ff0b0408de5733b12d02a159b689bde29966a55fa7b64c953b9abe4180dbf6e0ebcb6
|
||||
|
||||
@ -0,0 +1,116 @@
|
||||
Add initial support for kernel 6.15.0.
|
||||
Patch obtained by comparing sources from 7.1.8 and 7.2.0_BETA1 where upstream added support.
|
||||
https://bugs.gentoo.org/956675
|
||||
|
||||
--- a/vboxdrv/Makefile-footer.gmk
|
||||
+++ b/vboxdrv/Makefile-footer.gmk
|
||||
@@ -115,6 +115,7 @@ VBOXMOD_EXT := ko
|
||||
|
||||
# build defs
|
||||
EXTRA_CFLAGS += $(VBOXMOD_CFLAGS) $(addprefix -I,$(KERN_INCL) $(VBOXMOD_INCL)) $(VBOXMOD_0_KFLAGS) $(KDEBUG)
|
||||
+ccflags-y += $(EXTRA_CFLAGS)
|
||||
$(VBOXMOD_0_TARGET)-y := $(VBOXMOD_OBJS)
|
||||
obj-m += $(VBOXMOD_0_TARGET).o
|
||||
|
||||
--- a/vboxdrv/r0drv/linux/timer-r0drv-linux.c
|
||||
+++ b/vboxdrv/r0drv/linux/timer-r0drv-linux.c
|
||||
@@ -422,7 +422,11 @@ static void rtTimerLnxStopSubTimer(PRTTIMERLNXSUBTIMER pSubTimer, bool fHighRes)
|
||||
}
|
||||
else
|
||||
#endif
|
||||
+# if RTLNX_VER_MIN(6,15,0)
|
||||
+ timer_delete(&pSubTimer->u.Std.LnxTimer);
|
||||
+#else
|
||||
del_timer(&pSubTimer->u.Std.LnxTimer);
|
||||
+#endif
|
||||
|
||||
rtTimerLnxSetState(&pSubTimer->enmState, RTTIMERLNXSTATE_STOPPED);
|
||||
}
|
||||
@@ -470,7 +474,11 @@ static void rtTimerLnxDestroyIt(PRTTIMER pTimer)
|
||||
hrtimer_cancel(&pTimer->aSubTimers[iCpu].u.Hr.LnxTimer);
|
||||
else
|
||||
#endif
|
||||
+# if RTLNX_VER_MIN(6,15,0)
|
||||
+ timer_delete_sync(&pTimer->aSubTimers[iCpu].u.Std.LnxTimer);
|
||||
+#else
|
||||
del_timer_sync(&pTimer->aSubTimers[iCpu].u.Std.LnxTimer);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1626,8 +1634,13 @@ RTDECL(int) RTTimerCreateEx(PRTTIMER *ppTimer, uint64_t u64NanoInterval, uint32_
|
||||
#ifdef RTTIMER_LINUX_WITH_HRTIMER
|
||||
if (pTimer->fHighRes)
|
||||
{
|
||||
+#if RTLNX_VER_MIN(6,15,0)
|
||||
+ hrtimer_setup(&pTimer->aSubTimers[iCpu].u.Hr.LnxTimer,
|
||||
+ rtTimerLinuxHrCallback, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
|
||||
+#else
|
||||
hrtimer_init(&pTimer->aSubTimers[iCpu].u.Hr.LnxTimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
|
||||
pTimer->aSubTimers[iCpu].u.Hr.LnxTimer.function = rtTimerLinuxHrCallback;
|
||||
+#endif
|
||||
}
|
||||
else
|
||||
#endif
|
||||
--- a/vboxnetadp/Makefile-footer.gmk
|
||||
+++ b/vboxnetadp/Makefile-footer.gmk
|
||||
@@ -115,6 +115,7 @@ VBOXMOD_EXT := ko
|
||||
|
||||
# build defs
|
||||
EXTRA_CFLAGS += $(VBOXMOD_CFLAGS) $(addprefix -I,$(KERN_INCL) $(VBOXMOD_INCL)) $(VBOXMOD_0_KFLAGS) $(KDEBUG)
|
||||
+ccflags-y += $(EXTRA_CFLAGS)
|
||||
$(VBOXMOD_0_TARGET)-y := $(VBOXMOD_OBJS)
|
||||
obj-m += $(VBOXMOD_0_TARGET).o
|
||||
|
||||
--- a/vboxnetflt/Makefile-footer.gmk
|
||||
+++ b/vboxnetflt/Makefile-footer.gmk
|
||||
@@ -115,6 +115,7 @@ VBOXMOD_EXT := ko
|
||||
|
||||
# build defs
|
||||
EXTRA_CFLAGS += $(VBOXMOD_CFLAGS) $(addprefix -I,$(KERN_INCL) $(VBOXMOD_INCL)) $(VBOXMOD_0_KFLAGS) $(KDEBUG)
|
||||
+ccflags-y += $(EXTRA_CFLAGS)
|
||||
$(VBOXMOD_0_TARGET)-y := $(VBOXMOD_OBJS)
|
||||
obj-m += $(VBOXMOD_0_TARGET).o
|
||||
|
||||
--- a/vboxdrv/linux/SUPDrv-linux.c
|
||||
+++ b/vboxdrv/linux/SUPDrv-linux.c
|
||||
@@ -1744,10 +1744,17 @@ SUPR0DECL(bool) SUPR0FpuBegin(bool fCtxHook)
|
||||
*/
|
||||
Assert(fCtxHook || !RTThreadPreemptIsEnabled(NIL_RTTHREAD));
|
||||
kernel_fpu_begin();
|
||||
-# if 0 /* Always do it for now for better test coverage. */
|
||||
+# if RTLNX_VER_MIN(6,15,0) /* fpregs_unlock may do more than just preempt_enable, so only when necessary now. */
|
||||
if (fCtxHook)
|
||||
-# endif
|
||||
+# endif
|
||||
+ {
|
||||
+# if RTLNX_VER_MIN(6,15,0)
|
||||
+ if (!irqs_disabled())
|
||||
+ fpregs_unlock();
|
||||
+# else
|
||||
preempt_enable();
|
||||
+# endif
|
||||
+ }
|
||||
return false; /** @todo Not sure if we have license to use any extended state, or
|
||||
* if we're limited to the SSE & x87 FPU. If it's the former,
|
||||
* we should return @a true and the caller can skip
|
||||
@@ -1765,10 +1772,17 @@ SUPR0DECL(void) SUPR0FpuEnd(bool fCtxHook)
|
||||
#if RTLNX_VER_MIN(4,19,0)
|
||||
/* HACK ALERT! See SUPR0FpuBegin for an explanation of this. */
|
||||
Assert(!RTThreadPreemptIsEnabled(NIL_RTTHREAD));
|
||||
-# if 0 /* Always do it for now for better test coverage. */
|
||||
+# if RTLNX_VER_MIN(6,15,0) /* fpregs_unlock may do more than just preempt_enable, so only when necessary now. */
|
||||
if (fCtxHook)
|
||||
-# endif
|
||||
+# endif
|
||||
+ {
|
||||
+# if RTLNX_VER_MIN(6,15,0)
|
||||
+ if (!irqs_disabled())
|
||||
+ fpregs_lock();
|
||||
+# else
|
||||
preempt_disable();
|
||||
+# endif
|
||||
+ }
|
||||
kernel_fpu_end();
|
||||
#endif
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
# Copyright 2022-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||
# package that comes from VirtualBox-*.run
|
||||
# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit linux-mod-r1
|
||||
|
||||
MY_P="vbox-kernel-module-src-${PV}"
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-7.1.8-kernel-6.15.patch
|
||||
)
|
||||
|
||||
src_compile() {
|
||||
local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
|
||||
local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
|
||||
linux-mod-r1_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod-r1_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
|
||||
|
||||
insinto /etc/modprobe.d # bug #945135
|
||||
newins - virtualbox.conf <<-EOF
|
||||
# modprobe.d configuration file for VBOXSF
|
||||
|
||||
# Starting with kernel 6.12,
|
||||
# KVM initializes virtualization on module loading by default.
|
||||
# This prevents VirtualBox VMs from starting.
|
||||
# See also:
|
||||
# https://bugs.gentoo.org/945135
|
||||
# https://www.virtualbox.org/wiki/Changelog-7.1
|
||||
# ------------------------------
|
||||
options kvm enable_virt_at_load=0
|
||||
EOF
|
||||
}
|
||||
@ -0,0 +1,48 @@
|
||||
# Copyright 2022-2025 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
# XXX: the tarball here is just the kernel modules split out of the binary
|
||||
# package that comes from VirtualBox-*.run
|
||||
# XXX: update: now it is split from virtualbox-*-Debian~bullseye_amd64.deb
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit linux-mod-r1
|
||||
|
||||
MY_P="vbox-kernel-module-src-${PV}"
|
||||
DESCRIPTION="Kernel Modules for Virtualbox"
|
||||
HOMEPAGE="https://www.virtualbox.org/"
|
||||
SRC_URI="https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${MY_P}.tar.xz"
|
||||
S="${WORKDIR}"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
KEYWORDS="amd64"
|
||||
|
||||
CONFIG_CHECK="~!SPINLOCK JUMP_LABEL"
|
||||
|
||||
src_compile() {
|
||||
local modlist=( {vboxdrv,vboxnetflt,vboxnetadp}=misc )
|
||||
local modargs=( KERN_DIR="${KV_OUT_DIR}" KERN_VER="${KV_FULL}" )
|
||||
linux-mod-r1_src_compile
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod-r1_src_install
|
||||
insinto /usr/lib/modules-load.d/
|
||||
newins "${FILESDIR}"/virtualbox.conf-r1 virtualbox.conf
|
||||
|
||||
insinto /etc/modprobe.d # bug #945135
|
||||
newins - virtualbox.conf <<-EOF
|
||||
# modprobe.d configuration file for VBOXSF
|
||||
|
||||
# Starting with kernel 6.12,
|
||||
# KVM initializes virtualization on module loading by default.
|
||||
# This prevents VirtualBox VMs from starting.
|
||||
# See also:
|
||||
# https://bugs.gentoo.org/945135
|
||||
# https://www.virtualbox.org/wiki/Changelog-7.1
|
||||
# ------------------------------
|
||||
options kvm enable_virt_at_load=0
|
||||
EOF
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user