diff --git a/repos/ports/ports/virtualbox6.hash b/repos/ports/ports/virtualbox6.hash index e0cb5a5e29..a951b2b19a 100644 --- a/repos/ports/ports/virtualbox6.hash +++ b/repos/ports/ports/virtualbox6.hash @@ -1 +1 @@ -f5ebf8e03d4b29d3c186212bdc2d324bb31c5274 +d57e9deed61e070270fa153e610e3081f996ee24 diff --git a/repos/ports/src/virtualbox6/patches/disk_geometry.patch b/repos/ports/src/virtualbox6/patches/disk_geometry.patch new file mode 100644 index 0000000000..db1ce98d00 --- /dev/null +++ b/repos/ports/src/virtualbox6/patches/disk_geometry.patch @@ -0,0 +1,23 @@ +--- a/src/virtualbox6/src/VBox/Devices/PC/DevPcBios.cpp.orig ++++ b/src/virtualbox6/src/VBox/Devices/PC/DevPcBios.cpp +@@ -604,6 +604,7 @@ + RT_NOREF1(pBase); + + PDMMEDIAGEOMETRY LCHSGeometry; ++#if 0 /* Genode */ + int rc = pHardDisk->pfnBiosGetLCHSGeometry(pHardDisk, &LCHSGeometry); + if ( rc == VERR_PDM_GEOMETRY_NOT_SET + || LCHSGeometry.cCylinders == 0 +@@ -627,6 +628,12 @@ + || LCHSGeometry.cSectors == 0 + || LCHSGeometry.cSectors > 63) + { ++#else ++ /* always calculate geometry */ ++ int rc = VINF_SUCCESS; ++ { ++ { ++#endif /* Genode */ + uint64_t cSectors = pHardDisk->pfnGetSize(pHardDisk) / 512; + if (cSectors / 16 / 63 <= 1024) + { diff --git a/repos/ports/src/virtualbox6/patches/series b/repos/ports/src/virtualbox6/patches/series index 2cb4d2ca60..9d2616f46c 100644 --- a/repos/ports/src/virtualbox6/patches/series +++ b/repos/ports/src/virtualbox6/patches/series @@ -12,3 +12,4 @@ audio.patch gcc-12.patch pgmphys.patch sup_ioctl_query_func_size.patch +disk_geometry.patch