mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-05 09:00:55 +00:00
parent
8287abf63f
commit
bd81eac98b
@ -62,7 +62,7 @@ VBOX_CC_OPT += -DVBOX_WITH_GUEST_PROPS
|
|||||||
|
|
||||||
VIRTUALBOX_VERSION_MAJOR := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_MAJOR = " | grep -v "'VBOX_VERSION_MAJOR" | sed "s/^.*= //")
|
VIRTUALBOX_VERSION_MAJOR := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_MAJOR = " | grep -v "'VBOX_VERSION_MAJOR" | sed "s/^.*= //")
|
||||||
VIRTUALBOX_VERSION_MINOR := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_MINOR = " | grep -v "'VBOX_VERSION_MINOR" | sed "s/^.*= //")
|
VIRTUALBOX_VERSION_MINOR := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_MINOR = " | grep -v "'VBOX_VERSION_MINOR" | sed "s/^.*= //")
|
||||||
VIRTUALBOX_VERSION_BUILD := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_BUILD = " | grep -v "'VBOX_VERSION_BUILD" | sed "s/^.*= //")
|
VIRTUALBOX_VERSION_BUILD := $(shell cat $(VIRTUALBOX_DIR)/Config.kmk 2>/dev/null | grep "VBOX_VERSION_BUILD = " | grep -v "'VBOX_VERSION_BUILD" | sed "s/^.*= *//")
|
||||||
|
|
||||||
ifeq ($(VBOX_MACH),x86_32)
|
ifeq ($(VBOX_MACH),x86_32)
|
||||||
VIRTUALBOX_PACKAGE_STRING = GenodeOS_32BIT_GENERIC
|
VIRTUALBOX_PACKAGE_STRING = GenodeOS_32BIT_GENERIC
|
||||||
|
@ -51,6 +51,7 @@ SRC_CC += Devices/Audio/DevHDA.cpp
|
|||||||
SRC_CC += Devices/Audio/DevIchAc97.cpp
|
SRC_CC += Devices/Audio/DevIchAc97.cpp
|
||||||
SRC_CC += Devices/Audio/DrvAudioCommon.cpp
|
SRC_CC += Devices/Audio/DrvAudioCommon.cpp
|
||||||
SRC_CC += Devices/Audio/HDACodec.cpp
|
SRC_CC += Devices/Audio/HDACodec.cpp
|
||||||
|
SRC_CC += Devices/Audio/HDAStreamPeriod.cpp
|
||||||
SRC_CC += Devices/USB/DevOHCI.cpp
|
SRC_CC += Devices/USB/DevOHCI.cpp
|
||||||
SRC_CC += Devices/USB/USBProxyDevice.cpp
|
SRC_CC += Devices/USB/USBProxyDevice.cpp
|
||||||
SRC_CC += Devices/USB/VUSBBufferedPipe.cpp
|
SRC_CC += Devices/USB/VUSBBufferedPipe.cpp
|
||||||
|
@ -1 +1 @@
|
|||||||
585d9e845521cbdc189dbc37f7639b9d3428c125
|
8866cdf82e328b96fea75a7c7798b24d42f4257e
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
LICENSE := GPLv2
|
LICENSE := GPLv2
|
||||||
VERSION := 5.1.22
|
VERSION := 5.1.24
|
||||||
DOWNLOADS := virtualbox.archive virtualbox_sdk.archive
|
DOWNLOADS := virtualbox.archive virtualbox_sdk.archive
|
||||||
|
|
||||||
VIRTUALBOX_TBZ2 := VirtualBox-$(VERSION).tar.bz2
|
VIRTUALBOX_TBZ2 := VirtualBox-$(VERSION).tar.bz2
|
||||||
VIRTUALBOX_SDK_ZIP := VirtualBoxSDK-$(VERSION)-115126.zip
|
VIRTUALBOX_SDK_ZIP := VirtualBoxSDK-$(VERSION)-117012.zip
|
||||||
|
|
||||||
URL(virtualbox) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_TBZ2)
|
URL(virtualbox) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_TBZ2)
|
||||||
DIR(virtualbox) := src/app/virtualbox
|
DIR(virtualbox) := src/app/virtualbox
|
||||||
SHA(virtualbox) := 57e6f73f62af7d5ddb670972ba0417b6fcb43950
|
SHA(virtualbox) := ed7d807ac89455517ec2c32cf83e931b16b2b4b8
|
||||||
|
|
||||||
URL(virtualbox_sdk) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_SDK_ZIP)
|
URL(virtualbox_sdk) := http://download.virtualbox.org/virtualbox/$(VERSION)/$(VIRTUALBOX_SDK_ZIP)
|
||||||
DIR(virtualbox_sdk) := src/app/virtualbox_sdk
|
DIR(virtualbox_sdk) := src/app/virtualbox_sdk
|
||||||
SHA(virtualbox_sdk) := 21b45da69214b32cf7f7115ef53e0c1d77ae2434
|
SHA(virtualbox_sdk) := 1cb99cb6f24dd17e7ff2ea2f1e079f41e5d99293
|
||||||
|
|
||||||
PATCHES_DIR := src/virtualbox5/patches
|
PATCHES_DIR := src/virtualbox5/patches
|
||||||
PATCHES_DIR_VBOX4 := src/virtualbox/patches
|
PATCHES_DIR_VBOX4 := src/virtualbox/patches
|
||||||
|
@ -146,7 +146,7 @@ static uint32_t write_samples(GenodeVoiceOut *out,
|
|||||||
Audio_out::Connection * const c = &*out->audio[0];
|
Audio_out::Connection * const c = &*out->audio[0];
|
||||||
|
|
||||||
/* samples in byte available for sending out */
|
/* samples in byte available for sending out */
|
||||||
uint32_t samples = RT_MIN(AudioMixBufAvail(mixer_buf),
|
uint32_t samples = RT_MIN(AudioMixBufLive(mixer_buf),
|
||||||
OUT_SAMPLES - out->sample_pos);
|
OUT_SAMPLES - out->sample_pos);
|
||||||
uint32_t written_samples = 0;
|
uint32_t written_samples = 0;
|
||||||
|
|
||||||
@ -211,7 +211,7 @@ static uint32_t write_samples(GenodeVoiceOut *out,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* check for additional samples */
|
/* check for additional samples */
|
||||||
samples = RT_MIN(AudioMixBufAvail(mixer_buf),
|
samples = RT_MIN(AudioMixBufLive(mixer_buf),
|
||||||
OUT_SAMPLES - out->sample_pos);
|
OUT_SAMPLES - out->sample_pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
48
repos/ports/src/virtualbox5/patches/audio.patch
Normal file
48
repos/ports/src/virtualbox5/patches/audio.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
--- a/src/app/virtualbox/src/VBox/Devices/Audio/HDAStreamPeriod.cpp
|
||||||
|
+++ b/src/app/virtualbox/src/VBox/Devices/Audio/HDAStreamPeriod.cpp
|
||||||
|
@@ -167,7 +167,9 @@
|
||||||
|
*/
|
||||||
|
void hdaStreamPeriodEnd(PHDASTREAMPERIOD pPeriod)
|
||||||
|
{
|
||||||
|
+#ifdef DEBUG
|
||||||
|
Log3Func(("[SD%RU8] Took %zuus\n", pPeriod->u8SD, (RTTimeNanoTS() - pPeriod->Dbg.tsStartNs) / 1000));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (!(pPeriod->fStatus & HDASTREAMPERIOD_FLAG_ACTIVE))
|
||||||
|
return;
|
||||||
|
--- a/src/app/virtualbox/src/VBox/Devices/Audio/DrvAudio.cpp
|
||||||
|
+++ b/src/app/virtualbox/src/VBox/Devices/Audio/DrvAudio.cpp
|
||||||
|
@@ -1584,8 +1584,10 @@
|
||||||
|
#endif
|
||||||
|
uint32_t cbAvail = AUDIOMIXBUF_S2B(&pHstStrmOut->MixBuf, AudioMixBufUsed(&pHstStrmOut->MixBuf));
|
||||||
|
|
||||||
|
+#ifdef DEBUG
|
||||||
|
Log2Func(("[%s] %RU64ms (%zu bytes) elapsed, %zu bytes available\n",
|
||||||
|
pHstStrmOut->MixBuf.pszName, tsLastPlayedDeltaMs, cbElapsed, cbAvail));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
if (!cbAvail) /* Nothing to play back? Skip. */
|
||||||
|
continue;
|
||||||
|
--- a/src/app/virtualbox/src/VBox/Devices/Audio/DevHDA.cpp
|
||||||
|
+++ b/src/app/virtualbox/src/VBox/Devices/Audio/DevHDA.cpp
|
||||||
|
@@ -1273,9 +1273,9 @@
|
||||||
|
pszSource, tsAssertedElapsedNs / 1000,
|
||||||
|
avgAssertedUs,
|
||||||
|
(pThis->Dbg.IRQ.tsDeassertedNs - pThis->Dbg.IRQ.tsAssertedNs) / 1000));
|
||||||
|
-#endif
|
||||||
|
Log3Func(("Asserted (%s): %RU64us between alternation (WALCLK=%RU64)\n",
|
||||||
|
pszSource, tsLastElapsedNs / 1000, pThis->u64WalClk));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
PDMDevHlpPCISetIrq(pThis->CTX_SUFF(pDevIns), 0, 1 /* Assert */);
|
||||||
|
pThis->u8IRQL = 1;
|
||||||
|
@@ -4021,7 +4021,9 @@
|
||||||
|
uint32_t csPerPeriod = (int)((strmProps.cChannels * cTicksElapsed * 48000 /* Hz */ + cTicksPerSec) / cTicksPerSec / 2);
|
||||||
|
uint32_t cbPerPeriod = csPerPeriod << strmProps.cShift;
|
||||||
|
|
||||||
|
+#ifdef DEBUG
|
||||||
|
Log3Func(("[SD%RU8] %RU64ms (%zu samples, %zu bytes) elapsed\n", pStream->u8SD, cMsElapsed, csPerPeriod, cbPerPeriod));
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
return cbPerPeriod;
|
||||||
|
}
|
@ -11,3 +11,4 @@ vm.patch
|
|||||||
mm.patch
|
mm.patch
|
||||||
substr.patch
|
substr.patch
|
||||||
vusburb.patch
|
vusburb.patch
|
||||||
|
audio.patch
|
||||||
|
@ -212,6 +212,11 @@ SUPR3DECL(int) SUPR3PageFreeEx(void *pvPages, size_t cPages)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int SUPR3QueryMicrocodeRev(uint32_t *puMicrocodeRev)
|
||||||
|
{
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t SUPSemEventMultiGetResolution(PSUPDRVSESSION)
|
uint32_t SUPSemEventMultiGetResolution(PSUPDRVSESSION)
|
||||||
{
|
{
|
||||||
return 100000*10; /* called by 'vmR3HaltGlobal1Init' */
|
return 100000*10; /* called by 'vmR3HaltGlobal1Init' */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user