Jump to content

XP/W2k3 x86 on Modern Hardware


George King

Recommended Posts

Yepp, first I cancel BSOD A5 (0x00000003,xxx,yyy,zzz)

and then I get the same output via Windbg as before,

now with ntoskrnl checked and hal.dll checked

Dietmar

 


Microsoft (R) Windows Debugger Version 6.12.0002.633 X86
Copyright (c) Microsoft Corporation. All rights reserved.

Opened \\.\com1
Waiting to reconnect...
Connected to Windows XP 2600 x86 compatible target at (Sun Jan 23 17:16:44.203 2022 (UTC + 1:00)), ptr64 FALSE
Kernel Debugger connection established.
Symbol search path is: C:\symbols;C:\symbolss;C:\symbolsss
Executable search path is: C:\Symbols
Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8
System Uptime: not available
WARNING: Inaccessible path: 'C:\symbolsssE:\binaries.x86fre\Symbols'
MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012EFFF
MTRR feature disabled.
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
KiInitializeMTRR: OS support for MTRRs disabled
PS: Unhandled Kernel Mode Exception Pointers = 0xBACC2BF4
Code c0000005 Addr 801227C9 Info0 00000001 Info1 00000000 Info2 00000000 Info3 80ADEDD8

*** Fatal System Error: 0x0000007e
                       (0xC0000005,0x801227C9,0xBACC30A8,0xBACC2DA4)

Break instruction exception - code 80000003 (first chance)

A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.

Connected to Windows XP 2600 x86 compatible target at (Sun Jan 23 17:16:51.750 2022 (UTC + 1:00)), ptr64 FALSE
Loading Kernel Symbols
.......................
Loading User Symbols

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

Use !analyze -v to get detailed debugging information.

BugCheck 7E, {c0000005, 801227c9, bacc30a8, bacc2da4}

*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640
Probably caused by : ACPI.sys ( ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+35b )

Followup: MachineOwner
---------

nt!RtlpBreakWithStatusInstruction:
80ac37ec cc              int     3
0: kd> !analyze -v
*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e)
This is a very common bugcheck.  Usually the exception address pinpoints
the driver/function that caused the problem.  Always note this address
as well as the link date of the driver/image that contains this address.
Arguments:
Arg1: c0000005, The exception code that was not handled
Arg2: 801227c9, The address that the exception occurred at
Arg3: bacc30a8, Exception Record Address
Arg4: bacc2da4, Context Record Address

Debugging Details:
------------------

*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640
*** No owner thread found for resource 80afd640

EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher  bertragen.

FAULTING_IP:
hal!HaliAcpiMachineStateInit+51 [e:\xpsp1\nt\base\hals\halacpi\xxacpi.c @ 740]
801227c9 c70001000000    mov     dword ptr [eax],1

EXCEPTION_RECORD:  bacc30a8 -- (.exr 0xffffffffbacc30a8)
ExceptionAddress: 801227c9 (hal!HaliAcpiMachineStateInit+0x00000051)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 00000001
   Parameter[1]: 00000000
Attempt to write to address 00000000

CONTEXT:  bacc2da4 -- (.cxr 0xffffffffbacc2da4)
eax=00000000 ebx=00000000 ecx=00b60002 edx=00b50001 esi=bacc31e8 edi=80aeb98a
eip=801227c9 esp=bacc3170 ebp=bacc3188 iopl=0         nv up ei ng nz ac pe cy
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010297
hal!HaliAcpiMachineStateInit+0x51:
801227c9 c70001000000    mov     dword ptr [eax],1    ds:0023:00000000=????????
Resetting default scope

PROCESS_NAME:  System

ERROR_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher  bertragen.

EXCEPTION_PARAMETER1:  00000001

EXCEPTION_PARAMETER2:  00000000

WRITE_ADDRESS:  00000000

FOLLOWUP_IP:
ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+35b
ba78444d 53              push    ebx

BUGCHECK_STR:  0x7E

DEFAULT_BUCKET_ID:  NULL_DEREFERENCE

LOCK_ADDRESS:  80afd6c0 -- (!locks 80afd6c0)

Resource @ nt!IopDeviceTreeLock (0x80afd6c0)    Shared 1 owning threads
     Threads: 8a6502c0-01<*>
1 total locks, 1 locks currently held

PNP_TRIAGE:
    Lock address  : 0x80afd6c0
    Thread Count  : 1
    Thread address: 0x8a6502c0
    Thread wait   : 0xb4

LAST_CONTROL_TRANSFER:  from 80a30d7b to 80ac37ec

STACK_TEXT:  
bacc3188 ba78444d 8a582fa0 bacc31e8 00000000 hal!HaliAcpiMachineStateInit+0x51 [e:\xpsp1\nt\base\hals\halacpi\xxacpi.c @ 740]
bacc3218 ba788b6f bacc3230 801035b0 ba782a60 ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+0x35b
bacc3234 ba745458 8a619f18 8a619d88 00000000 ACPI!ACPIInitialize+0x189
bacc3264 ba78d79a 8a619f18 8a61a2e0 ba78d68e ACPI!ACPIInitStartACPI+0x6a
bacc3290 ba73f9ed 8a619f18 8a61a200 8a619f18 ACPI!ACPIRootIrpStartDevice+0x10c
bacc32c0 80a21c8d 8a619f18 8a619d88 8a619f18 ACPI!ACPIDispatchIrp+0xfd
bacc32d8 80b5e526 bacc3348 8a61b1a0 8a61b038 nt!IopfCallDriver+0x51
bacc3304 80b5e66e 8a619f18 bacc3324 00000000 nt!IopSynchronousCall+0xf0
bacc334c 80a2c123 8a61b038 00000001 00000000 nt!IopStartDevice+0x82
bacc3368 80b5d2e8 8a61b038 00000000 00000000 nt!PipProcessStartPhase1+0x9f
bacc35c4 80a2cff0 8a61fc80 00000000 00000000 nt!PipProcessDevNodeTree+0x238
bacc3608 80a2d2fb 00000000 00000000 8008fa78 nt!PipDeviceActionWorker+0xc4
bacc3620 80d37f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
bacc3684 80d341f1 80084000 bacc36a0 00034000 nt!IopInitializeBootDrivers+0x39b
bacc3830 80d31940 80084000 00000000 8a6502c0 nt!IoInitSystem+0x82d
bacc3dac 80bd81ac 80084000 00000000 00000000 nt!Phase1Initialization+0xb12
bacc3ddc 80ae4212 80d30e2e 80084000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX:  1

SYMBOL_NAME:  ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+35b

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME:  ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP:  42df0d89

STACK_COMMAND:  .cxr 0xffffffffbacc2da4 ; kb

FAILURE_BUCKET_ID:  0x7E_ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+35b

BUCKET_ID:  0x7E_ACPI!NotifyHalWithMachineStatesAndRetrieveInterruptModel+35b

Followup: MachineOwner
---------

0: kd> lm
start    end        module name
80100000 8012f000   hal        (private pdb symbols)  c:\symbolsss\halmacpi.pdb
80a02000 80da3000   nt         (pdb symbols)          c:\symbols\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb
ba2ea000 ba303b80   Mup        (deferred)             
ba304000 ba330980   NDIS       (deferred)             
ba331000 ba3bd600   Ntfs       (deferred)             
ba3be000 ba3d4880   KSecDD     (deferred)             
ba3d5000 ba3e6f00   sr         (deferred)             
ba3e7000 ba406b00   fltMgr     (deferred)             
ba407000 ba6bc000   iaStor     (deferred)             
ba6bc000 ba6e1a00   dmio       (deferred)             
ba6e2000 ba700d80   ftdisk     (deferred)             
ba701000 ba711a80   pci        (deferred)             
ba712000 ba735d80   ntoskrn8   (deferred)             
ba736000 ba7a7000   ACPI       (pdb symbols)          c:\symbolsss\acpi.pdb
ba8a8000 ba8b1300   isapnp     (deferred)             
ba8b8000 ba8c2580   MountMgr   (deferred)             
ba8c8000 ba8d5200   VolSnap    (deferred)             
ba8d8000 ba8e0e00   disk       (deferred)             
ba8e8000 ba8f4180   CLASSPNP   (deferred)             
bab28000 bab2cd00   PartMgr    (deferred)             
bacb8000 bacbb000   BOOTVID    (deferred)             
bada8000 bada9b80   kdcom      (deferred)             
badaa000 badab100   WMILIB     (deferred)             
badac000 badad700   dmload     (deferred)             

 

