Page 2 of 2

Re: ACPI woes in my O.S.

Posted: Thu Sep 08, 2011 5:56 am
by DaveG
Follow up to my previous post:

My woes have gone and I managed to get R.I. working perfectly :wink:
What got me thinking is SMI and SMM that Brendan mentioned, so I did some reading.

What I found is that the SMI has a control port that values are normally written to
and the "normal" address for the SMI port is 0xB2.
The two magic values to write to this port as follows:

0xA0 (ACPI SMI enable value)
0xA1 (ACPI SMI disable value)

Now all is well and the computer no longer freezes when the R.I. pin is asserted.
By the way, I also found that ACPI makes use of IRQ9 on all Intel boards (not sure about others).

Dave.

Re: ACPI woes in my O.S.

Posted: Thu Sep 08, 2011 8:45 am
by Brendan
Hi,
DaveG wrote:Now all is well and the computer no longer freezes when the R.I. pin is asserted.
By the way, I also found that ACPI makes use of IRQ9 on all Intel boards (not sure about others).
So, you enable "ACPI mode", and when ACPI generates an SCI (IRQ 9) to tell you to increase fan speed/s because the system is getting too hot you ignore it (because you don't actually support ACPI) and let your motherboard melt?

That sounds, um... stay away from my computers.


Cheers,

Brendan

Re: ACPI woes in my O.S. [SOLVED]

Posted: Thu Sep 08, 2011 8:52 am
by DaveG
Nope, the D410PT is a fan-less board.
So no chance of making toasted sandwiches on the CPU :mrgreen:

Even if the board did require a fan, one can always make it stay on in BIOS.

Dave.

Re: ACPI woes in my O.S. [SOLVED]

Posted: Fri Sep 16, 2011 1:58 pm
by rdos
So what probably happens is that the SMM interrupt fires, and it doesn't return until the RI is off again (because of a software-bug). The RI logic is kind of flawed, because it does not generate the interrupt when you think it would (on change). I know since I use it in a project as well, but wish I'd used some other signal instead with proper interrupt-change logic.

As for ACPI-support, I'm on my way to provide full support in my OS. I've managed to build ACPICA, and provide the OS-interface. Just needs some serious debugging now.