Jump to content

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


Mov AX, 0xDEAD

Recommended Posts

5 hours ago, reboot12 said:

It's not true. UefiSeven is stable but cannot unlock C0000 memory on some computers:

UefiSeven test

I have a PC in which I have CSM turned off (UEFI class 3) and I run WinXP SP2 x64 on it without any problems using UefiSeven

WinXP x64 + UefiSeven

Have you tried patched Windows 7 bootmgr too? This can work without GPU driver under pure UEFI.

https://forums.mydigitallife.net/threads/tool-xp2esd-create-modern-windows-xp-installer-v1-5-6.82935/page-55#post-1731053

Link to comment
Share on other sites


1 minute ago, genieautravail said:

Nvidia Optimus ? :unsure:

I own a dell Vostro 3550 laptop and a Dell XPS L502X laptop.

Each of them has a Nvidia graphic card, and as there is no settings in the BIOS for disabling this stupid thing, I can't use them with XP. :realmad:

I own too a few Dell Latitude laptops with the Nvidia Optimus functionnality. But in the BIOS, I can disable it. :)

If someone know how to bypass or disable this feature, I'll take it! :ph34r:

 

I have modded by BIOS on Asus K53SV to unlock all available settings. After disabling integrated GPU I got no output at all. I must reset disassemble it and remove batery to reset CMOS.
 

Current solution is latest patched 5048 ACPI by @pappyN4 to be able to detect and install secondary GPU.

Link to comment
Share on other sites

4 hours ago, Damnation said:

@pappyN4

Do you get this behavior with the default XP x64 acpi.sys too?

There is no patched version of the default XP64 NT5.2x64 acpi that I can test with.  At least I haven't seen one.  I've only seen longhorn 5048 until now.  That's why I mentioned my XP results from the patched NT5.1x86 and longhorn acpis.

I also have a server 2003 NT5.2x86 install I can test with.  I used the older xp 7777v2 to get it to boot for the first time a little while ago to compare a nvme driver that didnt work in 5.1x86 but works in 5.2x86.

I'm assuming a 5.2x86 acpi compile would have the same issue, but I can give it a try to see.  I haven't played with setting up the compiler...  Is a 5.1x64 compile possible?

Link to comment
Share on other sites

1 hour ago, Damnation said:

@George King

What was the modification to 5048 ACPI for GPU to work?

we should implement this in C code if we can.

@George King has the individually patched tests, maybe he can narrow down which one specifically worked?  This one has the original patch from Dietmar and the four experiment tests that we tried and seemed to work. @Damnationhttps://ufile.io/xyabacfm

Link to comment
Share on other sites

1 hour ago, Damnation said:

@George King

What was the modification to 5048 ACPI for GPU to work?

we should implement this in C code if we can.

I will try to detect If its PCI or ACPI device as @Mov AX, 0xDEAD told in few posts back. I can investigate it tomorrow. I can do things only remotely on my desktop now.

 

I would like to see support as we have source.

Link to comment
Share on other sites

2 hours ago, Andalu said:

@Andalu

This is what i expected for long time:)

Quote

ACPIInitializeDDB: AMLILoadDDB failed 0xc0000206

Not much info, c0000206 = STATUS_INVALID_BUFFER_SIZE = AMLIERR_INVALID_BUFFSIZE

AMLIERR_INVALID_BUFFSIZE used in Buffer(), with message Buffer: invalid buffer size (size=%d)

STATUS_INVALID_BUFFER_SIZE  used in ToString() and ConvertToString(), with message ToString: buffer length exceeds maximum value

In your log no any message before BSOD, no any tips to point exact place

You need repeat debug session, but after ed KD_ACPI_Mask 0xFFFFFFF enter !amli set spewon verboseon logon traceon

must be:

Quote

kd> bu acpi!DriverEntry
kd> g
Breakpoint 0 hit
ACPI!DriverEntry:
ba79df80 55              push    ebp
23: kd> ed Kd_ACPI_Mask 0xFFFFFFFF
23: kd> !amli set spewon verboseon logon traceon
23: kd> g
OSOpenUnicodeHandle: ZwOpenKey = 0xc0000034
OSOpenUnicodeHandle: ZwOpenKey = 0xc0000034
OSReadRegValue: OSOpenHandle = 0xc0000034
OSReadRegValue: 0x00000a < 0x00000d

this time log can be very large, few megabytes

Link to comment
Share on other sites

