You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello!
In latest VirualBox (7.1.4) keyboard (and apparently mouse too) is't working.
While debugging I found the cause of this issue which is as follows.
When ACPI driver enumerate children in AcpipEnumerateDeviceChildren, AcpipCreateOsDevice (drvsup.c, line 269) return STATUS_DEVICE_NOT_CONNECTED, cos AcpipGetDeviceHardwareId can't found _HID method one of the devices. After this the enumeration ends halfway and eventually due to this IopProcessReportedChildren unloads all current child device drivers including the ps/2 driver.
Seems this is a device IVRS (AMD IOMMU (AMD-Vi), I/O Virtualization Reporting Structure), see in
$VirtualBoxRepo/src/VBox/Devices/PC/vbox.dsl
and down below. This was added in VirualBox rev. 85349 (4 year ago)
According to ACPI spec _HID is optional, so ACPI driver parse this device incorrect.
Hello!
In latest VirualBox (7.1.4) keyboard (and apparently mouse too) is't working.
While debugging I found the cause of this issue which is as follows.
When ACPI driver enumerate children in AcpipEnumerateDeviceChildren, AcpipCreateOsDevice (drvsup.c, line 269) return STATUS_DEVICE_NOT_CONNECTED, cos AcpipGetDeviceHardwareId can't found _HID method one of the devices. After this the enumeration ends halfway and eventually due to this IopProcessReportedChildren unloads all current child device drivers including the ps/2 driver.
Seems this is a device IVRS (AMD IOMMU (AMD-Vi), I/O Virtualization Reporting Structure), see in
$VirtualBoxRepo/src/VBox/Devices/PC/vbox.dsl
and down below. This was added in VirualBox rev. 85349 (4 year ago)
According to ACPI spec _HID is optional, so ACPI driver parse this device incorrect.
// AMD IOMMU (AMD-Vi), I/O Virtualization Reporting Structure
Device (IVRS)
{
Method(_ADR, 0, NotSerialized)
{
Return (IOMA)
}
Method (_STA, 0, NotSerialized)
{
if (LEqual (IOMA, Zero)) {
Return (0x00)
}
else {
Return (0x0F)
}
}
}
The text was updated successfully, but these errors were encountered: