none
What is the diff between ACPI and PCIe device, what makes the difference and advantage RRS feed

  • Question

  • Hi All,

    I need clarification about the ACPI and PCIe device. My device can be exposed as either as ACPI device or PCIe device, but i don't know how this was done?

    Please clraify.

    Saturday, May 2, 2015 5:48 AM

Answers

  • It crawls up the DevStack tree and inserts itself in PCI DevStacks in order to implement power controls. ACPI is simultaneously a bus driver, bus filter, function driver and function filter.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, May 8, 2015 5:37 AM
    Moderator

All replies

  • I'm not sure how that would happen. What kind of device is it? Is it exposed in the ACPI namespace?

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Saturday, May 2, 2015 9:52 PM
    Moderator
  • Hi Brian,

    So a device can't be both ACPI and PCI device in the same system?

    I could see a device in my system, which has Device() method in DSDT table (so I assume this is ACPI device) and listed under PCI device in the device manager.

    One more strange also, why this device doesn't have ACPI driver in it's DriverStack in Device Manager?


    • Edited by Boomi.s Monday, May 4, 2015 11:58 PM
    Monday, May 4, 2015 11:39 PM
  • No, under the rules of PnP a device may only have one parent bus

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Monday, May 4, 2015 11:48 PM
    Moderator
  • So if a device is in PCI bus why windows is creating ACPI filter device object for that device as per the MSDN doc?

    https://msdn.microsoft.com/en-us/library/windows/hardware/ff536137%28v=vs.85%29.aspx

    Friday, May 8, 2015 5:35 AM
  • It crawls up the DevStack tree and inserts itself in PCI DevStacks in order to implement power controls. ACPI is simultaneously a bus driver, bus filter, function driver and function filter.

     -Brian


    Azius Developer Training www.azius.com Windows device driver, internals, security, & forensics training and consulting. Blog at www.azius.com/blog

    Friday, May 8, 2015 5:37 AM
    Moderator