On 4/19/2022 at 9:48 AM, Mov AX, 0xDEAD said:

When we finish with know acpi.sys' BSOD, i will release another acpi.sys sources , I think you can guess what it will be

@Mov AX, 0xDEAD already gave you the tip. So CALM DOWN and WAIT PATIENTLY.

Compiling an x64 version of XP SP3 ACPI sources in their current state won't work properly.

@Mov AX, 0xDEAD does stable and reliable patches.

If he gets annoyed, he might just leave the forum.

 

Geez, this thread is just about fixing ACPI issues.

For obvious reasons, mainly BSODs.

Eventually, other issues may be fixed.

Edited by daniel_k
Link to comment
Share on other sites

On 4/23/2022 at 7:11 AM, Damnation said:

What was the modification to 5048 ACPI for GPU to work?

we should implement this in C code if we can.

Open type2op.c, search for:

Quote
    char Win2000[] = "Windows 2000";
    char Win2001[] = "Windows 2001";
    char Win2001SP1[] = "Windows 2001 SP1";
    char Win2001SP2[] = "Windows 2001 SP2";
    char* SupportedOSList[] = {
                                    Win2000, 
                                    Win2001,
                                    Win2001SP1,
                                    Win2001SP2
                                };

 

And replace with:

Quote
    char Win2000[] =      "Windows 2000";
    char Win2001[] =      "Windows 2001";
    char Win2001SP1[] =   "Windows 2001 SP1";
    char Win2001_1[] =    "Windows 2001.1";
    char Win2001SP2[] =   "Windows 2001 SP2";
    char Win2001_1SP1[] = "Windows 2001.1 SP1";
    char Win2006[] =      "Windows 2006";
    char Win2006SP1[] =   "Windows 2006 SP1";
    char Win2006_1[] =    "Windows 2006.1";
    char Win2009[] =      "Windows 2009";
    char Win2012[] =      "Windows 2012";
    char Win2013[] =      "Windows 2013";
    char Win2015[] =      "Windows 2015";
    char Win2016[] =      "Windows 2016";
    char Win2017[] =      "Windows 2017";
    char Win2017_2[] =    "Windows 2017.2";
    char Win2018[] =      "Windows 2018";
    char Win2018_2[] =    "Windows 2018.2";
    char Win2019[] =      "Windows 2019";
    char Win2020[] =      "Windows 2020";
    char* SupportedOSList[] = {
                                    Win2000, 
                                    Win2001,
                                    Win2001SP1,
                                    Win2001_1,
                                    Win2001SP2,
                                    Win2001_1SP1,
                                    Win2006,
                                    Win2006SP1,
                                    Win2006_1,
                                    Win2009,
                                    Win2012,
                                    Win2013,
                                    Win2015,
                                    Win2016,
                                    Win2017,
                                    Win2017_2,
                                    Win2018,
                                    Win2018_2,
                                    Win2019,
                                    Win2020
                                };

 

 

By doing a version check, manufacturers intentionally disable/hide certain devices and ACPI code.
I've already told @Mov AX, 0xDEAD about this, but for now it shouldn't be included in our "official" source because of unexpected issues the AML interpreter may encounter executing ACPI code restricted for later versions of Windows.

Edited by daniel_k
C++ syntax, missing semicolons and comma
Link to comment
Share on other sites

@daniel_k

Oh, that's much simpler than I thought it was going to be, thanks!

Some systems might need the OS version lie however, it seems @George King has a system where the GPU is hidden behind ACPI OS version code. Although it seems for this specific case "Windows 2006" should be sufficient given that ACPI 5048 worked.

Link to comment
Share on other sites

I bought my grandson a new pc Dell Latitude 7300 Core i5, but I wanted to install Windows XP or 2000 on it, it shows an error 7B in installation , Is there a version stable of ACPI that can solve this problem

Link to comment
Share on other sites

1 hour ago, Damnation said:

@WinWord2000

Use XP Integral Edition with Optional Patch Integrator Script.

In the script use options 1,3,4,5 and 7.

put customized ISO onto USB with Wintoflash, install XP.

@Damnation

Thank you for your advice, because of the lack of time I installed Windows 10 because his birthday is in an hour, and I have to go to my daughter’s house and give the computer as a gift to my grandson. I wanted this computer to be accompanied by Windows 2000 or XP :unsure:, but there was no time left to do this or do experiments may fail.

I hope to see you succeed in working on Windows 2000 development 

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...