Jump to content

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


Mov AX, 0xDEAD

Recommended Posts

11 hours ago, pappyN4 said:

@AndaluI think I asked you before, maybe on old winraid..  Yours is Intel CPU?  Is the motherboard Gigabyte or does it use an ITE LCPIO?

Every so often I get annoyed using a PS2-USB adapter for my keyboard and do bit of testing.  With ASRock and with MSI no PS2 reboot issue.  Just with Gigabyte.  And only with XP/server2003x86/XP64.  On win7 its fine.  The ASRock and MSI both use a Nuvoton LCPIO.  The Gigabyte an ITE one.

gigabyte-B450m-Aorus.pngasrock-B450-MSteel-Legend.pngmsi-B450m-PROVDHMAX.png

I think it was in this thread back in august where loading dsdt table into registry was discussed.  So I tried to trick the gigabyte table to use same OSVR as for win7 but no change.  I even loaded the entire asrock table into registry just to see.  To my surprise the gigabyte board has no issues running with it.  Unfortunately, the PS2 reboot issue was still there.  Seems weird since I'm assuming it's something with the gigabyte DSDT not working with the ACPI from XP causing the soft-reboot to not finish.

https://ufile.io/lm3nsvmp

Hi,
the (intel) board with the faulty reboot when a PS/2 keyboard is connected is the Asrock B250M Pro4 with a Nuvoton LPCIO (strangely cpu-z didn't detected the chipset in this case):

Asrock-B250-LPCIO.png

 

 

15 hours ago, pappyN4 said:

Tested the "new" nvme driver.  

XP64
win7 - good
samsung - needs to use nvidia 355.98 to work.  Does not work when 368.81 is insatlled.
"new" - good.  Tested with 355.98 and 368.81.

XP32
win7 - good
samsung - needs to use PAE with >4GB.  When using nonPAE or PAE4GB does not work.
"new" - Need PAE>4GB to work.  Did not work with PAE4GB.  Did not test nonPAE.

server2003x86
"new" - good

Both samsung and "new" able to show SMART on MZVLW256HEHP using modded CrystalDiskInfo

assuming that we are talking about the same version of the "new" nvme driver (.1007), could you please report what problem and under what circumstances such driver gives problems in XP x32 with PAE 4GB?

I ask because even though I had tested it for a while on my intel system without encountering any problems, it is likely that I forgot to test it in that specific condition.

Link to comment
Share on other sites


On 1/14/2023 at 1:46 AM, UsefulAGKHelper said:

I know I wouldn't be able to debug using a single hardware but I wonder if I can try to add my host pc's DSDT into virtualbox's bios so I can debug acpi.sys from virtualbox (I know how to start a basic windbg session using windbg preview with virtualbox's serial COM1 port to debug a windows from the virtual machine).

@UsefulAGKHelper

1) VBox officialy doesn't allow to load custom DSDT/SSDT, need use 3rd tool to disable Hardening mode

2) Due unknow bug in Windows x64 COM transport, windbg session hangs when connecting to virtual COM port

3) For x32 i use VirtualKD transport, it is most fast connection, also it works in x64.

4) VirtualKD x32/x64 stop works if Hardened Loader is active

5) Last VBox 7.x offers some internal windbg support, but i dont know how to configure it

6) Internet says about Vbox custom builds without hardening mode, i never checked it

7) Vbox before 4.3.14 doesn't have Hardening mode, probaly VirtualKD works on it

Currently i have official Vbox 5.2, debugging x64 with custom acpi tables is impossible on my setup

 

About injecting DSDT/SSDT to VBox:

DSDT on modern MB have few memory region definitions, hardcoded to current bios config

Quote

    OperationRegion (GNVS, SystemMemory, 0xBC8DB000, 0x06D5)
    Field (GNVS, AnyAcc, Lock, Preserve)
    {
        OSYS,   16,
        SMIF,   8,
        PRM0,   8,
        PRM1,   8,
        SCIF,   8,
        PRM2,   8,
        PRM3,   8,

0xBC8DB000 adress is random depending on BIOS setting, inserted cards and other things

ACPI reads/writes OSYS, SMIF, ... fields on real memory filled by BIOS values, on VBox all  these values will be empty or random

Also there is many other definitions like:

Quote

            OperationRegion (HBUS, PCI_Config, Zero, 0x0100)
            Field (HBUS, DWordAcc, NoLock, Preserve)
            {
                Offset (0x40),
                EPEN,   1,
                    ,   11,
                EPBR,   20,
                Offset (0x48),

Quote

                OperationRegion (SMIE, SystemIO, PMBA, 0x04)
                Field (SMIE, ByteAcc, NoLock, Preserve)
                {
                        ,   10,
                    RTCS,   1,

p.s. I think any custom table replacing will will lead to memory BSOD

 

Link to comment
Share on other sites

My Email program Outlook Express under XP SP3 just crashes,

not possible to get or send any mails.

After some searching I get it to work again:

1.) Install the Posready Patch for TSL1.2

2.) Put this to your registry

    and at once, without restart of compi Outlook Express works

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\CRYPTO\TLS1.1]
"OSVersion"="3.5.1.0.0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\AdvancedOptions\CRYPTO\TLS1.2]
"OSVersion"="3.5.1.0.0"


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000


