Jump to content

Compiling ACPI v2.0 driver for Windows XP SP3 and Windows 2003 SP2 (x32/x64)


Mov AX, 0xDEAD

Recommended Posts

7 hours ago, Dietmar said:

The advantage from this tool is, that under XP SP3 the modified tables are stored in Registry

Oh that's cool! I might give it a try then.

Is asl V5 that hard to use?

and if I want to revert to original ACPI tables is that easy?

Link to comment
Share on other sites


 

@Damnation

This asl.exe Tool is easy to use:

1.) Put asl.exe to the root of your XP, means copy it to C:\

2.) Copy your compiled Acpi tables also to C:\ for example dsdt.aml .

3.) Type then at command line C:\asl /loadtable dsdt.aml

4.) After reboot, this new dsdt table, which is stored in Registry, is loaded from XP.

5.) For to unload this dsdt table type at commandline C:\asl /loadtable -d dsdt.aml

6.) After next reboot the original dsdt table from Bios is loaded.

7.) For ssdt1 table etc. you do the same, just load one table after the other with asl.

8.) Nothing is changed on your motherboard, because the tables are only stored in Registry of your Hardddisk with XP.

9.) I do not think, that this works for Server 2003, because this one takes its acpi tables always from Bios and not from Registry,

so the DSDT upload patcher from @Mov AX, 0xDEAD or the grub2 from you should work

Dietmar

 

asl.exe Version 5

https://ufile.io/y8e5iz3r

Edited by Dietmar
Link to comment
Share on other sites

@Damnation

The asl.exe has a BIG downside: ALWAYS test your dsdt.aml files with another methode before!!!

Because when your DSDT or SSDT has an error, asl.exe uploads this fatal table also to the Registry of your XP

and makes XP unbootable

Dietmar

 

From Microsoft:

Using the Microsoft ASL compiler's ACPI-table-load feature

During system development, it is useful to have a way to simulate various ACPI BIOS constructs and test them on the development system. The Windows operating system allows certain ACPI tables to be loaded from the Windows registry instead of from the PC's BIOS ROM. Use of this feature requires administrator privileges, and also requires that test signing be enabled on the system. For systems that support UEFI Secure Boot, test signing cannot be enabled, and the compiler's table-load feature cannot be used unless UEFI Secure Boot is disabled or the Windows Debug Policy is installed on the system.

To use the table-load feature, the ACPI table to be overloaded must meet the following requirements:

The table to be overloaded must already be present in the system's BIOS ROM. For instance, the DSDT can be overloaded; however, if the machine does not have an SSDT, you cannot force an SSDT to be loaded from this registry override mechanism.

The table must contain AML code that is normally consumed by the Windows ACPI interpreter (the Acpi.sys driver).

The table with the highest version number will be loaded. The table loaded into the registry for testing must have a higher version number than the same table in the BIOS ROM.

The table to be loaded must be in compiled (AML) format and loaded into the registry in the correct location, with the correct parameters specified. The mechanism described herein is designed to handle all aspects of loading the table and configuring the registry.

Link to comment
Share on other sites

@Dietmar

Unfortunately I have not had much luck working with the ASL method, I ended up getting either no change or an A5 BSOD.

grub2 seems to still work though, although I noticed that grub2 simply creates a new CPU SSDT table and leaves the original SSDT untouched, weird.

Link to comment
Share on other sites

@Damnation

I think, even without the asl.exe tool you can add the acpi tables by hand to registry.

This I will try now.

My only problem in this is, how to translate the Hex *.reg outread from

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT

because this outread contains  "," and linebreaks instead of pur hex code

Dietmar

Link to comment
Share on other sites

@Damnation

Oh, soso much fun.

With a ram boot XP I extract the whole registry HKLM.

Editor needs even in ram some time for to open this 52 Mbyte *.reg file.

And then I let asl.exe upload its tables and read again whole HKLM out.

Before reboot I compare both registries then with Beyond Compare 2

Dietmar

 

Link to comment
Share on other sites

@Damnation

Here is the compare of HKLM from XP SP3 without ASL (named ORI)

and with ASL.

You can see, that asl.exe does a very simple job.

Some is there with Cryptographie, which I dont understand.

But mostly asl.exe puts the table DSDT in this key

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\DSDT\ALASKA\A_M_I_\01072009]

 

So, any with asl.exe uploaded DSDT and also SSDT comes into

ControlSet001\Services\ACPI\Parameters\DSDT

ControlSet001\Services\ACPI\Parameters\SSDT

 

Dietmar

https://ufile.io/v4btld4z

Edited by Dietmar
Link to comment
Share on other sites

@Damnation

Where is limit in the sky,

I just succeed to upload a different DSDT without any asl.exe to registry :cheerleader:,

and indeed THIS new DSDT is loaded from XP SP3 after reboot, and stays there until I delete it by hand from registry..

Dietmar

EDIT: This overcomes any signing limits or versions limit of the DSDT.

I also "succeed" to upload the DSDT and SSDT from the z690 Asrock Extreme board to the z370 Asrock gaming k6 board a,

only mistake I see then is, that suddently the i8700k cpu of the Asrock k6 board has 24 cores^^..

Edited by Dietmar
Link to comment
Share on other sites

@Damnation

Send me your wished tables, which you want to upload.

I upload them to my Registry and make an *.reg file from them.

Only risk for you can be, that your XP installation may be destroyed after, when you install this *.reg file.

For to overcome this risk, make from an outstanding Windows a copy of your system32 folder and rename this copy to system32rett.

When something went wrong, you just choose this system32rett, delete damaged system32, and rename it  system32rett to system32

Dietmar

Link to comment
Share on other sites

@Damnation

I mean, that I make from your Acpi tables a single acpi.reg file

and that file I send back to you.

So you can test, if my hack for to load any acpi tables on any XP works without any tool, without any asl.exe,

just by hand

Dietmar

 

PS: By the way, the asl.exe tool works also for newer versions of Windows.

May be, that my hack of registry works there also and even on pure UEFI machines,

oh, this would be a nice virus.. Via this way you should load up ANY Acpi tables on any Windows PC.

Anyway we have now a 4. methode, for to upload any Acpi tables and may be, that this is the most universal.

Edited by Dietmar
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...