Page 1 of 1

Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 3:58 am
by BrightLight
I'm working on ACPI reset. My laptop and my test PC both have a new-enough FADT (version 2 and newer) and both support the ACPI reset register via I/O port. So, making ACPI reset code for them was easy. VirtualBox has memory-mapped I/O for ACPI reset. Bochs and QEMU have FADT version 1, which is not enough for ACPI reset.
The ACPI reset can also be done via the PCI bus on some hardware. Are there any emulators/virtual machines that support this? I need some platform to write and test my code.

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 6:36 am
by Brendan
Hi,
omarrx024 wrote:The ACPI reset can also be done via the PCI bus on some hardware. Are there any emulators/virtual machines that support this? I need some platform to write and test my code.
The "non-ACPI" reset that can be done via. PCI on some hardware is hardware specific. If an emulator supported it then it'd be emulator specific and wouldn't help you test that it works on anything other than that emulator.


Cheers,

Brendan

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 7:02 am
by BrightLight
Brendan wrote:The "non-ACPI" reset that can be done via. PCI on some hardware is hardware specific. If an emulator supported it then it'd be emulator specific and wouldn't help you test that it works on anything other than that emulator.
I meant the "ACPI" reset that can be done via PCI.

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 7:31 am
by Brendan
Hi,
omarrx024 wrote:
Brendan wrote:The "non-ACPI" reset that can be done via. PCI on some hardware is hardware specific. If an emulator supported it then it'd be emulator specific and wouldn't help you test that it works on anything other than that emulator.
I meant the "ACPI" reset that can be done via PCI.
You'll need to be more specific.

If ACPI's (standard but optional) reset method (involving the "RESET_REG" in the FADT, which may have nothing to do with PCI at all) is not supported, then there is nothing else in any part of any ACPI spec (that I'm aware of) that can be described as an "ACPI reset".

In addition; there is also nothing in any PCI spec (that I'm aware of) that can be described as a "PCI reset" (unless you're not talking about causing a system reset; and are talking about something completely different like resetting a specific device/function or PCI hardware's response to a reset signal that was generated elsewhere).


Cheers,

Brendan

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 8:29 am
by BrightLight
Yes, the ACPI reset register in the FADT can be either memory-mapped I/O, I/O bus or PCI bus. I am asking if there are any emulators that support this with PCI method.

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 12:24 pm
by Brendan
Hi,
omarrx024 wrote:Yes, the ACPI reset register in the FADT can be either memory-mapped I/O, I/O bus or PCI bus. I am asking if there are any emulators that support this with PCI method.
I understand now - I thought you were asking about something like the (relatively dodgy) "PCI reboot" that Linux uses on some specific motherboards (and/or if you use the "reboot=pci" kernel parameter). :oops:

I don't know if there are any emulators that support "ACPI FADT reboot via. PCI" - you'd have to check them all (and possibly real computers too) until you find something to test on. Alternatively, you could just display a "Rebooting via. ACPI (using PCI)" message before attempting to reboot (with an infinite loop after just in case) and just assume it works without testing it (until/unless someone sends a bug report). :)


Cheers,

Brendan

Re: Are there any emulators with ACPI PCI reset support?

Posted: Tue Aug 04, 2015 1:56 pm
by BrightLight
Brendan wrote:I don't know if there are any emulators that support "ACPI FADT reboot via. PCI" - you'd have to check them all (and possibly real computers too) until you find something to test on.
Bochs and QEMU don't support ACPI FADT reboot at all. VirtualBox has memory-mapped I/O, and my laptop and one of my testing PCs have port I/O. My other testing PC has a new-enough FADT but without the reset register. I should try VMware...