Link to comment
Share on other sites

@infuscomus

 

May be, that the value for the mode APIC or PIC is not given to hal.dll,

because of the hack against Acpi Bsod A5, (0x00000003,xxx,yyy,zzz)

makes always true

_ACPIBuildCompleteMustSucceed

Because as @Mov AX, 0xDEAD mentioned,

not all code works then correct (because the Bsod A5, 0x3 shows exact this)

Dietmar

Edited by Dietmar
Link to comment
Share on other sites

@Dietmar

maybe try changing in my HAL

from

	
    mov eax, dword ptr [PicVal]
    push ebx
    push esi
    mov esi, dword ptr [SleepValues]
    mov byte ptr [HalpWakeupState.GeneralWakeupEnable], 0x1
    mov byte ptr [HalpWakeupState.RtcWakeupEnable], 0x0
    mov dword ptr [eax], 0x1
    cmp byte ptr [esi], 0x0
	

to

	
    mov edi, dword ptr [PicVal]
    push ebx
    push esi
    mov esi, dword ptr [SleepValues]
    mov byte ptr [HalpWakeupState.GeneralWakeupEnable], 0x1
    mov byte ptr [HalpWakeupState.RtcWakeupEnable], 0x0
    mov dword ptr [edi], 0x1
    cmp byte ptr [esi], 0x0
	

Link to comment
Share on other sites

@Dietmar

I'm going to try and patch vista RTM acpi.sys again that you reported partially worked last time, this time I'll also try patching in XP ACPILoadProcess functions as well as ACPILoadFind functions. Previously I only patched ACPILoadFind function but I think ACPILoadProcess need patching too.

This is going to be an exceedingly tedious and frustrating way of patching though.

Link to comment
Share on other sites

Unfortunately I got an Intel motherboard where the USB3.X xHCI v2.2 driver doesn't work. It is a Gigabyte B560M-D3H.
When I try to manually install the driver on a working XP system (after installing the Kernel Mode Driver Framework v1.11), it immediately crashes during the driver update and I have to do a manual reboot. The system also freezes on the "Setup is starting windows" screen when installing "XP - Integral Edition" from scratch with the ISO containing that driver.

Installing XP works without any problems using the AMDxHCI XP 276 driver. But this driver does not have the same features as the USB3.X xHCI v2.2 driver: PCIEx to USB3.x cards (Asmedia and Via chipsets) are no longer recognized and also the UAS protocol is no longer available.

The Hardware ID for the onboard USB controller is VEN_8086&DEV_43ED&CC_0C0330. The ACPI drivers so far surely working with this board are acpi_6666 of 22Oct2020 (SHA-1 4DFDDBF9D786433CE8868F0CDAC8312B581836DF) and of Dec2020 (SHA-1 1C240A25E8D5C10CAE67C7C03F10715802C5950D).

Assuming this is a problem with the acpi.sys driver, are there any newer ones I can try to get the USB3.X xHCI v2.2 driver fully working again? If not, this will be the definitive reason for me to return this motherboard because already none of its four video outputs work.

 

Edited by Andalu
Link to comment
Share on other sites

15 minutes ago, infuscomus said:

@Andalu

I also have a problematic USB controller, although for my case it simply does not start and does not bring the whole system to a crash.

Can you do a test to see if the same behavior occurs in Windows 8.0? (NOT 8.1)

At least you can use a PCIEx to USB3 card. Here all my USB3 cards have become unusable.

I will try windows 8.0 as soon as I can.

In the meantime, also the AMDXHCI XP 276 driver starts to give problems: using the kvm switch the system hangs at reboot on the "windows is shutting down" screen and to perform a reset it is necessary to disconnect the power supply because both the reboot and power buttons on the front panel become ineffective.

I'm slowly getting more and more convinced to return it.

 

Link to comment
Share on other sites

@infuscomus

Already tried to change the XHCI Hand-off option in BIOS without changes. Another option is Port 60/64 emulation but i don't think it's that.

I too have never seen such behavior, but I can assure that I have clicked the power button for more than 10 seconds without getting a shutdown. This is already the third time this has happened.

Link to comment
Share on other sites

@infuscomus

No way to install Win 8.0 on the GA-B560M-D3H. The system restarts automatically after displaying for a few moments the error message: "Your pc ran into a problem and needs to restart. We're just collecting.....bla bla" (I had to record a video to read it). With the same pendrive Win8 installs without problems on a B250 board.

 

Link to comment
Share on other sites

@Andalu

What BSOD did you get on windows 8.0?

edit:

If you think you are going to look at getting a different motherboard, ASRock I think still use the 2012 iASL compiler for their ACPI tables i.e meaning you're less likely to have ACPI issues with their boards - I can boot Vista and 7 without an ACPI table mod on my ASRock AB350 G K4 board.

You can check the ACPI tables before buying a board by downloading the BIOS Image, extracting the DSDT with UEFITool, and disassambling it with latest iASL. It'll tell you under "Compiler Version " what version was used to build it.

Edited by infuscomus
Link to comment
Share on other sites

@infuscomus

No BSOD with code. The Win 8.0 installation doesn't even begin. The system reboots immediately without even getting to the "purple" installation screen. The above error message appears only for a moment before the automatic reboot. It is the classic error message preceded by the 'nice' symbol :( that is also displayed in Win10 in case of error detection.

Thanks for the advice but unfortunately no other recent motherboard in mATX format not Gigabyte has the old PCI slot and two PCIEx as the GA-B560M-D3H. For reasons of limited space I can't use a PCIEx x1 to PCI adapter.

Edited by Andalu
Link to comment
Share on other sites

1 hour ago, infuscomus said:

I can't remember off the top of my head right now but there is a way to disable automatic restart on failure before booting.

It should be in System Properties -- Advanced -- Startup and Recovery - Settings -- System Failure - Un-check Automatically restart.

I forget how to get to System Properties in XP, but in Win 7 you can either right-click My Computer -- Properties -- Advanced System Settings, or Control Panel -- System -- Advanced System Settings.

But if you can't get to a stable desktop... 

Cheers and Regards

Edited by bphlpt
Link to comment
Share on other sites

The method to disable automatic restart surely works on the installed operating system. In my case, though, Windows 8.0 won't install.....

Some updates about my GA-B560M-D3H board:
after reading a similar case on forum.gigabyte.us I finally managed to get the video outputs to work with the integrated graphics. Unfortunately I have to confirm that it only works with Windows 10 (and I think Win11 as well) if installed in UEFI mode and only on GPT disk. On MBR disk with CSM enabled no video output from the integrated graphics even with Win10.

Edited by Andalu
Link to comment
Share on other sites

5 hours ago, Andalu said:

The method to disable automatic restart surely works on the installed operating system. In my case, though, Windows 8.0 won't install.....

@Andalu

We can do it via editing the registry of boot.wim image using NTLite

Inside the boot.wim registry It's in Computer\HKEY_LOCAL_MACHINE\NLTmp~614f60f8~SYSTEM\ControlSet001\Control\CrashControl

set AutoReboot to 0, save changes to the boot.wim image and then boot from it.

Link to comment
Share on other sites

11 hours ago, infuscomus said:

@Andalu

We can do it via editing the registry of boot.wim image using NTLite

Inside the boot.wim registry It's in Computer\HKEY_LOCAL_MACHINE\NLTmp~614f60f8~SYSTEM\ControlSet001\Control\CrashControl

set AutoReboot to 0, save changes to the boot.wim image and then boot from it.

Thank you, your method works but the error message displayed is the same as before: "Your pc ran into a problem and needs to restart. We're just collecting some error info, and then you can restart (0% complete).

But now I can see the additional message:

"If you'd like to know more, you can search online later for this error: ACPI_BIOS_ERROR".

11 hours ago, infuscomus said:

@Andalu

You mentioned you needed this board for the PCI slot, what PCI card are you trying to use?

It's an old ADSL PCI modem card. I don't want use anything else :)

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...