[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000

Oha, now I get more than 8000 mails:).

Seems, that I miss already some for now about 1 year, even I had the Posready TLS1.2 patch installed

Dietmar

Edited by Dietmar
Link to comment
Share on other sites

1 hour ago, Dave-H said:

@Dietmar@Mov AX, 0xDEAD@George King

As this discussion seems to have been all about x64 versions of acpi.sys in recent weeks, could I just ask what is the very latest version of the modified x86 version of acpi.sys?

I just want to make sure that I am using the latest (final?) x86 version on my netbook.

Thanks, Dave.
:)

I'm waiting for v8 update from @Mov AX, 0xDEAD Then I can include them in upcoming XP2ESD so we can get more "testers" :)

Link to comment
Share on other sites

@Dave-H @George King

It is not the last acpi.sys for XP SP3.

After crazy search for the Bsod in XP SP2 bit64  @Mov AX, 0xDEAD found the error.

This error is a global error, it may happen in other Win OS also.

Only one SSDT table is loaded (when time is short during boot) with more than 2 processors.

@Mov AX, 0xDEAD takes a deeper look into this and may be the wrong header for ntoskrnl.exe in XP SP2 bit64 is the real reason.

I dont know more.

I compiled this updated Source Files for XP SP3 and also for XP SP2 bit64. The error is gone.

The boottime for XP SP2 bit64 is now much shorter, about half the time as before with this new acpi.sys.

On XP SP3 the boottime is the same.

So, may be, that the last patch for XP SP2 bit64 will be also transfered to XP SP3 acpi.sys.

We just need to wait a little for news

Dietmar

Link to comment
Share on other sites

Thanks @George Kingand @Dietmar.

I'll hold on then until a new x86 version is published.

As an aside, it would be good if the revision version could be appended to the file version.
E.g. the version that was issued as 5.1.2600.7777.7 where the last '7' indicated the revision number, which is very useful to keep track of the versions.
Cheers,
Dave.
:)

Link to comment
Share on other sites

23 minutes ago, Dave-H said:

Thanks @George Kingand @Dietmar.

I'll hold on then until a new x86 version is published.

As an aside, it would be good if the revision version could be appended to the file version.
E.g. the version that was issued as 5.1.2600.7777.7 where the last '7' indicated the revision number, which is very useful to keep track of the versions.
Cheers,
Dave.
:)

ACPI compiled by me have these revisions in fileversion :)

Link to comment
Share on other sites

@George King

@Mov AX, 0xDEAD does not want, that I make online the new compiled acpi.sys for XP SP3 as a single file.

So I modd my Sources for myself and you have to compile it for yourself.

This is the whole folder acpi from the Sources with all updates as today 19 January 2023

Dietmar

https://ufile.io/cz9x60n2

 

EDIT: For XP SP2 bit64, the new patch is to 100% identic as for XP SP3 bit32.

Edited by Dietmar
Link to comment
Share on other sites

4 hours ago, George King said:

I'm waiting for v8 update from @Mov AX, 0xDEAD Then I can include them in upcoming XP2ESD so we can get more "testers"

@George King

v8 must be x64/x32 update to fix SSDT race condition issue on multi-core CPU, but then i found w2003 .h headers mismatch. May be XP headers also mismatch, i don't know yet. So v8 will include .h patches, but it require much more time, unfortunately BINDIFF doesn't show difference in offsets, instead needs manual comparing source .h files with MS SP2/SP3 acpi.pdb decompiled.

example of headers problem:

W2003 RTM(leaked files): mov ecx, [eax+04] ; 04 - offset of YYY.XXX

W2003 SP1(WRK): mov ecx, [eax+06] ; 06 - offset of YYY.XXX

W2003 SP2(MS binary): mov ecx, [eax+08] ; 08 - offset of YYY.XXX

YYY - kernel structure, XXX - field inside structure

Edited by Mov AX, 0xDEAD
Link to comment
Share on other sites

Hi,

I ask chatGPT, to find the Extremum of

f(x) = 4000*x*E^(-0.4*x)

Oh, interesting, it founds after loong search x=5 :buehehe:

which is wrong, because it is x=2.5

brrr..

And with this program students in USA learn to be medics.

Soon, from 10% of people in world, who understand something, the use of  stupids like chatgpt will lead fast to less than 1% understand anything,

happy future is coming

Dietmar

EDIT: Oha, after I tell chatGPT, that x=5 is wrong, I get this answer:

You are correct that x=5 is not a valid solution, my apologies for the mistake.

Therefore, the only valid solution for the critical point is x = 2.5:o and it is a local maximum. Again, I apologize for any confusion caused by my previous response.

 

EDIT2: I: Still you are wrong with "as the function is defined for x > 0"

chatGPT: I apologize for the confusion, you are correct that the function is defined for all real numbers x, not just x > 0.

 

Edited by Dietmar
Link to comment
Share on other sites

@Dibya

Yes, but also you have to look, if this is a global or only local Extremum.

I only want to test, how fit chatGPT is in Mathematics.

It was blind but it is crazy fast learning, when you teach it.

Until now, the IQ from chatGPT is =0. I wonder, if one day it can teach itself.

This is something, we should really worry about

Dietmar

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