Are there any emulators with ACPI PCI reset support?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

Are there any emulators with ACPI PCI reset support?

Post 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.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

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

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post 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.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

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

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post 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.
You know your OS is advanced when you stop using the Intel programming guide as a reference.
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

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

Post 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
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
BrightLight
Member
Member
Posts: 901
Joined: Sat Dec 27, 2014 9:11 am
Location: Maadi, Cairo, Egypt
Contact:

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

Post 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...
You know your OS is advanced when you stop using the Intel programming guide as a reference.
Post Reply