Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17187

ACPI devices arranged improperly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • Drivers: Other
    • None
    • VirtualBox 6.1.12

    Description

      I compared ReactOS with ACPI HAL and Windows XP with ACPI HAL, both installed in the same configuration of VirtualBox.

      In ReactOS some ACPI devices are arranged improperly:

      • PIC, DMA controller, timer, and PS/2 mouse and keyboard should be children devices of PCI to ISA bridge
      • AC adapter and battery should be children devices of PCI bus
      • All mentioned devices are children devices of ACPI hardware in ReactOS, and Device Manager shows "Unknown location" for them

      This is not just a visual difference, Windows does this in order to specifically handle the hardware I/O resources and the IRQ translator interface. This is done in acpi.sys by a bus filter device object by modifying the IRP_MN_QUERY_DEVICE_RELATIONS IRP buffer data.

      The ACPI bus filter attaches legacy ISA/LPC devices to the FDO created by ISA PnP driver: https://git.reactos.org/?p=reactos.git;a=blob;f=drivers/bus/isapnp/stub.c;hb=8cfc4a3376e5f731bfa4b8a961fc900999dc8b90#l10 and the same is done for the PCI bus driver.

      See also http://www.microsoft.com/whdc/connect/pci/isa-bus.mspx:

      Msisadrv.sys contains routines to manage an ISA bridge, such as exporting an interrupt translator interface from the HAL, and is required to support legacy devices still prevalent in the platform, such as PS/2 input devices.

      Tested on 0.4.15-dev-493-g357db6d. Debug log and screenshots attached.

      Attachments

        Activity

          People

            Unassigned Unassigned
            binarymaster Stas'M
            Votes:
            5 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: