Where can I found some complete ACPI tutorial?
I've downloaded the Specification on www.acpi.info but it's too much long!!!
Somewhere I've read I've to look for the "RDS PTR" signature in the BIOS Area but in the Specification there is nothing about it.
How to use ACPI
- AlfaOmega08
- Member
- Posts: 226
- Joined: Wed Nov 07, 2007 12:15 pm
- Location: Italy
- AlfaOmega08
- Member
- Posts: 226
- Joined: Wed Nov 07, 2007 12:15 pm
- Location: Italy
- Masterkiller
- Member
- Posts: 153
- Joined: Sat May 05, 2007 6:20 pm
First your find and read (also check for errors) RSD PTR. Then you use 32-bit address (I have switched to unreal mode to gain access to higher memory areas) and read RSDT. The table entries are pointer to another tables, but only few of them has valuable information. Scan the RSDT and find FACP. The FACP contains physical addresses in memory and values from which you could control the power I suppose (I've never read all the FACP specification). The FACP has a pointer to DSDT. DSDT table has a header and the rest of the table is ACPI Machine Language. It is describing language which gives you information about the system and you should write code, that decodes and uses ACPI Machine Language. The good news is that language is not difficult to learn and all the values are in AML code itself. According to specification, all names in the AML should be unique (for example "BEEP" OpRegion that points to I/O port 61h). Anyway for the boot process you may be only interested in names starting with _ they are reserved. For example scanning \_PR_ namespace you can find all the processors in the system, their CPUID and CPU blocks in memory (I don't know what information they contains).
Even the specification is long I suggest you to read first part 18 for AML and then part 5, 6, 7 and so on describing the configuration with ACPI.
Even the specification is long I suggest you to read first part 18 for AML and then part 5, 6, 7 and so on describing the configuration with ACPI.
ALCA OS: Project temporarity suspended!
Current state: real-mode kernel-FS reader...
Current state: real-mode kernel-FS reader...