Windows XP, 2003 x32 on modern hardware

(2018-2021)


Thanks to the brilliant specialists in this forum:

⇗diderius6, ⇗Mov AX, 0xDEAD, ⇗Fernando, ⇗daniel_k.

⇗gordo999, ⇗ruthan, ⇗infuscomus, ⇗Gelip, ⇗XPLives, ⇗George King, ⇗skullteria, and few others.


 

 

Part 1    ►   Part 2   ►    Part 3    ►   Part 4   ►   Part 5


 

Page 1

#1 deSSy2724 EDIT by Fernando: The most important information about this topic have been assorted ¶ >here< by Mov AX, 0xDEAD!

Can someone answer me some questions because I cant find clear answers to some of my questions (different statements from the same or different sources/sites/forums) and for some others things/questions, im not 100% sure:

  1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?
  2. Does XP 32bit support only MBR..... would it work if one partition of the same drive is partitioned as MBR (for XP) and the second partition of the same drive partitioned as GPT (for Win 10)? And is there any issues with SSD and MBR?
  3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?
  4. If 2.2 TB HDD is the limit for the 32 bit OS, can we split a 4/6/8 TB HDD/SDD to multiple 2TB partitions or is that still not possible/usable with 32bit OS-es?
  5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?
  6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
    Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?

Here is the thing and why so many questions..... I want to build a SINGLE gaming PC for all my older and newer games with both Win XP 32bit and Win 10 64bit (dual boot) but the problem is, if I build a PC out of parts from 2011/12 (Sandy Bridge, Ivy Bridge...) or so it would be harder (maybe even more expensive) to find parts and maybe the CPU from 2011 would not be that good for games from 2017-19 which means, I should buy parts which would be as newest and strongest/advanced as possible for new/upcomming games but at the same time to keep the legacy support for my older games (games designed for 98/2000/XP) and we all know that Win 7/8/10 and even 64bit OSes in general have some or in some cases many compatibility issues/obstacles with older games. I mean, there are many osbstacles with AHCI/IDE and SATA drivers, 32bit/64bit, MBR/GPT.... so, im not quite sure what to do.

It would be the best to build a PC based on the Skylake, Kaby Lake, Coffe Lake etc. but is it actually possible to make it happen without any issues on Windows XP SP3 32bit?

Would scenario 1 be possible?

EDIT1 by Fernando: Reformatted to save space
EDIT2 by Fernando: Thread title customized
#2 Lost_N_BIOS ⇗ @Fernando would be best to answer many of these, I'm sure you'll see him pop in when he has a chance

I can tell you #2 - MBR and SSD is fine, I use this all the time for many years.
#3 - XP from USB, I am not sure about, probably not easily unless you can find ready image/ISO, but yes it can be installed from CD/DVD burned discs, if blueray burn same way as DVD drive them I'm sure your good to go with that.
#4 - Yes, you can create multiple 2.2TB or less Primary partitions with MBR, SP2 may need to be installed before they are all visible, I am not sure on that one.  Third party partition tools may be required to setup the additional partitions, also am not certain on that either (guess I should quit partially answering )

Here's some info that may help answer some of that for you too
⇗ http://www.questions4steveb.co.uk/html/S...with-Windows-XP

I think your scenario two would be easier to use and setup, but you'd have to figure out how to edit the boot menu of Win10 to allow multi-disk boot choice at startup, or use some other third party bootloader.
#3 Fernando ⇗ @deSSy2724:
Welcome to the Win-RAID Forum!

Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?
You can install Windows XP and Windows 10 onto the same HDD/SSD, if you install them both in LEGACY mode by using the MBR partition scheme.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
2. Does XP 32bit support only MBR?
Yes!
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?
Due to the missing/not compatible USB drivers it is not a good idea to install Windows XP onto a modern PC by booting off an USB Flash Drive. Booting off an Optical Drive is the much better option.

Your question #4 has already been answered by Lost_N_BIOS, an answer to your question #5 requires XP installation experiences with all available chipset/CPU generations, which I don't have.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?
Not the chipset, but just the HardwareIDs of the on-board SATA AHCI or RAID Controller is important. When you want to slipstream a specific AHCI/RAID driver into a Windows XP Image (don't integrate more than 1 textmode driver!), you should choose an XP compatible textmode driver, which definitively supports your specific on-board SATA AHCI/RAID Controller. If the related AHCI/RAID driver supports several different SATA Controllers, you should make sure, that just the matching SATA AHCI/RAID Controller has been highlighted during the textmode driver integration procedure.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
It would be the best to build a PC based on the Skylake, Kaby Lake, Coffe Lake etc. but is it actually possible to make it happen without any issues on Windows XP SP3 32bit?
Regarding the XP installation onto a modern Intel chipset PC running in AHCI or RAID mode I recommend to read the start post of ⇗ >this< thread.

Regards
Dieter (alias Fernando)
#4 Mov AX, 0xDEAD

Windows XP/2003 32-Bit on Modern Intel Hardware


Windows XP/2003 support only ACPI 1.0b syntax, last generation bioses uses ACPI 2.0+
To support ACPI 2.0 syntax need replace acpi.sys and apply additional patches to avoid known BSODs :

- 0xA5 (0x03, ..., C0140001, ...) missing ACPI 2.0 syntax, 99% solved, two solutions:
  1) acpi.sys (v.5048, sha1:a09c0d9f6b5cb63192e2cebada56db38d3870b29) from Vista Beta/Longhorn v.5048
     Pro:
- Has most of ACPI 2.0 syntax opcodes
- All integers are 64-bit regarding ACPI 2.0 specification
     Cons:
- beta, compiled for next generation of windows
       - failed implementation of some internal data types, _ValidateArgTypes generate BSOD 0xA5(0x03, xxx, C0140008, yyy)

     Patches:
       - Add pointer to _atDataObj struct for QWord Opcode
         (_OpcodeTable start at .data:00039848, _atDataObj struct at .data:000397A8,
          missing pointer at .data:00039880, dont forget add additional relocs)

  2) acpi.sys from Windows XP SP3 (v.5512->v.6666) with integrated acpi 2.0 syntax support
     Pro:
- based on original v.5512, match binary/offsets
     Cons:
- All integers are still 32-bit, any operations on 64-bit fields/variables will drop high part of QuadWord

- 0xA5 (0x11, 0x08, ..., ...) unknow error in _AMLILoadDDB, probably fail after parsing DSDT/SSDT table, solved

   Patch (by diderius6):
- Ignore status of _AMLILoadDDB in _ACPIInitializeDDB
(v5512 jl short .text:00036214 => nop, nop)

- 0xA5(0x03, ..., C0140008, ...) DSDT code have operation with unexpected type of arguments, partially solved
   This BSOD probably means some argument has datatype, allowed only in ACPI 2.0
   v5512 & v5048 support only argument datatypes allowed in ACPI 1.0b specification

   Patch:
       - _ValidateArgTypes must always return "OK", even on realy wrong types
         (mov edi, 0xC0140008=>mov edi, 0x00000000 at head of _ValidateArgTypes)

- 0xA5 (0x10006, ..., ..., ...), missing _DIS method for "PNP0C0F"s (PCI Interrupt Link Devices) in DSDT/SSDT table

   Patch (by daniel_k):
       - Skip looking for PNP0C0F in _DisableLinkNodesAsyncWorker,
         (v5512 call strstr, ..., jz .text:0001BBBD => jmp .text:0001BBBD )




- 0xA5 (0x02, ..., ..., ...) error in ACPIRangeValidatePciResources, ACPI vs E820 conflict, solved
    BSOD is generated by this DSDT code:
     
     DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x00000000, // Granularity
0x00000000, // Range Minimum
0xDFFFFFFF, // Range Maximum
0x00000000, // Translation Offset
0xE0000000, // Length
,, _Y0E, AddressRangeMemory, TypeStatic)
...

CreateDWordField (BUF0, \_SB.PCI0._Y0E._MIN, M1MN) // _MIN: Minimum Base Address
CreateDWordField (BUF0, \_SB.PCI0._Y0E._MAX, M1MX) // _MAX: Maximum Base Address
CreateDWordField (BUF0, \_SB.PCI0._Y0E._LEN, M1LN) // _LEN: Length
M1LN = M32L /* External reference */
M1MN = M32B /* External reference */
M1MX = ((M1MN + M1LN) - One)


    Sometimes M1LN, M1MN, M1MX cannot be calculated properly and this code claim most of memory
   (E0000000 = 3.7Gb) as motherboard resource, this brings to conflict with E820 memory ranges list

   Patch:
- memory check in ACPIRangeValidatePciResources must always return "OK"
(v5512 jz short .text:0001E0BB => jmp short .text:0001E0BB)



Device IOTR(PNP0C02) claim 255 I/O adresses in range 0xFF00-0xFFFE, for unknow reason this range
conflict with Video Card I/O range. This problem is generated by Kabylake+ bioses in DSDT code, solved, two solutions:

1) Manual patching DSDT table, remove this lines inside method _CRS of IOTR device,
  so _crs will return empty Local0:
 
          If ((ITS0 == One))
{
ConcatenateResTemplate (Local0, BUF0, Local1)
Local0 = Local1
}

If ((ITS1 == One))
{
ConcatenateResTemplate (Local0, BUF1, Local1)
Local0 = Local1
}

If ((ITS2 == One))
{
ConcatenateResTemplate (Local0, BUF2, Local1)
Local0 = Local1
}

If ((ITS3 == One))
{
ConcatenateResTemplate (Local0, BUF3, Local1)
Local0 = Local1
}



2) Patch acpi.sys with injecting special code to override IOTR template buffer:
   In _Buffer opcode handler replace:

 
      mov     eax, [ebx+14h]
mov ecx, [ebp+arg_0]


   to

 
      call    Check_IOTR_Buffer
...
Check_IOTR_Buffer:
cmp eax, 0Ah ; eax - size of buffer
jnz short Skip
mov eax, [ebx+30h]
mov eax, [eax+10h] ; eax - buffer
cmp dword ptr [eax], 00000147h ; need matching all 10 bytes
jnz short Skip
cmp dword ptr [eax+4], 0FF010000h
jnz short Skip
cmp word ptr [eax+8], 0079h
jnz short Skip
mov byte ptr [eax+7], 0 ; MAIN ACTION, set i/o range to 0 instead 255

Skip:
mov eax, [ebx+14h]
mov ecx, [ebp+arg_0]
ret

   
IOTR template defined as:

 
         Name (BUF0, ResourceTemplate ()
{
IO (Decode16,
0x0000, // Range Minimum
0x0000, // Range Maximum
0x01, // Alignment
0xFF, // Length
_Y21)
})


in bytecode: 11 0D 0A 47 01 00 00 00 00 01 FF 79 00      



   Some part of acpi hardware is disabled, so CPU should not use nonexistent ACPI C2/C3 power savings, solved, two solutions (intelppm.sys):
   1) C2/C3 States => C1 State :
       - in _InitializeAcpi2IoSpaceCstates replace offsets AcpiC2Idle and AcpiC3ArbdisIdle to offset AcpiC1Idle

   2) C2/C3 States => C7+ States :
       
push    ebx
mov ebx, ecx
push esi
push 0
call _KeQueryPerformanceCounter
mov [ebx], eax
mov [ebx+4], edx

mov eax, offset DummyMon
xor ecx, ecx
xor edx, edx
monitor
mov ecx, 1
mov eax, 60h
mwait

push 0
call _KeQueryPerformanceCounter
mov [ebx+8], eax
mov [ebx+0Ch], edx
xor eax, eax
pop esi
pop ebx
retn


DummyMon - any unused 4 byes in .data segment
       


       
push    ecx
push 0
call _KeQueryPerformanceCounter
mov ecx, [esp+4+var_4]
mov [ecx], eax
mov [ecx+4], edx

mov eax, offset DummyMon
xor ecx, ecx
xor edx, edx
monitor
mov ecx, 1
mov eax, 33h
mwait

push 0
call _KeQueryPerformanceCounter
pop ecx
mov [ecx+8], eax
mov [ecx+0Ch], edx
xor eax, eax
retn



Windows XP SP2+ uses disabled acpi timer, solved

Skylake+ bioses by default disable ACPI hardware timer (register "ACPI Timer Control (ACPI_TMR_CTL)"
in southbridge, see PDF), but WinXP SP2+ still uses disabled acpi timer for getting incremental
time counter (acpi spec declare this counter as part of specification). WinXP detect existing this timer
by checking special bit USE_PLATFORM_CLOCK in FACP ACPI table, modern bioses still set USE_PLATFORM_CLOCK=1
in acpi (mistake by programmers ? or maybe inform Win7+ about existing HPET timer (not acpi timer!)

Patch (by diderius6) "HAL_acpitimer_fix" to use CPU TSC counter as performance timer/counter:
  - in HaliAcpiTimerInit force to ignore USE_PLATFORM_CLOCK and receive it always =0
    (v.5512 jns short PAGE:8002934B => jmp short PAGE:8002934B)

Compatibility fix ("HAL TSC frequency divider")
  Some programms do wrong calculation with high values of PerformanceCounter/PerformanceFrequency
  (HAL_acpitimer_fix set values to cpu freq), to avoid this problem values need to divide to much
  lesser value, Windows 7 just divide it to 1024, so timer frequency on 3600Mhz cpu is only 3.51Mhz
  
Patch:
  - divide to 1024 values of PerformanceCounter/PerformanceFrequency, replace _HalpAcpiTimerQueryPerfCount to:
 
 mov     ecx, [esp+4]
or ecx, ecx
jz short Skip_Frequency_Mode
mov eax, fs:0A4h ; FrequencyLo
mov edx, fs:0A8h ; FrequencyHi
shrd eax, edx, 0Ah
shr edx, 0Ah
mov [ecx], eax
mov [ecx+4], edx
Skip_Frequency_Mode:
rdtsc
add eax, fs:0ACh ; CalibrationLo
adc edx, fs:0B0h ; CalibrationHi
shrd eax, edx, 0Ah
shr edx, 0Ah
retn 4




Windows XP/2003 support SATA controllers only in Legacy IDE mode, modern Intel chipsets has only AHCI mode, solved, many solutions:
1) Intel RST  AHCI/RAID 11.2.0.1006 (iaStor.sys)
2) Intel RSTe AHCI/RAID  4.7.0.1098 backport by daniel_k (iaStorA.sys+iaStorF.sys)
3) StorAHCI by skulltera/OneCore (storahci.sys), compiled from Microsoft Windows 8.x DDK Samples, (require storport.sys from Windows 2003)
4) UniATA (opensource)
5) Intel RSTe AHCI/RAID  4.0.2.1019, for Windows 2003 only, enterprise controllers only(??) (iaStorA.sys+iaStorF.sys))
6) StorAHCI from Windows 8 (require backported storport.sys from Windows 8)
7) StorAhci for Windows 2003, based on Microsoft Windows 8.x DDK Samples source code, ⇗ https://sourceforge.net/projects/storahci-for-windows-2003/

Add PCI\VEN_8086&CC_0106 to *.inf as universal DEV_ID for any Intel AHCI Sata Controller
 



- 0xA5 (0x0000000D, ..., ..., ...), duplicated _HID method

   Patch:
       - Skip DetectDuplicateHID processing
(v5512 .text:00013F6C => jmp .text:00013F6C)

- 0x7E (..., ..., C0000005, ...) unknow error in AcpiArbCrackPRT

   Patch:
(v5512 jnz short .text:0001BD6D => jmp short .text:0001BD6D)




Intel released USB3.x drivers only for Windows 7/8/10, so there were many attempts to use drivers of
other usb chip manufacturers. Most of them do not work at Intel hardware, some works, but have problems with PAE or USB3 ports.

Following drivers confirmed to work in normal and PAE environment, solved, three solutions:
  1) Microsoft Generic v6.2.9200.16384/v6.2.9200.22453 from Windows 8.0
  2) AMD v1.1.0.0145 (need amdxhci_adresscalc_fix)
  3) Fresco Logic v3.6.9.0 (extended to 32 ports)

AMD and Fresco drivers have some issues with recognizing devices after plug<->unplug, sometimes ports go to power saving modes and can't back

UAS (Attached SCSI Mass Storage) drivers also available, partial solved, three solutions:
  1) UAS Driver from Windows 8 + storport.sys from Windows 2003, alpha
  2) UAS Driver from Windows 8 + storport.sys from Windows 7, alpha
  3) UAS Driver from Windows 8 + storport.sys from Windows 8, alpha
  4) VIA UAS Driver
  5) Etron UAS Driver

VIA and Etron UAS Drivers doesn't support Safe Remove, require fixes, solved (via_uas_fix, etron_uas_fix)
By default  VIA and Etron UAS works only with genuine vendor USB3.0 Driver, but they are generic(?) and can work with any USB3 driver
vusbstor.inf:  change USB_VIA\Class_08&SubClass_06&Prot_62 to USB\Class_08&SubClass_06&Prot_62
EtronXHCI.inf:  change ENUSB\Class_08&SubClass_06&Prot_62 to USB\Class_08&SubClass_06&Prot_62

 
1) Windows 8 USB3 driver always report USB2 speed on inserted USB3 devices, MS call it "compatibility", but vendors driver report proper USB3 speed and dont have compatibility issues(?)

Fix to report proper USB3 speed, usbhub3.sys (v6.2.9200.21180):
.text:19C58: jnz 00019C63 => jmp  00019C63 (75 09 => EB 09)
 

 
  This driver is known to have issues with PAE environment, need fix:
   - replace in amdxhc.sys:
 
    mov     ecx, [esi+458h] ; esi+458h = store of 64bit adress
mov eax, [esi+28h]
mov [eax], ecx ; low part
mov [eax+4], ebx ; dropped high part, ebx=zeroes.....


   to

 
    mov     ecx, [esi+458h]
mov eax, [esi+28h]
mov [eax], ecx
mov ecx, [esi+45Ch] ; HIGH part of 64bit
mov [eax+4], ecx ; no more zeroes


 


 
Patch for VIA USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
- replace in vusbstor.sys (v6.1.7600.4002):
page:000209B4: mov     [ebp+SurpriseRemovalOK], ebx -> NOPs
(89 9D 70 FF FF FF 89 9D 68 FF FF FF => 90 90 90 90 90 90 89 9D 68 FF FF FF)

 
 
Patch for Etron  USB Mass Storage Device (UAS/UASP) to restore "Safe Remove":
- replace in EtronSTOR.SYS (any version):
OR dword ptr [eax+4], 0300h -> OR  dword ptr [eax+4], 0000h

 


- Windows 2003 support more than 4Gb RAM without additional actions, limited to some value depending "Edition"

- Windows XP ServicePack1 support more than 4Gb RAM without additional actions, limited to some value (16Gb ?)

- Windows XP ServicePack2/3 don't support RAM above 4Gb, need patching, solved, many solutions:
     1) PatchPae(v2) by wj32, remove limits only in kernel, need additional HAL patching  
     2) fix128/PatchPae(v3) by evgen_b, contains unfinished HAL_DMA patch, kernel patch is OK
     3) WinXPPAE(v2) by daniel_k, contains proper HAL_DMA patch, kernel patch is OK



- Bootmgr from some Vista Betas/Longhorns allow boot Windows XP x64 from UEFI x64, alpha,
  there is issues with Video card,  ⇗ https://www.betaarchive.com/forum/viewtopic.php?f=61&t=20327

- Boot Windows x32 on UEFI 32
 UEFI32 on real hardware is rare, confirmed only on emulated environment, alpha, ¶  howto by Gelip

- Quibble bootloader (experimental, opensource), alpha, no NTFS support,
  booting possible only if Windows installed on FAT partition, project page - ⇗ https://github.com/maharmstone/quibble



Solved, many solutions:
 - Modified OFA 1.3/1.5 driver + storport.sys from Windows 2003
 - MS Windows 7 NVMe Driver by daniel_k + backported storport.sys from Windows 7
 - MS Windows 7 NVMe Driver + storport.sys from Windows 7 + Emu_Extender
 - Samsung NVMe driver + storport.sys


Windows 2003 already support GPT Partitions for non-booting disks, no need additional software

Windows XP doesn't support GPT Partitions, solved for non-booting disks, one solutions:
  -  Paragon GPT Loader enable access to 3TB+ Disks/GPT partitions (commercial product, not available for sale)

Booting from GPT disk partially solved, need convert pure GPT to HybridMBR, ¶ guide by Levvon



To enable saving crash dumps with storport-based disk drivers on Windows XP need patch kernel (scsi support will be disabled)
Disk Controller drivers written for Windows 8 mostly will not save crash dumps on disk, they use new API to get information from kernel about dump context

List of patches:
1) IopGetDumpStack:
Replace unicode string "scsiport.sys" to "storport.sys"
This string is 3rd argument of "call _IopLoadDumpDriver@12"

2) IopGetDumpStack:
Original XP kernel will disable loading storport emulator(diskdump.sys) if storport/miniport return "Device Object"
This is not problem for Windows 2003/7/.., newer OS still load diskdump.sys even if storport/miniport return anything

Replace "mov [ebp+ScsiDump], 0" with NOPs
Example for ntkrpamp.exe v5512:
PAGE:004A0E0F mov byte ptr [ebp-29h],0 -> NOP, NOP, NOP, NOP

3) IopGetDumpStack:
Storport doesnt use SCSI ports names and dont need to search name of driver, need to skip this block

Example for ntkrpamp.exe v5512:
in range PAGE:004A0F49-004A1018 replace first opcode with "jmp 4A1019"

4) Use diskdump.sys from Windows 2003 or Wondows 7 (Windows 8 version not tested)

5) IoInitializeCrashDump:
XP kernel allocate for diskdump.sys buffer of 32Kb (same size in Windows 2000), diskdump.sys from Windows 2003+
expect buffer of 64Kb. To be compatible with new diskdump.sys need to increase buffer

Replace "push 8000h" with "push 10000h" as 3rd arg of ExAllocatePoolWithTag call


Currently Proof-Of-Concept, only one kernel version supported ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (480)



- Remote kernel debug over LAN or USB3 cable, ⇗ https://github.com/MovAX0xDEAD/KDNET
- ACPI DSDT/SSDT Patcher at boot time for any windows, ⇗ https://github.com/MovAX0xDEAD/ACPI-Patcher
- WinXP/W2003 ntoskrnl.exe Emu_Extender, ⇗ https://github.com/MovAX0xDEAD/NTOSKRNL_Emu, ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware (328)






Unresolved Problems/Requested Features:
- ACPI.SYS v.6666 lack 64-bit integers
- ACPI.SYS v.6666 limits possible datatypes in arguments only to ACPI 1.0b Specification
- Boot Windows XP/2003 x32 from UEFI x64
- Generating TRIM command for SSD in filesystem (NTFS/???)
- Internal GPT support for x32 Windows XP by replacing disk.sys/partmgr.sys/??? from Windows 2003
- Boot Windows x32 XP/2003 from pure GPT
- Restore full Windows XP SP1 implementation of PAE/DMA for Windows XP SP3
- Generic/Universal HDA Audio driver
- CSM Emulator for UEFI x64
- DirectX 10/11 kernel support
- NDIS 6.x for Windows XP/2003
#5 deSSy2724 1. So, basically...... XP 32bit can only be installed to the MBR partition and nothing can change that BUT with help of 3rd party tools like this one (link below), XP can read/access other GPT partitions and I should be able to install programs/games normally to that GPT partitions, right?
⇗ https://www.paragon-software.com/de/tech...nts/gpt-loader/

2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?

3. What is actually the disadvantage if I disable ACPI (desktop PC)? Would my CPU work always with full speed and never downclock when idle (Intels Turbo Clock technology) or what?. Is ACPI disabled system-wide (BIOS) or can it be only disabled for specific OS-es?

4. ⇗ @Mov AX, 0xDEAD
Are you trying to say that this user from this thread has ACPI disabled or what? How did he managed to install XP 32 bit with Coffe Lake MBO/CPU?
⇗ Windows XP 32bit SP3 now working with Z370 motherboard and Coffe Lake CPU
#6 Fernando
Zitat von ⇗ deSSy2724 im Beitrag ¶ #5
2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?
To avoid a 7b BSOD while starting the XP installation, you should just load/integrate the textmode driver, which matches the AHCI/RAID Controller of the target HDD/SSD (where you want to install the OS).
All other storage drivers can be installed later on (once XP is up and running fine).
#7 Mov AX, 0xDEAD
Zitat von ⇗ deSSy2724 im Beitrag ¶ #5
1. So, basically...... XP 32bit can only be installed to the MBR partition and nothing can change that BUT with help of 3rd party tools like this one (link below), XP can read/access other GPT partitions and I should be able to install programs/games normally to that GPT partitions, right?
maybe gpt-loader will not works on same drive where xp installed, try replace 2 or 3 sys files from windows 2003 server
Zitat von ⇗ deSSy2724 im Beitrag ¶ #5
2. For slipstreaming, just adding correct hardware IDs for the SATA AHCI controller of my mainboard is enough to install XP 32bit? Wat if my MBO has multiple AHCI controllers from different manufacturers, should I avoid Intels AHCI controller and use the others instead?
if you are sure that win xp already has drivers for you hardware , you can add new ids to TXTSETUP.SIF
if not, you need integrade AHCI driver (textmode) to install media (nlite/massdrivers/etc)
last driver for intel AHCI is 11.2.0.1006 for 32b and 64b winxp,  need add new ids in INF, it works on 100 series(skylake) MB without problem
Zitat von ⇗ deSSy2724 im Beitrag ¶ #5
3. What is actually the disadvantage if I disable ACPI (desktop PC)? Would my CPU work always with full speed and never downclock when idle (Intels Turbo Clock technology) or what?. Is ACPI disabled system-wide (BIOS) or can it be only disabled for specific OS-es?
i have no experience with non acpi kernel, acpi is not disabled, it just not used by OS's kernel

EDIT by Fernando: Reformatted to save space
#8 YuriyCN
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
My previous platform was skylake cpu with H110 chpset and initial bios, winxp 64/win7 64 installed (winxp 32 can run too, but RAM limited to 2.3Gb)
Use fix128 for support >4GB RAM on 32-bits OS.
⇗ https://rutracker.org/forum/viewtopic.php?t=4694409
#9 Mov AX, 0xDEAD I have finished little experimenting with acpi for running windows xp on 100-series sky/coffe-lake platform.
It is possible run acpi kernel but need patch DSDT table. In my case need to block acpi 2.0 syntax from acpi.sys driver.
I just put these instruction in a condition "IF OS >= WINDOWS VISTA THEN ...."

                ToBuffer (Arg0, Local3)
Local0 = Zero
Local1 = Zero
While ((Local1 < Arg2))
{
Local2 = DerefOf (Local3 [(Arg1 + Local1)])
Local0 += (Local2 << (0x08 * Local1))
Local1++
}

Return (Local0)

           If ((OSYS >= 0x07D6))
{
ToBuffer (Arg0, Local3)
Local0 = Zero
Local1 = Zero
While ((Local1 < Arg2))
{
Local2 = DerefOf (Local3 [(Arg1 + Local1)])
Local0 += (Local2 << (0x08 * Local1))
Local1++
}

Return (Local0)
}
Else
{
Return (Zero)
}

ToBuffer - unsupported instruction from acpi 2.0
0x07D6 - hardcoded id of Vista

This is simple example of replacement, total is 12 new instructions:
Zitat
QwordConst
ConcatenateResTemplate
Mod
CreateQWordField
ToBuffer
ToDecimalString
ToHexString
ToInteger
ToString
CopyObject
Mid
Continue



EDIT by Fernando: I have put the code into "spoilers" (to save space)

#10 deSSy2724 Isnt Coffe 300 series?  Would it work with my Fatal1ty Z370 Professional Gaming i7? Im just wondering if ACPI could work on XP and maybe on Win 98SE.

BTW anyway..... when it comes to SATA AHCI, this MBO has actually dual SATA controllers (6x from Intel and 2x from ASMedia), so, that should not make additional obstacles.
#11 zir_blazer Have you considered virtualization? You can use it as a compatibility layer between new Hardware and old OSes, and unless you are doing something very specific that requires bare metal access, VGA Passthrough is usually enough to get a fully functional Windows VM that feels like bare metal (Could be problematic in WXP, but you can source an old, supported Video Card). Been using Windows that way since December 2013 with a Linux host and QEMU-KVM-VFIO, and used as main VM Windows XP SP3, Windows XP x64 SP2, and now Windows 10.
#12 deSSy2724 I need XP 32 bit for legacy/old games and application, thats why I need proper drivers. And for old win 95-98-ms dos games there are PCI express to PCI adapters.... not sure if that could work and there are tools to downclock/limit/slower CPUs in win 95/98 for beter compatibility.

BUT dual booting XP 32 bit and win 10 64 bit is my main goal with proper drivers, acpi if possible for xp. And dual graphics cards.... gtx 1080/rtx2080/vega/navi GPU (not sure which one exactly would I get) for new advanced software/games and I have a spare radeon rx 260x for XP 32 bit (it has official drivers). Win 98SE and ms dos would be just an additional bonus if possible.
#13 zir_blazer
Zitat von ⇗ deSSy2724 im Beitrag ¶ #12
I need XP 32 bit for legacy/old games and application, thats why I need proper drivers. And for old win 95-98-ms dos games there are PCI express to PCI adapters.... not sure if that could work and there are tools to downclock/limit/slower CPUs in win 95/98 for beter compatibility.

Seriously, you're better off with virtualization simply because as the emulated platform stuff is old enough (Chipset, IDE Controller, etc), you will always have "proper Drivers" of the harder to support components. The only missing thing is the GPU, which VGA Passthrough already covers well enough.
There are also some Motherboards with PCI slots like ⇗ this one. Recall at least seeing a guy with an old PCI Voodoo ⇗ passthroughing it to a VM and playing DOS or W9x games with Glide. Your other option is PCem, or a computer old enough to get things working mostly out of the box.
#14 infuscomus ⇗ @Mov AX, 0xDEAD:

Would patching like ¶ >this< help to fix an A5 BSOD?
If so, can i get some help to patch ACPI?

EDIT by Fernando: Fully quoted post replaced by directly addressing (to save space)
#15 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #14
Would patching like this help to fix an A5 BSOD?
If so, can i get some help to patch ACPI?
Yes, this patching fix A5 bsod
You need ask for someone to fix your acpi table or learn how to DIY, see attachemnt "before and after"
patching is not easy, if you forget return something from method you will get another BSOD, so be accurate

Mov AX, 0xDEAD has attached files to this post

 

Page 2

#16 infuscomus
Zitat von ⇗ Mov AX, 0xDEAD im Beitrag ¶ #15
Zitat von ⇗ infuscomus im Beitrag ¶ #14
Would patching like this help to fix an A5 BSOD?
If so, can i get some help to patch ACPI?
Yes, this patching fix A5 bsod
You need ask for someone to fix your acpi table or learn how to DIY, see attachemnt "before and after"
patching is not easy, if you forget return something from method you will get another BSOD, so be accurate



could you patch my ACPI Table for me please? you seem to know what you're doing and I don't want to break things, so I'd appreciate it.

is the ACPI Table stored in UEFI?
my motherboard is an ASRock AB350 Fatal1ty Gaming K4 - did you need UEFI file?
#17 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #16

could you patch my ACPI Table for me please? you seem to know what you're doing and I don't want to break things, so I'd appreciate it.


sorry, i don't do that.
Zitat von ⇗ infuscomus im Beitrag ¶ #16

is the ACPI Table stored in UEFI?


yes, dsdt binary table stored in uefi, short "how-to find,extract and decompile acpi tables" is ⇗ here
#18 deSSy2724 So, we need to patch all the mentioned instructions or some of them (depending on the configuration), is that right? Can we do it both after and before win XP installation and could this solutuin or similar work with win 98SE?
#19 diderius6 ⇗ @Mov AX, 0xDEAD
Do you think it is possible, just do make a small hack to acpi.sys in XP SP3, so that it does not worry about "wrong" acpi 2.0 syntax from Bios?
have a nice day
Dietmar

PS: Windows XP implements ACPI 1.0b and section 8.3 of Acpi 2.0 specification
     ⇗ https://www.uefi.org/sites/default/files...rces/ACPI_2.pdf
     
     Hyperthreading works with ACPI 1.0b version
     Hyperthreading starts with XP SP1.
#20 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #19
@Mov AX, 0xDEAD
Do you think it is possible, just do make a small hack to acpi.sys in XP SP3, so that it does not worry about "wrong" acpi 2.0 syntax from Bios?


probably yes, but this will be not simple hack
1) code example from my gigabyte bios:
 
Method (ARPC, 4, Serialized)
{
ADBG (Concatenate ("NRPN: ", ToHexString (Arg0)))
Switch (ToInteger (Arg0))
{
Case (0x04)
{
....


This method ARPC called from other method _INI, so WinXP will parse this part
ToHexString & ToInteger are new syntax, we need to skip it some way.
ToHexString(ARG0) mean ARG0(maybe integer/string) => convert to String=>Concatenate ("NRPN: "+"0xYYYYZZZZ")
ToInteger(ARG0) mean ARG0(maybe integer/string/buffer/etc) "0x000XXYY"=> convert to Integer=>Case(integer expected)
we cannot just skip these command because they are parts of expressions and do some things with converting data/change types
acpi.sys need new logic to skip these command and do equalent actions

2) deny winxp parsing any _INI methods, winxp will skip parsing most of code, but winxp run not only _INI method, theres is other methods and i do not know how, when and what is runned (_sta,_sun,_crs,_srs and many other), and if vendor added debug lines with new syntax (like gigabyte did) to some of these method we get 0xa5 error again.
EDIT: gigabyte used in _crs new syntax too (

 
Device (EPC)
{
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
[b]CreateQWordField[/b] (RBUF, \_SB.EPC._Y3B._MIN, EMIN) // _MIN: Minimum Base Address


Also skipping _INI may have some effects with devices.
This method may work for some motherboards without patching acpi tables if vendor not much modified acpi code

#21 diderius6 Hi all,
now I understand, how to fix Acpi DSDT table for to overcome 0xA BSOD in XP.
Extract body of Raw section under GUID: C118F50D-391D-45F4-B3D3-11BC931AA56D  in Bios,
recompile with iasl -d (newest version), mod, compile and flash back to the same raw body.
A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.

And also to fix the not working USB from Intel from chipset z170 up to z390 via Bios mod.

This means: In my next holidays in about a month I will give it a try,
how to make this for other Bios also,

have a nice day
Dietmar
#22 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #21
Hi all,
A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.


1)my example is not best method, change only parts with reserved method/keywords "_ini", "_crs", "_sta", "_srs", "_hid", "_cid", "_adr", "_uid", "_reg", "_psw", "_ejd", "_prw", "_pr0", "_pr1", "_pr2", "_psc", "_ps0", "_ps1", "_ps2", "_ps3", "_off", "_on_", "_tmp", "_ej0", "_ej1", "_ej2", "_ej3", "_ej4", "_dis", "_wak", "_lck", "_pts", "_si_", "_sst", "_ddn", "_prt", "_bbn", "_s0_", "_s1_", "_s2_", "_s3_", "_rmv", "_irc", "_rmv", "_sun", "_al0-_al9", "_psl", "_rmv",
2) ignore _DSM, windows xp doesnt use it
#23 Pill Monster ⇗ @deSSy2724:

Hi, just to clear up a couple of things....

Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
1. Is it posssible to install Windows XP SP3 32bit and WIndows 10 64bit on the same SSD with separate partitions or do I need two separate SSDs?
Both partitions can reside on same drive as long as it is MBR & motherboard supports legacy boot mode.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
2. Does XP 32bit support only MBR..... would it work if one partition of the same drive is partitioned as MBR (for XP) and the second partition of the same drive partitioned as GPT (for Win 10)? And is there any issues with SSD and MBR?
XP supports GPT also but for data only. Meaning your XP boot drive has to be MBR but you could have a couple of GPT drives as well for games, movies, porn...:P etc if you wanted.
No issues with SSD & MBR.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
3. Can we install Windows XP SP3 32bit from USB flash drive from modern motherboards and/or from Bluray drive/readers (I mean CD/DVD -/+ R burned discs on Bluray drives)?
Absolutely. I have installed XP many times on various machines from USB flash drives, even back in early 2000's. WinFlash was used to make the USB install image. (I prefer Rufus these days).
The caveat here is the flash drive usually must be plugged into a native AMD/Intel USB 2.0 port (meaning no 3rd party controllers such as ASmedia/JMicron etc unless you want to slipstream).
Early editions of XP discs didn't contain USB drivers for some vendors which contributed to the "XP doesn't support USB boot" stories...   
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
4. If 2.2 TB HDD is the limit for the 32 bit OS, can we split a 4/6/8 TB HDD/SDD to multiple 2TB partitions or is that still not possible/usable with 32bit OS-es?
2.2TB is more a limit of 512b sectors combined with 32bit hardware.  However, plug in an 4K Advanced Format drive that 32bit 2.2TB limitation will turn into a 32bit 16TB limitation. Check your I/O controller specs if in doubt.
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?
Source material which contains the words "officially" or "by default" can usually be ignored. That includes Wikipedia and fair bit of Microsoft's own doco.....
Case in point, below:

⇗ https://docs.microsoft.com/en-us/windows...ows-and-gpt-faq
^I had to chuckle....because not 3 hours ago I did exactly this for a client. I cloned an offline HP GPT drive containing bad sectors onto a new hard drive, then booted off the cloned drive. :D
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
5. Is it right that Intel Ivy Bridge CPUs and AMD Vishera aka AMD FX Series CPUs (CPU, Chipsets, Motherboard etc.) are the latest hardware which officially support Windows XP 32bit? If true... then whats the latest unofficial supported hardware (CPU series) for Windows XP SP3 32bit and are there any disadvantages compared to "official supported" CPUs/Chipsets?
Whatever the chipset maker supports, aka Intel, AMD, ASUS, Gigabyte, Asmedia, Renasonce, Realtek, and the like.   As mentioned earlier "officially" can usually be ignored..
Companies such as HP, Dell, Lenovo, Fujitsu etc are all OEM's which means they can provide drivers for the originally installed OS only. Going to HP for drivers is akin to obtaining drivers from Windows Update - the last place end users should be looking for drivers. :)
Zitat von ⇗ deSSy2724 im Beitrag ¶ #1
6. Now, regarding SATA drivers and "slipstreaming" it to WIndows XP SP3 32bit installation disc:
Do I need to look ONLY for specific chipset (independently of a specific motherboard manufacturer or motherboard model etc.) or in another words, do all the motherboards which share the same chipset actually support the same SATA drives or not and can we add/slipstream multiple SATA drivers on the same Windows XP 32bit installation disc?
The Northbridge devices are the same across all AMD boards, or all Intel boartds with same chipset, however the Southbridge can have different hardware which is vendoe specific, by vendor I mean ASUS/MSI/GA....
Eg, Gigabyte MB with 666 Special Quad SLI (made up platform) may have a Jmicron SATA controller while Asus version has Asmedia. Best to check specs..

Edit by Fernando: Fully quoted post replaced by directly addressing to the thread opener (to save space)
#24 zir_blazer
Zitat von ⇗ diderius6 im Beitrag ¶ #19
PS: Windows XP implements ACPI 1.0b
     Hyperthreading works with ACPI 1.0b version
     Hyperthreading starts with XP SP1.
If I recall correctly, Windows XP supports a hybrid halfway between ACPI 1.0b and 2.0 (Or was 1.0b with some 2.0 features?). Recall seeing some old PowerPoint presentation about ACPI covering that.


Zitat von ⇗ Pill Monster im Beitrag ¶ #23
XP supports GPT also but for data only. Meaning your XP boot drive has to be MBR but you could have a couple of GPT drives as well for games, movies, porn...:P etc if you wanted.
No issues with SSD & MBR.
Only Windows XP x64 supports GPT, for data only as you said. However, standard WXP 32 Bits is MBR only.
#25 diderius6 Hi all,
does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?
In this case, hyperthreading should work also.
And it would be a nice base for a step by step test, which device on Asrock motherboard is not compatible with the acpi.sys driver from XP
Dietmar

PS:⇗ @Mov AX, 0xDEAD You had the idea, to test a very early Bios on those Z170 boards.
Do you found one, where ACPI is possible for XP without any modd?

I just find, that with the checked version of acpi.sys from XP you can start a windbg session.
Hard job, but via this way you can repair step by step the Bios DSDT table.

After long search I found the whole Checked Version of XP SP3, containing also the wished acpi.sys checked version.
Now fun can start..
⇗ https://archive.org/download/somewinxpdownloads

The full symbols for windbg are also there.
#26 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #25
Hi all,
I just find, that with the checked version of acpi.sys from XP you can start a windbg session.
Hard job, but via this way you can repair step by step the Bios DSDT table.
After long search I found the whole Checked Version of XP SP3, containing also the wished acpi.sys checked version.
Now fun can start..


checked version helps for reversing, it still usual version and no support acpi2.0+ syntax
#27 diderius6 ⇗ @Mov AX, 0xDEAD

This is clear for me. I only want to have a tool, with which I can see, what is going on via ACPI in XP.
And this is, what I have been looking for. With Windbg you can now debug direct ACPI:
⇗ https://docs.microsoft.com/en-us/windows...ging-extensions

And, have you ever had an XP SP3 on a z170 board, where ACPI works without any mod?
This would be very helpfull to understand, which component of the board with BSOD 0xA is faulty in DSDT table,
Dietmar
#28 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #27

And, have you ever had an XP SP3 on a z170 board, where ACPI works without any mod?
This would be very helpfull to understand, which component of the board with BSOD 0xA is faulty in DSDT table,
Dietmar


I have gigabyte h110m hd2 board, first version bios (F1) doesnt use acpi2.0 commands in critical for winxp parts of dsdt table. next versions (f20 for kabylake support) start using new syntax, i never had about special winxp compatible bioses.
I see that moving blocks to expression "if os >=vista do {....}" solve problem 0xa5 with any bios
#29 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #27

This is clear for me. I only want to have a tool, with which I can see, what is going on via ACPI in XP.


there no magic, acpi.sys doesnt know nothing about new acpi commands and when it found it at time of parsing, it generate 0x000000A5 error with 4 subcodes (errcode, adress, global code error from ntstatus.h, method where parser found problem)
in my case was (0x03,adr,0xC0140001 ,_INI)
#30 XPLives
Zitat von ⇗ diderius6 im Beitrag ¶ #21
Hi all,
now I understand, how to fix Acpi DSDT table for to overcome 0xA BSOD in XP.
Extract body of Raw section under GUID: C118F50D-391D-45F4-B3D3-11BC931AA56D  in Bios,
recompile with iasl -d (newest version), mod, compile and flash back to the same raw body.
A lot of work as I see now, changes need to be done in about 600 places as to me Beyond Compare shows.



How about a simpler quicker fix for acpi.sys.  Can you modify the 2K, XP, and 2K3 acpi.sys files to just do a proper shutdown only?  Currently NO ACPI install method does not do an automatic shutdown.  It must be a manual power down to turn the system off.

The ACPI BIOS fix may take you some extra time as you said to analyze a working tutorial.  But a shutdown acpi.sys fix for NT5.X OS would be handy to have.   Restarting the computer is not an issue.  Standby should not work or be present.  I haven't tested hibernate but I assume this might not require ACPI since it seems to save an image to the hard disk of equal size to the visible memory installed and then you can power the system off and when the system is rebooted it will reload the entire image back so I think hibernate is not affected.  I am unsure about the Intel Speed Step as I lock down my CPU Core Ratio in the BIOS so I am unaware if NO ACPI affects this feature.

Zitat von ⇗ diderius6 im Beitrag ¶ #21

And also to fix the not working USB from Intel from chipset z170 up to z390 via Bios mod.

This means: In my next holidays in about a month I will give it a try, how to make this for other Bios also,


Can you explain the Intel USB fix?  Are you saying you can make the Intel USB 3.0 xHCI XP driver from scratch?

If so then take a longer holiday break to complete it.

 

Page 3

#31 XPLives >>Hi all,
does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?
I am not aware of any.<<

Maybe going back to Z87/Z97 Asrock motherboard you can compare with Z170 what changed in the BIOS that broke XP ACPI compatibility?
There also exists DDR3 Z170 Motherboards which SkyLake supports DD3L and PCI slots before full DDR4 support required for Kaby Lake, Coffee Lake, -> Cannon Lake+

Compare the Z87/Z97 Fatal1ty Professional with the Z170 Fatal1ty Gaming i7 (Fernando and I have this same MB).  This is the first motherboard which I did all original XP testing for SkyLake and was successful but using the no ACPI method.  This is also where the USB 2.0 eHCI was officially removed and causing the start of the USB 2.0 compatibility issues so I had to come up with workarounds which I later put into the guide.
⇗ [Guide] How to install Windows XP OS on Modern Hardware - Z170 Z270 SkyLake Kaby Lake

I will be testing my older Z87 MB that I bought used to do some testing with XP and USB 2.0 eHCI ports.  I am repairing / troubleshooting a Z68 MB at the moment.
#32 diderius6 Hi ⇗ @Mov AX, 0xDEAD
"I have gigabyte h110m hd2 board, first version bios (F1) doesnt use acpi2.0 commands in critical for winxp parts of dsdt table."
This I understand and also your nice idea to keep acpi2.0 commands away from acpi.sys of XP and give full Acpi support to higher OS.

But I do not know, how to do the same for an other Bios, for example to my Asrock fatal1ty z370 gaming k6 Bios.
How do you know, where and how to make this about 600 changes in DSDT table?
Did you copy the DSDT table from Bios F1 to Bios F20? This would be interesting, if BSOD for Acpi is gone then.

So I come to another idea. The Bios gigabyte h110m hd2 board, first version bios (F1) gives no BSOD 0xA5.
May be, there are only one or two devices on this motherboard, which gives this BSOD with next Bios f20.
And this can be tested, just to switch them off in Bios, if possible.
And the reason for this BSOD can be found via windbg and checked version of acpi.sys.

Your BSOD happens because of method _INI.
Have you tested, if this is the only method, which causes Acpi BSOD?
I know from acpi "compatible" Bios for XP, that in log file of acpi there have been other errors reported too,
but they do nothing bad to XP,
Dietmar
#33 Fernando
Zitat von ⇗ diderius6 im Beitrag ¶ #25
does anybody have a motherboard from Asrock with z170 (or z270, z370) chipset, where XP SP3 can be installed with ACPI support at once?
As you can see in my signature, my main PC has an ASRock Z170 chipset mainboard. Several months ago I tried to get Windows XP installed onto it by booting off the XP SP3 CD and finally succeeded without having customized the XP image regarding ACPI. All I did was hitting F5 and/or F7 during the textmode part of the XP installation and altering the ACPI settings there.
Due to the fact, that I could not use my USB connected input devices, I stopped my tests.
#34 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #32
Hi @Mov AX, 0xDEAD
May be, there are only one or two devices on this motherboard, which gives this BSOD with next Bios f20.
And this can be tested, just to switch them off in Bios, if possible.
...
Your BSOD happens because of method _INI.
Have you tested, if this is the only method, which causes Acpi BSOD?


- acpi code in dsdt table is independ of enabled/disabled device, it is static and maded at time of creation bios
- i have no tested other methods because i isolate ALL new code (exception _dsm), my "own" overkill way and i do not recommend it
#35 diderius6 Hi all,
I just find this:
⇗ https://docs.microsoft.com/en-us/windows...cpi/winacpi-osi
This is really nice: Acpi can decide for itself, which version of Acpi it want to use in
building DSDT table in Bios, just chose XP ("Windows 2001"). This is the way, Bios manufacturer use it.
Waaoh, this looks like a Bios hack and may be a fake copy can be handed over direct to
HKLM\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004\00000000
hex copy in registry from Bios in XP, without any Bios mod
Dietmar
#36 diderius6 Here comes the complete list of opcodes, used bei ACPI 2.0 in DSDT table:
ACPI Type 2 Opcodes

ASL Statement Description
Acquire Acquire a mutex
Add Add two values
And Bitwise And
Buff Convert data type to buffer
Concatenate Concatenate two strings, integers or buffers
ConcatenateResTemplate Concatenate two resource templates
CondRefOf Conditional reference to an object
Decrement Decrement a value
DecStr Convert data type to decimal string
DerefOf Dereference an object reference
Divide Divide
FindSetLeftBit Index of first least significant bit set
FindSetRightBit Index of first mo st significant bit set
FromBCD Convert from BCD to numeric
HexStr Convert data type to hexadecimal string
Increment Increment a value
Index Reference the nth element/byte/character of a package, buffer or string
Int Convert data type to integer
LAnd Logical And
LEqual Logical Equal
LGreater Logical Greater
LGreaterEqual Logical Not less
LLess Logical Less
LLessEqual Logical Not greater
LNot Logical Not
LNotEqual Logical Not equal
LoadTable Load Table from RSDT/XSDT
LOr Logical Or
Match Search for match in package array
Mid Returns a portion of buffer or string
Mod Modulo
Multiply Multiply
NAnd Bitwise Nand
NOr Bitwise Nor
Not Bitwise Not
ObjectType Type of object
Or Bitwise Or
RefOf Reference to an object
ShiftLeft Shift value left
ShiftRight Shift value right
SizeOf Get the size of a buffer, string, or package
Store Store value
String Copy ASCII string from buffer
Subtract Subtract values
ToBCD Convert numeric to BCD
Wait Wait
Xor Bitwise Xor

Some of them are not in ACPI 1, for example ConcatenateResTemplate, but seems to work also with XP.
You can overcome  in BIOS with the nice idea from ⇗ @Mov AX, 0xDEAD

Dietmar

EDIT by Fernando: The list has been put into a "spoiler" (to save space)
#37 diderius6 Here the same for ACPI 1 (all known by XP in BIOS DSDT table):
ASL Statement 	Description
Acquire Acquire a synchronization object
Add Add two values
ASL Statement Description
And Bitwise And
Concatenate Concatenate two strings
CondRefOf Conditional reference to an object
Decrement Decrement a value.
Divide Divide
FindSetLeftBit Index of first set Lsb
FindSetRightBit Index of first set Msb
FromBCD Convert from BCD to numeric
Increment Increment a value
Index Reference the nth element of a package
LAnd Logical And
LEqual Logical Equal
LGreater Logical Greater
LGreaterEqual Logical Not less
LLess Logical Less
LLessEqual Logical Not greater
LNot Logical Not
LNotEqual Logical Not equal
Load Load differentiating definition block
LOr Logical Or
Match Search for match in package array
Multiply Multiply
NAnd Bitwise Nand
NOr Bitwise Nor
Not Bitwise Not
ObjectType Type of object
Or Bitwise Or
RefOf Reference to an object
SizeOf Get the size of a buffer, string, or package
ShiftLeft Shift value left
ShiftRight Shift value right
Store Store value
Subtract Subtract values
ToBCD Convert numeric to BCD
Wait Wait
XOr Bitwise Xor

EDIT by Fernando: The list has been put into a "spoiler" (to save space)
#38 diderius6 And some opcodes are renamed from

ACPI "old 2"  > ACPI 2
 

Buff > ToBuffer
DecStr > ToDecimalString
HexStr > ToHexString
Int > ToInteger
String > ToString


The right side above opcodes  (from Acpi 2) are all known by XP in DSDT table,
so no need to fix them in DSDT table

Dietmar

Copy > CopyObject (may be not known by XP)

#39 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #38
Buff > ToBuffer
DecStr > ToDecimalString
HexStr > ToHexString
Int > ToInteger
String > ToString

Copy > CopyObject (may be not known by XP)



there no renames, ToBuffer and other are new acpi 2.0 opcodes, check ⇗ amlcode.h, winxp accept only 1.0b opcodes
#40 diderius6 Hi,
yes, this are new and first arrive in ACPI 2.
BUT in the Bios F1 of your motherboard from Gigabyte they are all present (for example HexString)
and give no BSOD x0A5 there as you told us,
Dietmar
#41 diderius6 The only opcode,
which has to be disabled in Bios DSDT table for XP seems to be

CopyObject

Dietmar
#42 diderius6 Hi,
in DSDT table from Bios 410 for Asus z170-k I found

If (_OSI ("Windows 2001 SP2"))
{
Store (0x07D2, OSYS)
}


I think, this Bios looks, if XP SP2 is to be installed and loads then only ACPI code,
compatible for XP SP2 (XP SP3 also I think),
have a nice evening
Dietmar

EDIT: By passing the string "Windows 2001" into the _OSI method, the BIOS indicates to the operating system that the BIOS is aware of and compatible with the ACPI implementation and feature set of Windows XP. Windows XP will then reject all I/O reads or writes from BIOS ASL code to addresses on the blocked ports list and generate an error in the system event log.

Ok, this makes sense for the methode from @Mov AX, 0xDEAD.
When XP cant stop I/O reads or writes from crazy BIOS even it told to XP Store (0x07D2, OSYS),
then you have to block all this AHCI 2.0 question from Bios in Bios itself.

The underlying reason may be, that newer Bios can not identify, that the OS is XP.
#43 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #40
Hi,
yes, this are new and first arrive in ACPI 2.
BUT in the Bios F1 of your motherboard from Gigabyte they are all present (for example HexString)
and give no BSOD x0A5 there as you told us,


because these commands belong to some custom methods/submethods (winxp do not call their)
after version F1 these method started using in _INI too as subcall (see _INI of devices NVM1,NVM2,NVM3, at end they call subproc ARPC(), arpc() use new ToHexString and ToInteger)
ACPI virtual machine in windows is interpretator, it not check all code, only needed parts, we can hide nuclear bomb inside acpi code and windows will never find it ))
#44 diderius6 Hi all,
today I get the mainbord gigabyte GA-H110M-S2H
very similar to                gigabyte GA-H110M-HD2

My mainboard has no PCI slot, no intern parallel port header
and 2 USB 2.0 internal more.
All other is the same.
I fetch the whole content from the 25B64CSIG Bios chip on this board with
EEprom flasher CH341A.
The Bios chip is soldered and it takes 3 tries to connect it direct ON the board.
In CH341A - USB Programmer 1.30 the Bios chip gets name GD25Q64.
The yellow LED on CH341A  blinks only, when you read from the chip, NOT when it is only connected.
I read it 3 times and verify, all ok.
Now I make a try to flash the Bios back to version F1, which is only possible through hardware flash.
I hope, that the UEFI tool is right, that all Bios information starts from 200000h
because I do not want to lose my MAC adress etc.
No I am looking about the ME region
⇗ Intel Management Engine: Drivers, Firmware & System Tools
Dietmar

Edit: The Bios on this board is latest version F25.
       When I try to reflash to F1, compi told: "Bios is outdatet, update to newest version" so the Website from Gigabyte tells truth, brrr.
       Flash back to Vers. F1 only possible with CH341A.
#45 diderius6 ⇗ @Mov AX, 0xDEAD

Hi, the Bios from the Gigabyte board seems to be encoded.
How is it possible, to write the DSDT table back to such a Bios?
Have a nice evening
Dietmar

PS: The Uefitool can extract and decode the DSDT table, but nothing insert or delete there.
     Only UEFITool_0.25.1_win32 can write DSDT Table back in raw mode.
     Now I have Bios original from my mainboard ver. F25 with the DSDT table from Biosversion F1 inserted.
     Now cross finger, if Compi will boot again. In other case I have to flash the whole original Bios back.

 

Page 4

#46 diderius6 Hm,
I succeed to flash the Bios Chip F25 with DSDT table from F1 Version Bios.
Compi starts, but shows BSOD 0xA5 like before with F25 Bios?!
So, this is strange for me
Dietmar

EDIT: I reread again with the EEprom writer the Bios chip.
Uefitool shows, that indeed now DSDT table from Bios ver. F1 was build in.
Then I flashed the Biosship with whole F1 Bios from Gigabyte webside.
Now motherboard does start, but no post, nothing on screen.

Ok, I am going to flash original Bios file back and tomorrow I
try the DSDT2 file from @Mov AX, 0xDEAD.
#47 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #45
@Mov AX, 0xDEAD
Now I have Bios original from my mainboard ver. F25 with the DSDT table from Biosversion F1 inserted.
Zitat von ⇗ diderius6 im Beitrag ¶ #45
I am going to flash original Bios file back and tomorrow I try the DSDT2 file
Hi,
Do not do that, acpi tables hardcoded to RAM/IO/DEVICE ranges depend on bios revision
F1 is old release for skylake
F25 is latest release wiith new GUI and suport for kabylake

you need decompile/change/compile/flash f25 version of tables
main problem is decompiling with external links with various number of arguments, i made custom file for my f24 bios:
External (AL6F, MethodObj, 0) 
External (HLVT, MethodObj, 0)
External (P0L6, MethodObj, 0)
External (P1L6, MethodObj, 0)
External (P2L6, MethodObj, 0)
External (PS0X, MethodObj, 0)
External (PS2X, MethodObj, 0)
External (PS3X, MethodObj, 0)
External (_SB_.PCI0.GFX0.GSCI, MethodObj, 0)
External (_SB_.PCI0.GFX0.IUEH, MethodObj, 1)
External (_SB_.PCI0.PAUD.PUAM, MethodObj, 0)
External (_SB_.PCI0.PEG0.HPME, MethodObj, 0)
External (_SB_.PCI0.PEG1.HPME, MethodObj, 0)
External (_SB_.PCI0.PEG2.HPME, MethodObj, 0)
External (_SB_.PCI0.XHC_.DUAM, MethodObj, 0)
External (_SB_.PCI0.XHC_.RHUB.INIR, MethodObj, 0)


why 1 on IUEH ? because i've checked all methods from all acpi files to find count of arguments of external things (iasl will report as "Warning: Unknown method, guessing 0 arguments" ) and found  Method (IUEH, 1, Serialized) in SDDT-SaSsdt table

EDIT by Fernando: The code has been put into a "spoiler" (to save space)

#48 diderius6 ⇗ @Mov AX, 0xDEAD,
thank you very much for help.
Yes, I see this warning message from compiler iasl after compiling DSDL table from my F25 Bios.
I just flash my original F25 back to the board and is awake to life again:).
Interesting thing: When I compare whole Bios content before flashing and after compi started, I noticed, that the compi changes data in Bios chip, about 133000 Byte. This I never noticed before.
So this just means, the Bios is open field for compi, brrr..
Dietmar
#49 diderius6 First I do binary compare of my DSDT.raw table
with the DSDT.raw table from F25 from Gigabyte website.
They are 100% identic.
Now fun starts,
I mod my DSDT.dsl table with copy and past left to right side via Beyond compare
and DSDT2.dsl from ⇗ @Mov AX, 0xDEAD
Dietmar
#50 diderius6 9 compiler errors.. will be a hard search^^

Now I get error message 6088  "Object is not accessible from this scope ^  (WANX)"
#51 Mov AX, 0xDEAD Hi all,

Found interesting bug in one device in dsdti table for kabylake+ gigabyte's bioses (in skylake bioses this device not presented), device is IOTR (I/O Trap), it report to windows about claimed I/O adresses, method _CRS() load settings from special memory and report 0xFE adresses (254) starting from 0xFF00.
WinXP x32 show claimed region correctly belong to "mothebvoard resource", but show conflict with pci host bridge (and VGA card too)
Win7 also show claimed region but no conflicts.

I've patched this device to return empty list of resources Local0 = ResourceTemplate ()  { } return(Local0) and problem is gone
#52 diderius6 Yessa,
after 14 hours work I succeed to compile back my DSDT table with about 600 new entries.
What a crazy work,
Dietmar
#53 diderius6 Even I do to 100% 1 by 1 the steps from DSDT2, after flashing the new Bios I get still 0xA5 BSOD.
Nice idea, but does not work for me until now
Dietmar
#54 diderius6 Waaoh new day nice day,
in next try I succeed to install XP SP3 with full ACPI support on my gigabyte ga-h110m-s2h Bios vers. F25 !!!
I forget, that with else you have always to return the value ZERO,
when the condition  If ((OSYS >= 0x07D6))
is not met, when a value is overgiven,
thanks a lot ⇗ @Mov AX, 0xDEAD
Dietmar

PS: This was the first time, that I saw the entry ACPI Multiprocessor PC
in device manager with new processor skylake, kabylake, coffee lake.
Shut down works also because of Acpi.
#55 diderius6 Hi all,
now I try the same for the latest Bios Z37GK63.20 for asrock fatal1ty z370 gaming k6 mainboard.
May be, some steps can be automated in correcting DSDT  *.dsl file, until now I do all by hand
Dietmar

Look for the key-words in *.dsl file from DSDT table and put then always the question before each
If ((OSYS >= 0x07D6))  
{

}

and if a value is asked also always answer with

Else
{
Return (Zero)
}

On the Gigabyte DSDT table you have to do this 66 times.

Key words are:

  • ConcatenateResTemplate
  • CreateQWordField
  • ToBuffer
  • ToDecimalString
  • ToHexString
  • ToInteger (no need to be modded in XP in Method (_DSM  )
  • ToString
  • CopyObject

and dont forget for example to copy all from DSDT2
External (P0L6, MethodObj)    // 0 Arguments    // From external reference file

EDIT by Fernando: Text slighly re-formatted (to save space and for better readability)
#56 Mov AX, 0xDEAD ⇗ @diderius6:

i think this is not correct if method must return Buffer, Zero is 0 (Integer)
correct is:
Return (Buffer (One)
{
0x00
})

or maybe

Return (ResourceTemplate ()
{
} )


p.s  maybe acpi.sys tract zero as null buffer, who knows...
#57 diderius6 Hi ⇗ @Mov AX, 0xDEAD,
do you noticed any strange behavior of XP, when you overcome a lot of instructions from DSDT with If ((OSYS >= 0x07D6))?
And have you tested your nice method on another compi with XP?
For me it is also interesting to know, if one can switch between acpi pc and standard pc, for to compare benchmarks without new installing whole xp.
I think, when you have an Acpi pc, switching is always possible when you change hal.dll and ntoskrnl.exe (is this enough?)
Dietmar
#58 deSSy2724 Congratulation Dietmar...... can you confirm if Hyper Threading is working and does the OS and other programs like CPU-Z detect the correct number of threads for your i5 8700K( 6 cores /12 threads) and does Intel Speedstep work (auto clock/downclock).

I think, both of those feautures should be tied to ACPI.....
#59 diderius6 Hi,
for the 1151 platform I have only a Celeron 3900,
this has no Hyperthreading. But I think it works.

This Bios mod makes a problem I think with the timer.
Via changing computer Acpimultiprocessor->Standard PC this is gone, so it really belongs to the modded DSDT table.
In the original source code from DSDT table stands at a lot of places
Local0 = Buffer (0x02)
{
0x79, 0x00
}

⇗ @Mov AX, 0xDEAD changed this always against
Local0 = ResourceTemplate ()
{
}

Because I do not understand the ASL Syntax I have no idea, what this is doing.


And he deleted at a lot of places        ADBG (Concatenate...  
lines
for example

                   ADBG (Concatenate ("CNRSs ", ToDecimalString (Timer)))

May be this is the reason for the Timer problem,

Dietmar
#60 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #59

This Bios mod makes a problem I think with the timer.
Via changing computer Acpimultiprocessor->Standard PC this is gone, so it really belongs to the modded DSDT table.

And he deleted at a lot of places ADBG (Concatenate... lines
for example
                   ADBG (Concatenate ("CNRSs ", ToDecimalString (Timer)))


- what is problem with timer ?
- adbg is text debug message to COM port/RAM/etc and nothing more

we cannot keep this line as is, because ToDecimalString is new command

 

Page 5

#61 Mov AX, 0xDEAD
Zitat von ⇗ deSSy2724 im Beitrag ¶ #58
Congratulation Dietmar...... can you confirm if Hyper Threading is working and does the OS and other programs like CPU-Z detect the correct number of threads for your i5 8700K( 6 cores /12 threads) and does Intel Speedstep work (auto clock/downclock).
I think, both of those feautures should be tied to ACPI.....

- intel speedstep work, official method to enable - power saving mode must be ON
- i dont have HT cpu so cannot report

I found some of power management problem, in ThrotleStop i see cpu is 50-60% of time in C0 power state, task manager cpu utilization is 0%. ThrotleStop also report about 0% time in any power saving states C1,C2,.. state.
In win7 power states are normal, 2-6% in C0 and 95% in C7
#62 diderius6 Hi ⇗ @Mov AX, 0xDEAD,

I deleted in DSDT2 from you the device LPTE, because my mainboard does not have.
After this crazy 14 hour fight with the compiler I can check, that all other is to 100% identic with your DSDT2 file.

When I open the game "Moorhuhn", the wings of the Mill rotate more than 10 times faster than before
and no "Moorhuhn" can be seen.

The browser firefox vers. 52 is much slower than before.
Version 13.0 of firefox works normal.

I am happy for help,
because I want to mod Bios for other compis too,

Dietmar

PS: Sound, network, everything works with this ACPI DSDT table.
#63 diderius6 Hi all,
I found out, that with the modded DSDT table in Bios (Acpi) all programs work normal for about 1 second, but then changes behavior.
I disabled energy management in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\intelppm setting start to 4 (disabled), but this does not change anything,
Dietmar

PS: I think, during the mod of the DSDT table we disable something, that is necessary for ACPI to work.
#64 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #63
I found out, that with the modded DSDT table in Bios (Acpi) all programs work normal for about 1 second, but then changes behavior

confirm same problem, windows return wrong timer to applications

i think this can be fixed, just need find proper way
#65 diderius6 The use of
/usepmtimer
in boot.ini
does not help
Dietmar

PS: Also not helps
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\HAL]
"14140000FFFFFFFF"=dword:00000010


EDIT2: I delete in DSDT table from Bios the whole device HPET and flash Bios new.
          But the time is as wrong as before (negativ values, brr..), nothing changed. XP SP2 does not make use of HPET in Acpi,
          but XP SP3 does.
#66 Mov AX, 0xDEAD perftimer reset about every 3.5s, i have сhecked FACP table, resolution of pm timer (TMR_VAL_EXT) is 24 bit, i think:
- winxp use PM Timer (because this utility show 3.5Mhz)
- overflow 24bit is 4 secs, overflow 32bits is 20 mins
- winxp read it as 32 bit and doesnt care about high 8 bit (they are zero, this leads to negative result of operation currentime()-previoustime())

in FACP exist interesting bit USE_PLATFORM_CLOCK=1 (OSPM use HPET (if exist) or ACPI PM Timer)
#67 diderius6
4.7.3.3 Power Management Timer (PM_TMR)
Register Location:<PM_TMR_BLK> System I/O Space
Default Value: 00h
Attribute: Read-Only
Size: 32-bits
This read-only register returns the current value of the power management timer (PM timer).
The FACP table has a flag called TMR_VAL_EXT that an OEM sets to indicate a 32-bit PM
timer or reset to indicate a 24-bit PM timer. When the last bit of the timer toggles the
TMR_STS bit is set. This register is accessed as 32-bits.
This register contains optional features enabled or disabled within the FACP table. If the
FACP table indicates that the feature is not supported as a fixed feature, then software treats
these bits as ignored.

TMR_VAL_EXT

A zero indicates TMR_VAL is implemented as a 24-bit
value. A one indicates TMR_VAL is implemented as a 32-
bit value. The TMR_STS bit is set when the most
significant bit of the TMR_VAL toggles.
#68 diderius6 Indeed is this flag TMR_VAL_EXT in Bios from my Gigabyte H110m board set to 0 and interpreted as 32 bit gives crazy results for the clock.

Signature "FACP"
Length 0x00000114 (276)
Revision 0x06 (6)
Checksum 0xA4 (164)
OEM ID "ALASKA"
OEM Table ID "A M I"
OEM Revision 0x01072009 (17244169)
Creator ID "AMI "
Creator Revision 0x00010013 (65555)
Firmware Control 0xBA7A5C40 - FACS
DSDT Address 0xBA3FA1E8 - DSDT
Interrupt Mode 0x01 (1) - Multiple APIC
PM Profile 0x01 (1)
SCI Interrupt 0x0009 (9)
SMI Port 0x000000B2 (178)
ACPI Enable 0xA0 (160)
ACPI Disable 0xA1 (161)
S4 Request 0x00 (0) - Not supported
PSTATE_CNT 0x00 (0)
PM1a_EVT_BLK 0x00001800 (6144)
PM1b_EVT_BLK 0x00000000 (0) - Not supported
PM1a_CNT_BLK 0x00001804 (6148)
PM1b_CNT_BLK 0x00000000 (0) - Not supported
PM2_CNT_BLK 0x00001850 (6224)
PM_TMR_BLK 0x00001808 (6152)
GPE0_BLK 0x00001880 (6272)
GPE1_BLK 0x00000000 (0) - Not supported
PM1_EVT_LEN 0x04 (4)
PM1_CNT_LEN 0x02 (2)
PM2_CNT_LEN 0x01 (1)
PM_TMR_LEN 0x04 (4)
GPE0_BLK_LEN 0x20 (32)
GPE1_BLK_LEN 0x00 (0)
GPE1_BASE 0x10 (16)
CST_CNT 0x00 (0)
P_LVL2_LAT 0x0065 (101) - C2 state not supported
P_LVL3_LAT 0x0039 (57)
FLUSH_SIZE 0x0400 (1024)
FLUSH_STRIDE 0x0010 (16)
DUTY_OFFSET 0x00 (0)
DUTY_WIDTH 0x00 (0) - Duty cycle not supported
DAY_ALRM 0x0D (13)
MON_ALRM 0x00 (0) - Month alarm not supported
CENTURY 0x32 (50)
IAPC_Boot_Arch 0x12 0x00
Reserved 0x00 (0)
Flags 0x0003C4A5
WBINVD 1 - WBINVD instruction fully supported
WBINVD_Flush 0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1)
PROC_C1 1 - C1 power state: all processors
P_LVL2_UP 0 - C2 power state: UP system only
PWR_BUTTON 0 - Power button supported as fixed feature
SLP_BUTTON 1 - Sleep button not support or handled by ASL code
FIX_RTC 0 - Fixed register support RTC wake
RTC_S4 1 - RTC wakeup support: S1, S2, S3, S4
TMR_VAL_EXT 0 - 24bit PM Timer
DCK_CAP 0 - Docking not supported
RESET_REG_SUP 1 - Reset Register supported
SEALED_CASE 0 - System is not sealed
HEADLESS 0 - Not headless mode
CPU_SW_SLP 0 - Normal method to write SLP_TYPx
PCI_EXP_WAK 1 - PM1 block support PCIE wakeup status/enable bits
USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer
S4_RTC_STS_VALID 1 - RTC_STS flag is valid when resume from S4
REMOTE_POWER_ON_CAPABLE 1 - System compatible with remote power on
FORCE_APIC_CLUSTER_MODEL 0 - Cluster destination model not required
FORCE_APIC_PHYSICAL_DESTINATION_MODE 0 - Physical destination mode not required
RESET_REG IO: 0xCF9, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Undefined
RESET_VALUE 0x06 (6)
Reserved 0x00 0x00 0x01
X_FIRMWARE_CTRL 0x0000000000000000
X_DSDT 0x00000000BA3FA1E8
X_PM1a_EVT_BLK IO: 0x1800, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Word
X_PM1b_EVT_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
X_PM1a_CNT_BLK IO: 0x1804, BitWidth: 0x10 (16), BitOffset: 0x00 (0), AccessSize: Word
X_PM1b_CNT_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
X_PM2_CNT_BLK IO: 0x1850, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Byte
X_PM_TMR_BLK IO: 0x1808, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Dword
X_GPE0_BLK IO: 0x1880, BitWidth: 0x80 (128), BitOffset: 0x00 (0), AccessSize: Byte
X_GPE1_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Byte
SLEEP_CONTROL Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined
SLEEP_STATUS Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined
#69 Mov AX, 0xDEAD forced do not use pm_timer, now moorhuhn works ):

WinXP SP(?) auto uses pm_timer instead RDTSC if found FACP table version 2 or higher (skylake has 6 version) USE_PLATFORM_CLOCK=1 in FACP Flags, switch /usepmtimer need to force using acpi timer if USE_PLATFORM_CLOCK=0
#70 diderius6 @ Mov AX, 0xDEAD,
oh, this is really nice.

How do you reach this?

Have a nice day
Dietmar
#71 Mov AX, 0xDEAD ...24bit timer is OK on previous chipsets, windows xp has logic to handle it, something wrong on new platform, maybe windows no receive event about handle carry...
#72 diderius6 Hi,
may be something is blocked now in DSDT table,
what ACPI from XP needs for the timer.
Some instructions from Acpi 2.0  XPSP3 understands also,
Dietmar
#73 diderius6 Hi,
the problem may be in
USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer
This bit is set to 1 on the gigabyte board Bios.
In this case, XP is asked for the time of the HPET timer.
But no version of XP has a working HPET timer, crazy XP shows HPET in device manager, but does not have,
only Vista and higher, even the board has a HPET timer.
So, may be to set this value back to 0 can solve the problem.
I do not know, where the flags from FACP are stored in Bios,
but give it a try to change this single bit from 1 to 0,
Dietmar

USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer

USE_PLATFORM_CLOCK 1 - OSPM use HPET or ACPI PM Timer
#74 diderius6 Yessaa, I got it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

after crazy search in Bios from Giga board I succeed to change ONE bit
in FACP from

USE_PLATFORM_CLOCK 1 - OSPM use HPET or ACPI PM Timer
to
USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer
as you can see with rw-everything.

Now ALL works in ACPI, fun can start for other Bios too

Dietmar



diderius6 has attached images to this post  ⇗ yessaaaa.jpg
#75 diderius6 How I make this:
With Uefi tool search in Bios file GUID
16D0A23E-C09C-407D-A14A-AD058FDD0CA1
PE32 image section

extract body

search for the flags from rw-everything Acpi FACP in reverse order
Flags 0x0003C4A5
->search A5C40300 with Hexeditor

change
A5C40300 against
A5440300 with hexeditor
save and rebuild

PE32 image section with Uefitool replace body

and flash Bios.

I found this Byte change, during disassemble FACP.aml

change 1 to 0 in FACP.dsl via

  Use Platform Timer (V4) : 1
->Use Platform Timer (V4) : 0

compile with Iasl to FACPmod.aml
and compare with     FACP.aml

Only look with Hexeditor Winhex, what happens to A5C40300, it changes to A5440300.

 

Page 6

#76 Mov AX, 0xDEAD i was right, HAL doesnt receive call from acpi.sys about carry handle
acpi.sys register ISR/DPC handler for hardware interrupt, check that interrupt was caused carry situation and call hal.dll to increase high 8 bit counter every 4 sec. this works well on virtual winxp (under qemu), but not on real hardware.
i want to dig deeper and currently build uart<->rs232 converter to normal kernel windbg debugging instead slow and ugly "intel system debugger"
#77 diderius6 ⇗ @Mov AX, 0xDEAD
do you think, that in the DSDT table the question
If ((OSYS >= 0x07D6))
blocks any important information for XP?
I understand, that for example XP does not understand for example CreateQWordField, but in ACPI 1.b this can be simulated with CreateDWordField.
And in machine language it becomes equal
Dietmar
#78 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #77
@Mov AX, 0xDEAD
do you think, that in the DSDT table the question
If ((OSYS >= 0x07D6))
blocks any important information for XP?


I can run winxp with original DSDT table, it still has bug with timer and Plug-n-Play/Resourse Management subsystem works different.
WinXP for main acpi device *PNP0C08* assign only one irq #15
Win7 assign large list #81-#190 (110 irqs !) to same device
#79 diderius6 In the Bios mod for the Asus z370 Apex X for XP
I found FACP with hex values for flags
A5 02 03 00. Also A5 02 03 00 for all other Bios vers. for this board.
This means, there the platformtimer is always reset zu 0
Dietmar

EDIT: On the Bios F1 for the giga m110 board where XP works as you told me,
the platformtimer is 1,
as you can see via
A5 86 03 00. The same in Bios ver. F25.
When the second, here 86 is >= 80,
the platformtimer is set to 1
and if <80 platformtimer is set to 0.

When I flash the Bios F1 to my giga board, compi does not boot at all,
may be because of newer rev number of the board.

EDIT: In all Bios version for Asus H110M Plus the same flags from FACP are used as for the giga board:
A5 86 03 00, means platformtimer is set to 1 there too.

EDIT2: In all Bios version for Asus Z170-K the same flags from FACP are used as for the giga board:
A5 86 03 00, means platformtimer is set to 1 there also.

EDIT3: In Bios ver. 1.0 from asrock fatal1ty z370 gaming k6
FACP flags are A5 C4 03 00, means platformtimer is set to 1.
In newest Bios vers. 3.2 for this board
FACP flags are A5 40 03 00, means platformtimer is reset to 0.

EDIT4: Interesting, if there is a working XP SP3 with Acpi in whole world:)),
          where the PM_timer works, where in FACP the flag platformtimer is set to 1.
#80 diderius6 Hi,
does anybody here know,
where the DSDT table in Bios for
Asus Z97-K stays?
I cant found,
it seems not to be a *.raw file
Dietmar

EDIT: I found myself:
Go to AmiBoardInfo in Bios file with Uefitool, then Compressed section, then PE32 image section,
extract body.
Then with Winhex editor look for DSDT (ALASKA) entry.
This is beginning of Hexblock.
The end of Hexblock is at FFFF (end after PINI).
This block you copy to DSDT.dat and disassamble it with
iasl -d DSDT.dat to DSDT.dsl .
#81 diderius6 From the critical Acpi2.0 test words I found in DSDT for Asus Z97-K

ConcatenateResTemplate (NOT in z97)
CreateQWordField (NOT in z97 for 32 bit XP)
ToBuffer (NOT in z97)
ToDecimalString (NOT in z97)
ToHexString (in Method (_WAK) 2 times there in ADBG)
ToInteger (only in Method(_DSM), Method(_SDD), Method(STRT) (Timer TPMR??), Method(CRYF) )
ToString (NOT in z97)
CopyObject (NOT in z97)
#82 diderius6 On the giga board I enabled
ToInteger in Method(STRT) for XP, because this works also on the Asus z97-k board.
Interesting, no BSOD 0xA5 happens!
And I set in FACP again the platformtimer to 1.
But the PM_timer does not work at all,
Dietmar

PS: May be, XP does not give BSOD 0xA5 with the critical word from ACPI2.0 ToInteger.
#83 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #82
On the giga board I enabled
ToInteger in Method(STRT) for XP, because this works also on the Asus z97-k board.
Interesting, no BSOD 0xA5 happens!


because winxp doesnt parse this method (this method not used in _ini, _crs and other parsed methods)
#84 diderius6 ⇗ @Mov AX, 0xDEAD,
can you please write a list, which method winxp parse?

I search a lot, but I can not find any information about that,
Dietmar
#85 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #84
@Mov AX, 0xDEAD,
can you please write a list,which method winxp parse?
i know only about keywords, some are methods, other are names of devices/reserved names/etc
¶ Windows XP SP3 32bit and modern PC parts (2)
#86 diderius6 Ok, when I delete in DSDT from the giga board

Method (RDCA, 5, Serialized)
If ((OSYS >= 0x07D6)) before
Switch (ToInteger (Arg4))

XP starts normal.

But when I delete all
If ((OSYS >= 0x07D6)) before
any ToInteger
( in Method (_CRS, 0, Serialized)  
            If ((OSYS >= 0x07D6))  stays before
             Switch (ToInteger (SDS7))

I got BSOD.

This I do not understand, because nothing from all on the list
for keywords

Dietmar
#87 diderius6 The BSOD came from
Method (ARPC, 4, Serialized)

ARPC is not listed in the keywords,
Dietmar
#88 diderius6 On the giga board from Acpi 2.0 can be ignored for XP SP3
      
      Method (STRD, 3, Serialized)
      Method (THDH, 1, Serialized)
      Method (THDD, 1, Serialized)
      Method (ADDB, 3, Serialized)
      Method (TP7D, 6, Serialized)
      Method (_DDN, 0, NotSerialized)  (???)
      Method (RDCA, 5, Serialized)
      Method (VMMH, 2, Serialized)
      Method (TBTD, 1, Serialized)
      Method (TBTF, 1, Serialized)
      Method (GUAM, 1, Serialized)
      Method (NTFY, 1, Serialized)
      Method (WIST, 0, Serialized)
      Method (WGST, 0, Serialized)
      Method (IICB, 2, Serialized)
      Method (STRT, 3, Serialized)
      Method (GRID, 1, Serialized)
      Method (CDEP, 1, Serialized)
      Method (CDEG, 1, Serialized)
      Method (CRYF, 3, Serialized)
      Method (TPTS, 1, Serialized)

These are all methods, where no need for
     
 If ((OSYS >= 0x07D6))


Dietmar

EDIT: Only 23 times

        If ((OSYS >= 0x07D6))
        
        has to be extra inserted in DSDT table for the giga board for to start XP SP3.

           

EDIT2: Strange is for me, that _CRS and _DDN can also be ignored sometimes.
           May be it is, because a condition before ACPI 2.0 reserved word is not fullfilled.

           Or the device int3472 does not exist on this motherboard.
#89 diderius6 Gives BSOD
on the giga board Acpi 2.0 for ToInteger for XP SP3

Method (HCID, 1, Serialized)
#90 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #87
The BSOD came from
Method (ARPC, 4, Serialized)
ARPC is not listed in the keywords,


you need check where this method called, and this will be _INI
Zitat von ⇗ diderius6 im Beitrag ¶ #89
Gives BSOD
on the giga board Acpi 2.0 for ToInteger for XP SP3
Method (HCID, 1, Serialized)


called from _CID & _HID

 

Page 7

#91 diderius6 Hi,
interesting question, if it is possible to translate
for example ToInteger (in one block) into
language from Acpi 1.b, using only its vocabulary
Dietmar
#92 diderius6 Ok,
lets start fun for Bios modding to have XP Acpi support for the
Asrock fatal1ty z370 gaming k6 board.
I am not good in Bios modding,
but much better than a week ago:))!
#93 diderius6 First I make a list of all the methods,
where the reserved word from ACPI 2.0
ToInteger
stays in DSDT table of Asrock fatal1ty z370 gaming k6 board
Bios vers. Z37GK63.20 (newest, with support for 9900k).
The 9900k runs under XP SP3 on this board, I have tested.

This list is very similar to the giga board:

   Method (RDCA, 5, Serialized)
Method (ARPC, 4, Serialized)  patch need
   Method (VMMH, 2, Serialized)
Method (_CRS, 0, Serialized)   patch need
   Method (TBTD, 1, Serialized)
   Method (TBTF, 1, Serialized)
   Method (GUAM, 1, Serialized)
   Method (NTFY, 1, Serialized)
   Method (TBON, 0, Serialized)  is new
   Method (WIST, 0, Serialized)
   Method (WGST, 0, Serialized)
   Method (IICB, 2, Serialized)
   Method (GRID, 1, Serialized)
 Method (HCID, 1, Serialized) patch need
   Method (CDEP, 1, Serialized)
   Method (CDEG, 1, Serialized)
   Method (HIDW, 4, Serialized) is new
   Method (ECRD, 1, Serialized) is new
   Method (ECWT, 2, Serialized) is new
   Method (STRT, 3, Serialized)
   Method (CRYF, 3, Serialized)
   Method (TPTS, 1, Serialized)

I think, patch can be done
Dietmar
#94 diderius6 Methods for the other 7 reserved words from Acpi 2.0 are

Method (STRD, 3, Serialized)
Method (THDH, 1, Serialized)
Method (THDD, 1, Serialized)
Method (_INI, 0, NotSerialized)  patch need
Method (VMMH, 2, Serialized)
Method (ADDB, 3, Serialized)
Method (TP7D, 6, Serialized)
Method (_DDN, 0, NotSerialized) patch need (?)

I double checked both lists,
thats all:))!
#95 diderius6 Bios to have full XP Acpi support for the
Asrock fatal1ty z370 gaming k6 board
is ready.
But now I am too tired for to test,
wait for tomorrow
Dietmar
#96 infuscomus can this ACPI mod work for AMD boards too?
#97 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #96
can this ACPI mod work for AMD boards too?

sure
#98 diderius6 Hi all,
I can not update my Bios on
asrock fatal1ty z370 gaming k6.
When I try to flash Bios direct on
Bios ship with CH341A,
program told me: OTG secured..brrr
When I try to flash it via Instant Flash
I was told:
"You select a ROM image with the same version of current BIOS.
Please select a newer version of ROM image to flash BIOS."
Grrr^^, I think I am the master of compi and not vice versa
Dietmar

PS: Any idea?

The Bios Chip on the Asrock board is MX25L12873F. I have some empty chips of this type here.

EDIT: I flash the compi back to Bios vers. 3.1.
Then again I try with my modded vers. Bios 3.2.
Hm, now compi tells, secure check of Bios fails..
#99 Lost_N_BIOS ⇗ @diderius6  - Use CH341A.  You mentioned CH341A programmer, do you not have one now?  If you have, put BIOS rom in CH341A, erase, then blank check, then write/verify

If you do not have CH341A, you can use this method - ⇗ [GUIDE] Grub Fix Intel FPT Error 368 - BIOS Lock Asus/Other Mod BIOS Flash
#100 diderius6 I have CH341A. It shows OTG secured.
I even can not READ the Bios and this is my biggest problem, becaus if something went wrong I do not have a valid copy of Bios.
When I use FPTw.exe I get
Error 367: [FPTw.exe] cannot be run on the current platform.
Please contact your vendor.

I have XP SP3 32 bit,
Dietmar
#101 Lost_N_BIOS Ohh, this BIOS is soldered on and not removable like old Asrock, sorry I missed that until now!  Do you have SOIC8 test clip cable?  If yes, use that instead of SPI Cables

For FPT you need to use a specific version for V11 ME FW, here is that package - ⇗ https://mega.nz/#!GRFHjQyY!OyVZDCdMQmWku...aSvA2vsQd51wxDI
Use FPT from inside Flash Programming Tool/Win32 folder, put your modbios into that folder and then from that WIN32 folder run your command prompt (Select that folder, hold shift and press right click, then select run command prompt here)

And to flash, following my guide, you will need these variables to unlock in GRUB >> (Never mind, checked and BIOS Lock is disabled by default, SMI Lock not present)  
Flash away, but make backup first as mentioned in the guide!  Use these commands to make there backups (one contains LAN MAC ID, other system details, then ME)
FPTw.exe -gbe -d gbe.bin
FPTw.exe -bios -d biosreg.bin
FPTw.exe -me -d me.bin

Then you can flash, using this command
FPTw.exe -bios -f modbiosfilenamehere.bin
#102 diderius6 ⇗ @Lost_N_BIOS

I did all, that you tell.
Still
Error 367: [FPTw.exe] cannot be run on the current platform.
Please contact your vendor.

Can this version of FPTw.exe work on XP SP3?
Dietmar
#103 diderius6 I have Hexeditor WinHex and I can work with it.
In one of the tutorials is written,
that the Byte for the security check is at the very beginning.
This are my first 1024 (dec) bytes of my modded Bios file
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5AA5F00F030004000802105A30033100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5009C24
214260ADB7B9C4C7FFFFFFFF000000000002FF0F0300FF0101000200FF7F0000FF7F0000FF7F0000FF7F0000FF7F0000FF7F0000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000FA000000D400000098000000000000001011000000000FFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00009000
00010000000000000000000000000000000001000001000000000000000000000000000000000300000100000000000000000000
00000000000001000001000000000000000000000000000000000100000100000000000000000000000000000000010000010000
0000000000000000000000000000010002000000700000010302000064000000000000002A3F0000030000000C00000030000000
0000000000000000440000000F5F000000005400000000000E00000000000000441F0000C117540000000000000000000F5F0000
91F00AFFF7FCFCFC0000000000000000000000000008000000000000001800000000000000000000000000000018000000000000
4700000080030000000000003B0090008000000012000010000064020000000000F4610919000000795555551F0100000307010A
0002000009000F020000FF000F0000C86586000000000000040F000000004000F43294000018000000000000FFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00100000128011A095020000
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
#104 Lost_N_BIOS Try the DOS version in that package instead of the win32 file, that will eliminate any possible XP issue (it may not be compatible with XP, I am not sure, so DOS version will fix that/
Here is DOS bootable guide I wrote for someone else for another issue, copy into USB again all files from "USB Boot" folder after you run the HP tool - ⇗ <Request> Flagship X470 Gaming 7 Wifi Motherboard BIOS Fix
Put DOS FPT and BIOS on root of USB too, then boot to dos and run those same commands except using FPT.exe instead of FPTw.exe

The guides do not apply to your BIOS, Asrock changed their protections, here is discussion about that and test fix on post #22
But you have to use FPT, so that needs to be solved first, which I think you are right XP maybe the issue there.  For now, lets stick to what I mentioned, and try to get this done in DOS w/ FPT, or setup a quick Win7-Win10 system disk and install Intel ME drivers, then you can use Win32 FPT
⇗ [PROBLEM]  Flashing a modded ASRock Z370 MB BIOS (2)
#105 diderius6 ⇗ @Lost_N_BIOS
Just now I am setting up a win7 32bit OS
on the asrock fatal1ty z370 gaming k6 board.
First of all I want to make a full, valid copy of its now original Bios 3.1 version
Dietmar

 

Page 8

#106 Lost_N_BIOS That will work, if you can't get DOS going.  I gave two command to make backup for you in first FPT commands given, this backs up BIOS region and GBE, so you will have copies of LAN MAC ID and rest of system details usually in padding region within the BIOS region.  
Rest you cannot backup easily, and do not need to (FD and ME), well maybe you can also backup ME if settings allow >> FPTw.exe -me -d me.bin
I will edit that into previous post too, so all three backup commands are there in one place for you.
#107 diderius6 ⇗ @Lost_N_BIOS

Waaoh, all your steps in

"For FPT you need to use a specific version for V11 ME FW, here is that package - ⇗ https://mega.nz/#!GRFHjQyY!OyVZDCdMQmWku...aSvA2vsQd51wxDI
Use FPT from inside Flash Programming Tool/Win32 folder, put your modbios into that folder and then from that WIN32 folder run your command prompt (Select that folder, hold shift and press right click, then select run command prompt here)

And to flash, following my guide, you will need these variables to unlock in GRUB >> (Never mind, checked and BIOS Lock is disabled by default, SMI Lock not present)
Flash away, but make backup first as mentioned in the guide! Use these commands to make there backups (one contains LAN MAC ID, other system details, then ME)
FPTw.exe -gbe -d gbe.bin
FPTw.exe -bios -d biosreg.bin
FPTw.exe -me -d me.bin

Then you can flash, using this command
FPTw.exe -bios -f modbiosfilenamehere.bin  "

work at once:))!

Bios is now flashed on asrock fatal1ty z370 gaming k6 to my modded XP acpi friendly version!

With win7 I can test this, using RW-everything,
that indeed I have now vers. 3.2 and my modded DSDT table.
Win7 starts with the modded Bios,
but install of XP gives BSOD 0xA5 because of missing
Acpi compatibilty.
Some more handwork for this Bios mod is needed,
but this is normal^^,
Dietmar
#108 diderius6 Still get BSOD 0xA5 not Acpi compatibel during install of XP.
XP without ACPI starts with this modded Bios.
I load the DSDT table here up,
one before mod           DSDT
and one after mod       DSDT2
I did all as for the giga board,
so at the moment I am out of ideas.
May be, that one of the methods here call also _ini
for example, different to the giga board
Dietmar
#109 Lost_N_BIOS

Great you got it flashed finally!  Sorry I can't help with rest of the issues you guys are way above my skill-set with this XP work you're doing!  
Keep those (BIOSreg and GbE) backups safe, in case you find later you need to correct/put back in your UUID, serial, or LAN MAC ID
#110 diderius6 Exact BSOD is
0x000000A5 (0x00000011, 0x00000008, 0xF6D23200, 0x20181031)
Dietmar
#111 diderius6 Hi,
does somebody know,
how many cpu s are supported from XP SP3 professional?
8 cores for sure, but 16 cores too?
Dietmar
#112 Lost_N_BIOS Luckily this is the correct thread to fix that A5 error
#113 XPLives ⇗ @diderius6

I am pretty certain it can support as many cores as possible as long as it resides in 1 CPU chip.

So if in the future Intel releases a 128 Core / 256 Thread CPU called the i128-128000K CPU socket LGA 2048 it will work with XP.

Only limit for XP Pro is Dual CPUs.  But I haven't seen any consumer Dual socket CPU motherboards sold that could take advantage of it except workstation.

16 Cores would work for sure if it existed in Cannon Lake.  Even some older X79 MB had CPUs with more cores running XP.
I think the only issue if ACPI is related to the HyperThreading you are experiencing and as a result you won't have the fake Logical Cores show only the Real Physical ones on the i9-9900K.

If a 16 Core / 32 Thread CPU was released today for Coffee Lake you will see the 16 Cores for sure in XP.  The only problem would be no applications for XP are written specifically for using that many cores but the OS can still shift some of the processes to each core manually with Affinity so maybe a special program to shift processes to each individual core starting from last core sequence.  I've seen the 6 Cores working but the first 2 cores usually has more CPU Usage then the rest.  Only way to force all cores to 100% is to use Prime95.  So if the Threads are not showing then it is probably an ACPI related issue.  Maybe ask the motherboard manufacturer instead to do ACPI v1.0 selectable option in BIOS would be easier.
#114 diderius6 ⇗ @XPLives
Thank you very much for answer.
My problem with the Asrock board is now,
that I can not flash one Bios version after the other without any risk,
as on the nice gigabyte board,
because when at one time the board from Asrock says nothing,
because of bricked Bios,
I have a big problem,
because I cant flash the Bios chip direct back via
CH341A, even the flasher supports the Bios chip MX25L12873F from the Asrock board,
Dietmar
#115 Lost_N_BIOS ⇗ @diderius6 - Chip can be flashed with CH341A, you only need SOIC8 test clip cable Or to flash in a modified BIOS that does not have the lock you mentioned.  
Please explain that message in exact detail, and I will find in BIOS and see if I can disable that for you or give you command to use in grub to unlock it without a BIOS mod.  
If I can, you'll only need to be sure to make same edit each time on your future BIOS flashes, so it remains unlocked or change after each future BIOS update via grub if that way works.  
I'm betting we can fix this, so you don't need to purchase SOIC8 test clip cable, but I'd order one now anyway so you have for future use with your CH341A
#116 diderius6 The message stand on top of the side from flasher:

Secured OTP[img][/img]

And even the yellow LED is blinking you even can not read from the chip
Dietmar

⇗ http://www.macronix.com/Lists/Applicatio...ntroduction.pdf
#117 Lost_N_BIOS ⇗ @diderius6 - Do you have SPI/I2C/TTL mode jumper placed on your programmer, instead of direct programmer (Default position)  Secured OTP area can only be written to once, you do not need to read or write to that area anyway.  Select the other tab (Main memory) and dump or program BIOS.
If it fails to let you that way, then edit options to show only main memory only >> Operate >> Operate Option >> 25\26 Chips >> Programming Range (select Main Memory Only)
#118 diderius6 ⇗ @Lost_N_BIOS
Thank you, I try.

I have another good news:
I noticed, that on the Asrock board
the DSDT table from Bios vers. 3.1
and DSDT table from Bios vers 3.2 are 100% identic.
So I can make all valuable tests with vers. 3.1 and in case of
emergeny flash back the original Bios vers. 3.2 as long as I can
start compi
Dietmar
#119 Lost_N_BIOS I'm sure it will work for you now, the programmer I mean.   As for your BIOS table info, that is good find for you too, makes things easier
#120 diderius6 Hi,
for to make things easier for full Acpi support under XP,
I patch the calling function and
not the called function.

Example from the giga board Bios:
calling function  _INI
called function ARPC:

Method (_INI, 0, NotSerialized) // _INI: Initialize
{
...
ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))
...
}


to
           
               Method (_INI, 0, NotSerialized)  // _INI: Initialize
{
...

If ((OSYS >= 0x07D6))
{
ARPC (NRPN, RefOf (PWRG), RefOf (RSTG), RefOf (SCLK))
}
...
}


Dietmar

 

Page 9

#121 diderius6 I still get BSOD 0xA5, no compatible ACPI, on my asrock fatal1ty z370 gaming k6 board.
May be, there are also other reasons, why this BSOD can happen,
even when no reserved word from Acpi 2.0 is offered to XP SP3.

I load here the original DSDT file and the modified DSDT2 file up,
may be, someone has a look on it
Dietmar
#122 XPLives ⇗ @diderius6
Are you doing a fresh XP OS install each time you test or using the old previous install?
If not then try a clean install.  The ACPI seems finicky about tampering with any settings or using an old install after modding the BIOS.

What stage of install does the A5 error occur?
During DOS stage, GUI stage, or 1st Windows Desktop OOBE stage?
#123 diderius6 ⇗ @XPLives,
yes, I always make a brandnew install of XP SP3.
And the BSOD 0xA5 appears always at the same place,
always the same message.
This "always the same message" makes me think,
that is something different than the reserved Acpi orders from Acpi 2.0.

Today I try to patch also the device IOTR, it is in the DSDT list
because ⇗ @Mov AX, 0xDEAD told about bug for XP in this device.

But I do not understand how to patch this, with

"I've patched this device to return empty list of resources Local0 = ResourceTemplate () { } return(Local0) and problem is gone"

Dietmar
#124 diderius6 ⇗ @XPLives

Interesting idea to see, what other versions of windows,
Vista and win7 say to this Bios, before and after mod.
win7 has no problem, but tells in device manager,
that the ME cant be installed (teedriver.sys driver).
I think in win7 is also a list, where you can see, what happens during boot.
Via this way I think came Mov AX, 0xDEAD to the idea,
that something is wrong with device IOTR, not only in XP.

Vista I have not tested.
I try to disable device IOTR.
Something like this will give happyness:)),
meaning full Acpi support for XP on any mainboard
Dietmar

PS: The BSOD 0xA5 not compatible Bios happens always on first text mode install,
after the driver for ntfs is loaded.

EDIT: The problem with IOTR (PNP0C02) can also make the problem with the clock on XP!
#125 XPLives ⇗ @diderius6

Okay you are confirming Text Stage 1 or 2?  It sounds like Text Stage 1 after Reboot?


Text Stage 1: Okay so A5 happens after it copies a few files quickly, Reboots, A5 Error?

Or

Text Stage 2:Copies a few files, Reboots,
Copies hundreds of files could take minutes, Reboots
then A5 Error?


Okay that is helpful.  Then if it cannot be done in BIOS maybe make ACPI driver modified files to ignore it?

Did F7 method install successfully for XP?

Testing Z87 this weekend to see if ACPI is XP compatible.
#126 diderius6 The BSOD happens before first reboot.
I can install everything from XP, using USB stick or CD  without Acpi, hit F5 and chose MPS multiprocessor
Dietmar
#127 diderius6 Next try,
but still
BSOD x0A5 on XP SP3 on Asrock fatal1ty z370 gaming k6 with 9900k cpu
Dietmar
#128 diderius6 I change the 9900k cpu on the asrock fatal1ty z370 gaming k6 against
Celeron G4900 with only 2 cores.
Same BSOD 0xA5
Dietmar
#129 diderius6 ⇗ @XPLives

"CPU Core Ratio from Auto to Manual setting of 8 for 800 MHz
Then Change CPU Cores from Auto to 1 for Single Core"
I did, but still BSOD 0xA5,
brrr..
Dietmar

PS: Tomorrow I set up a Windbg connection for Acpi debug with the debug checked build files for XP.
     I never did this before, but because I think I do everything correct, exakt like on the giga board,
     something other is disturbing XP doing full Acpi.
#130 diderius6 I just make a checke, if for example has influence on the build raw file from DSDT.
External (_SB_.PCI0.GFX0.IUEH, MethodObj)    // 1 Arguments    // From external reference file
As long as there is no warning from the compiler, all External are automatically linked.
I tested the builded binaries, one time with // From external reference file
and one time without.
They are to 100% identic.

So, no room is left for having done a mistake on the asrock board during patch of Acpi 2.0 reserved words,
something other is going on,
Dietmar
#131 diderius6 From Microsoft about BSOD 0xA5 (0x00000011,..)
(0x000000011, Parameter2, Parameter3, Parameter4):

The system cannot enter ACPI mode. There are many reasons for this, including:

The system cannot initialize the AML interpreter.
The system cannot find the Root System Description table.
The system cannot allocate a critical driver.
The system cannot load the Root System Description table.
The system cannot load device descriptor blocks.
The system cannot connect an interrupt vector.
The SCI_EN (system control interrupt enable request) cannot be set (see 0x00000001).
The ACPI Table checksum is incorrect.

ACPI is a hierarchical arrangement of tables, each one building upon the next to define the complete capabilities of the system and of every device in the system. ACPI starts by looking for the Root System Description table, which points to the next table, which points to the next table, and so on. Usually, the 0x000000011 error occurs because these tables are damaged or missing.
#132 diderius6 Hi,
I can not install the checked version of acpi.sys for XP SP3 on the giga board,
it crashes.
This is really funny, the cat bites in its tail:)),
how can then Acpi debug for XP SP3 been made possible?
Dietmar
#133 diderius6 With the original free acpi.sys in Windbg with
0: kd> !amli lc
*Ctxt=ffffffff89c28000, ThID=ffffffff89c42a98, Flgs=A--C-----, pbOp=ffffffff89b91088, Obj=\_SB.PCI0._INI
AMLI_DBGERR: SIG_CTXT does not match (89c28008)

Any idea, how and what can be seen this way?

Dietmar
#134 XPLives ⇗ @diderius6

Full extraction of binaries for ACPI from Z77 XP SP3 Compatible

Maybe some changes can be applied to Z370?
OSI` ._OSI.
Windows 2001.p.Ñ.OSYS ._OSI.
Windows 2001 SP1.p.Ñ.OSYS ._OSI.
Windows 2001 SP2.p.Ò.OSYS ._OSI.
Windows 2001.1.p.Ó.OSYS ._OSI.
ACPI 2.0 supported - April 13, 2001

Windows 2006.p.Ö.OSYS ._OSI.
ACPI 3.0 supported - Revision 3.0b, October 10, 2006

Windows 2009
ACPI 4.0 supported - June 16, 2009

Maybe this indicates ACPI v4.0 supported so no problems dealing with XP SP3.

Download Z77 XP Compatible ACPI Binaries to examine:
⇗ [GUIDE] Windows XP ACPI BSOD A5 Error (2)

Later ACPI v5.0+ started ACPI compatibility issues.
Revision 5.0,  December 6, 2011
Revision 5.0a,  November 13, 2013
#135 diderius6 Yes, this is what ⇗ @Mov AX, 0xDEAD told. The reserved Acpi2.0 word "ToInteger" appears
only in the _DSM method.
So this is necessary for Acpi support for XP SP3,
but may be not enough
Dietmar

Edit: In most cases the reserved word "ToInteger"
can be deleted, because the variable is of type integer.

Example from Bios of Asus z170-k
                Switch (SDS7)
Case (One)

Same line Bios from gigabyte
                   
Switch (ToInteger (SDS7))
Case (One)

 

Page 10

#136 diderius6 I make a new check for reserved words from Acpi >1.b
these are about (>) 20 reserved words which make BSOD for XP,
when they are in a parsed method or its connected parts. Until now I found in Bios only first 9 ones:
TOINTEGER
ConcatenateResTemplate
CREATEQWORDFIELD
TOBUFFER
TOHEXSTRING
TOSTRING
TODECIMALSTRING
COPYOBJECT
QWORD



CONCATENATETEMPLATE
VARIABLEPACKAGE
EXTERNAL
MID
MOD
CONTINUE
LOADTABLE
TIMER
DATAREGION
FIELDCONNECTION
FIELDEXTACCESS

Method (_DSM ) can be always ignored for XP. Also those Method(), which are never called.
#137 diderius6 Hi,
on the Gigabyte board this nice hack in DSDT works:

Replace all

Switch (ToInteger (..))

with

Switch (..)

This means: On the giga board the
ONLY commands from Acpi2.0
have to be patched are:

CreateQWordField
ConcatenateResTemplate


PS: The iasl compiler cries, that he does not know, if this is an Integer, but continues setting it to Integer,
     without any error!
#138 diderius6 Here comes working DSDT table for XP SP3 32 bit, board gigabyte ga-h110m-s2h
with very small patches in DSDT2,
DSDT is original DSDT from F25 Bios.



diderius6 has attached files to this post
#139 diderius6 For the first time I get an other BSOD^^ 0xA5 on Biosmod for the Asrock fatal1ty z370 gaming k6 board.
I think, I am only one step away for to have full Acpi support for XP SP3 on this board
Dietmar
0x000000A5 (0x00000002, Parameter2, Parameter3, Parameter4):
This error is defined as ACPI root PCI resource failure. To discover what current resources are being used by PCI devices, ACPI must be able to query the CRS descriptor in the ACPI namespace. This error occurs if the BIOS lacks a pointer to the list, or if the list is empty, or if the list contains errors or conflicts.

SOLVED with new acpi.sys. Use the DSDt2 table from connected file for to have full Acpi XP SP3 on Asrock fatal1ty z370 gaming k6 board.



diderius6 has attached files to this post
#140 diderius6 ACPI_BIOS_ERROR                 (0xA5)

The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:

PARAMETERS

   1 -
   VALUES:

     1 : ACPI_ROOT_RESOURCES_FAILURE.
         ACPI cannot find the SCI Interrupt vector in the resources handed
         to it when ACPI is started.

        2 - ACPI's deviceExtension
        3 - ACPI's ResourceList
        4 -
        VALUES:
            0 : No resource list found
            1 : No IRQ resource found in list
        END_VALUES

     2 : ACPI_ROOT_PCI_RESOURCE_FAILURE
         ACPI could not process the resource list for the PCI root buses

        2 - The ACPI Extension for the PCI bus.
        3 -
        VALUES:
           0 : ACPI cannot convert the BIOS' resource list into the proper
               format. This probably represents a flaw in the BIOS' list
               encoding procedure.
             4 - Pointer to the QUERY_RESOURCES irp
           1 : ACPI cannot convert the BIOS' resource list into the proper
               format. This probably represents a flaw in the BIOS' list
               encoding procedure.
             4 - Pointer to the QUERY_RESOURCE_REQUIREMENTS irp
           2 : ACPI found an empty resource list.
             4 - 0
           3 : ACPI could not find the current bus number in the CRS.
             4 - Pointer to the PNP CRS descriptor
           Other : Any other value is a pointer to the Resource List for PCI.
                   This indicates that there is an overlap between the list of
                   resources that PCI claims to decode and the list of memory
                   regions reported by the E820 BIOS interface.


             4 - Pointer to the E820 Memory Table
        
END_VALUES

      3 : ACPI_FAILED_MUST_SUCCEED_METHOD
          ACPI tried to run a control method while creating device extensions
          to represent the ACPI namespace, but this control method failed.

        2 - The ACPI Object that was being run
        3 - return value from the interpreter
        4 - Name of the control method (in ULONG format)

      4 : ACPI_PRW_PACKAGE_EXPECTED_INTEGER
          ACPI evaluated a _PRW and expected to find an integer as a
          package element.

        2 - The ACPI Extension for which the _PRW belongs to
        3 - Pointer to the method
        4 - The DataType returned (see amli.h)

      5 : ACPI_PRW_PACKAGE_TOO_SMALL
          ACPI evaluated a _PRW and the package that came back failed to
          contain at least 2 elements. The ACPI specification requires that
          two elements to always be present in a _PRW.

        2 - The ACPI Extension for which the _PRW belongs to
        3 - Pointer to the _PRW
        4 - Number of elements in the _PRW

      6 : ACPI_PRx_CANNOT_FIND_OBJECT
          ACPI tried to find a named object named, but could not find it.

        2 - The ACPI Extension for which the _PRx belongs to
        3 - Pointer to the _PRx
        4 - Pointer to the name of the object to look for

      7 : ACPI_EXPECTED_BUFFER
          ACPI evaluated a method and expected to receive a Buffer in return.
          However, the method returned some other data type

        2 - The ACPI Extension for which the method belongs to
        3 - Pointer to the method
        4 - The DataType returned (see amli.h)

      8 : ACPI_EXPECTED_INTEGER
          ACPI evaluated a method and expected to receive an Integer in return.
          However, the method returned some other data type

        2 - The ACPI Extension for which the method belongs to
        3 - Pointer to the method
        4 - The DataType returned (see amli.h)

      9 : ACPI_EXPECTED_PACKAGE
          ACPI evaluated a method and expected to receive a Package in return.
          However, the method returned some other data type

        2 - The ACPI Extension for which the method belongs to
        3 - Pointer to the method
        4 - The DataType returned (see amli.h)

      0xA : ACPI_EXPECTED_STRING
          ACPI evaluated a method and expected to receive a String in return.
          However, the method returned some other data type

        2 - The ACPI Extension for which the method belongs to
        3 - Pointer to the method
        4 - The DataType returned (see amli.h)

      0xB : ACPI_EJD_CANNOT_FIND_OBJECT
          ACPI cannot find the object referenced to by an _EJD string

        2 - The ACPI Extension for which which the _EJD belongs to
        3 - The status returned by the interpreter
        4 - Name of the object ACPI is trying to find

      0xC : ACPI_CLAIMS_BOGUS_DOCK_SUPPORT
          ACPI provides faulty/insufficient information for dock support

        2 - The ACPI Extension for which ACPI found a dock device
        3 - Pointer to the _EJD method
        4 -
        VALUES:
           0: Bios does not claim system is dockage
           1: Duplicate device extensions for dock device
        END_VALUES

      0xD : ACPI_REQUIRED_METHOD_NOT_PRESENT
          ACPI could not find a required method/object in the namespace
          This is the bugcheck that is used if a vendor does not have an
          _HID or _ADR present

        2 - The ACPI Extension that ACPI needs the object for
        3 - The (ULONG) name of the method ACPI looked for
        4 -
        VALUES:
           0: Base Case
           1: Conflict
        END_VALUES

      0xE : ACPI_POWER_NODE_REQUIRED_METHOD_NOT_PRESENT
          ACPI could not find a requird method/object in the namespace for
          a power resource (or entity other than a "device"). This is the
          bugcheck used if a vendor does not have an _ON, _OFF, or _STA present
          for a power resource

        2 - The NS PowerResource that ACPI needs the object for
        3 - The (ULONG) name of the method ACPI looked for
        4 -
        VALUES:
           0: Base Case
        END_VALUES

      0xF : ACPI_PNP_RESOURCE_LIST_BUFFER_TOO_SMALL
          ACPI could not parse the resource descriptor
        2 - The current buffer that ACPI was parsing
        3 - The buffer's tag
        4 - The specified length of the buffer

      0x10 : ACPI_CANNOT_MAP_SYSTEM_TO_DEVICE_STATES
           ACPI could not map determine the system to device state mapping
           correctly.
        2 - The ACPI Extension for which ACPI is trying to do the mapping
        3 -
        VALUES:
           0 : The _PRx mapped back to a non-supported S-state
             4 - The DEVICE_POWER_STATE (ie: x+1)
           1 : ACPI cannot find a D-state to associate with the S-state
             4 - The SYSTEM_POWER_STATE that is causing the problem
           2 : The device claims to be able to wake the system when the
               system is in this S-state, but the system doesn't actually
               support this S-state.
             4 - The SYSTEM_POWER_STATE that is causing the problem
        END_VALUES

      0x11 : ACPI_SYSTEM_CANNOT_START_ACPI
           The system could not enter ACPI mode

        2 -
        VALUES:
           0 : System could not initialize AML interpreter
           1 : System could not find RSDT
           2 : System could not allocate critical driver structures
           3 : System could not load RSDT
           4 : System could not load DDBs
           5 : System cannot connect Interrupt vector
           6 : SCI_EN never becomes set in PM1 Control Register
           7 : Table checksum is incorrect
             3 - Pointer to the table that had a bad checksum
             4 - Creator Revision
           8 : Failed to load DDB
             3 - Pointer to the table that ACPI failed to load
             4 - Creator Revision
           9 : Unsupported Firmware Version
             3 - FADT Version
           0xA : System could not find MADT
           0xB : System could not find any valid Local SAPIC structures in
                 the MADT
           0xC: The OS is not capable of supporting active docking on this platform
           0xD: Some of the specified system sleep states are not supported on this platform
        END_VALUES

      0x14 : ACPI_PNP_RESOURCE_LIST_LENGTH_TOO_LARGE
           ACPI could not parse the resource descriptor, the length exceeds
           MAXULONG.
        2 - The current buffer that ACPI was parsing
        3 - The buffer's tag
        4 - Pointer to a variable containing ULONGLONG length of the buffer

      0x15 : ACPI_TABLE_LOADTABLE
           ACPI had a fatal error when processing a LoadTable instruction
        2 - AML Context (!amli r Context)
        3 -
        VALUES:
           1 : Failed to load the table
           2 : Parameter Path String Object was not found
           3 : Failed to insert ParameterData into ParameterPathString
           4 : Out of System Memory
        END_VALUES
        4 - NT status code

      0x16 : ACPI_ILLEGAL_PARENT
           ACPI had a fatal error when processing an xSDT. An object was
           declared as a child of a parent that cannot have children.
        2 - Pointer to the parent NSOBJ
        3 - Pointer to the illegal child NSOBJ

      0x17 : ACPI_INVALID_GPE_INDEX
           ACPI had a fatal error when processing a GPE index. An invalid
           index was specified.
        2 - GPE Bit Index.

      0x1000 : ACPI_BIOS_USING_OS_MEMORY
           ACPI had a fatal error when processing a memory operation region.
           The memory operation region tried to map memory that has been
           allocated for OS usage.
        2 - The high portion of the physical address of the memory region.
        3 - The low portion of the physical address of the memory region.
        4 - The length of memory being mapped.

     0x2001 : ACPI_FAILED_PIC_METHOD
            ACPI tried to evaluate the PIC control method but failed

        2 - InterruptModel (Integer)
        3 - return value from interpreter
        4 - Pointer to the PIC control method

     0x10001 : ACPI_CANNOT_ROUTE_INTERRUPTS
             ACPI tried to do interrupt routing, but failed

        2 - Pointer to the device object
        3 - Pointer to the parent of the device object
        4 - Pointer to the PRT

     0x10002 : ACPI_PRT_CANNOT_FIND_LINK_NODE
             ACPI could not find the link node referenced in a _PRT
             (This code exists in Windows 2000, but is obsolete in XP)

        2 - Pointer to the device object
        3 - Pointer to the string name ACPI is looking for, but could not find.
        4 - Pointer to the PRT. Dump this with !acpikd.nsobj

     0x10003 : ACPI_PRT_CANNOT_FIND_DEVICE_ENTRY
             ACPI could not find a mapping in the _PRT package for a device
             (This code exists in Windows 2000, but is obsolete in XP)

        2 - Pointer to the device object
        3 - The Device ID / Function Number. This DWORD is encoded
            as follows: Bits 5:0 are the PCI Device Number, Bits 8:6 are
            the PCI function number.
        4 - Pointer to the PRT. Dump this with !acpikd.nsobj

     0x10005 : ACPI_PRT_HAS_INVALID_FUNCTION_NUMBERS
             ACPI found an entry in the _PRT for which the function ID isn't
             all F's.  The generic format for a _PRT entry is that the device
             number is specified, but the function number isn't.  If it isn't
             done this way, then the machine vendor can introduce dangerous
             ambiguities.
             (This code exists in Windows 2000, but is obsolete in XP)

        2 - Pointer to the PRT object. Dump this with !acpikd.nsobj
        3 - Pointer to the current PRT Element. This is an index into the PRT.
        4 - The DeviceID/FunctionID of the element. This DWORD is
            encoded. Bits 15:0 are the PCI Function Number.
            Bits 31:16 are the PCI Device Number.

     0x10006 : ACPI_LINK_NODE_CANNOT_BE_DISABLED
             ACPI found a link node, but cannot disable it. Link nodes must
             be disable to allow for reprogramming

        2 - Pointer to the link node. This device is missing the _DIS method.


     0x10007 :
             The _PRT contained a reference to a vector not described in the
             I/O APIC entries MAPIC table.
        2 - The vector that couldn't be found

     0x10008 :
             The ACPI SCI interrupt level is invalid.

     0x10009 :
             The FADT could not be located.

     0x1000a :
             The RSDT\XSDT could not be located.

     0x1000b :
             The ACPI table length was out of sync with the table revision
        2 - The ACPI table signature
        3 - pointer to the ACPI table

     0x1000c :
             _DSM method for interrupts returned malformed data.
        2 - Revision ID
        3 - Function Index

     0x1000d :
             A device used both GPE and GPIO interrupts, which is not supported.
        2 - The ACPI Extension for the device
        3 -
        VALUES:
           0 : _PRW specified with no wake-capable interrupts and at least one
               GPIO interrupt
           1 : Since there are wake-capable interrupts, _PRW should specify a
               GpeInfo value of 0xffffffff

     0x20000 :
             The PM_TMR_BLK entry in the Fixed ACPI Description Table doesn't
             point to a working ACPI timer block.
        2 - The I/O port in the Fixed Table

     END_VALUES

DESCRIPTION
This bug check covers a great variety of ACPI problems.  If a kernel debugger
is attached, use "!analyze -v".  This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.


If Parameter 1 equals 0x02, the ACPI BIOS could not process the resource list for the PCI root buses. In this case, Parameter 3 specifies the exact problem, and the remaining parameters have the following definitions.

Parameter 2                                           Parameter 3                                          Parameter 4                                      
 

The ACPI extension for the PCI bus                A pointer to the resource list for PCI            A pointer to the E820 memory table


Cause

The list of resources that PCI claims to decode overlaps with the list of memory regions that the E820 BIOS interface reports.
This kind of conflict is never permitted.
#141 YuriyCN Motheboard Gigabyte H110M-DS2 (socket 1151, DDR4)
BIOS
v1, v2, v3 - i installed WinXP SP3. There were no problems.
It was only necessary to install AHCI driver for SATA hard disc drive.

v20,v21...v25 - WinXP is not installed. Errors in ACPI.
#142 diderius6 ⇗ @YuriyCN
Just look at my DSDT2 table in gigaXP.rar .
I think, you can integrate it direct in your Bios v>=20
and BSOD for Acpi for XP SP3 is gone
Dietmar
#143 diderius6
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 Dec 9 23:58:56.687 2018 (UTC + 1:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
Built by: 2600.xpsp.080413-2111
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Sun Dec 9 23:59:03.781 2018 (UTC + 1:00):
*** Fatal System Error: 0x000000a5
(0x00000002,0x89A839D0,0xE134F008,0x898ADCA8)

Sun Dec 9 23:59:03.796 2018 (UTC + 1:00): 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 Dec 9 23:59:03.984 2018 (UTC + 1:00)), ptr64 FALSE
Loading Kernel Symbols
.......................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck A5, {2, 89a839d0, e134f008, 898adca8}

*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
Probably caused by : ACPI.sys ( ACPI!ACPIRangeValidatePciResources+129 )

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

nt!RtlpBreakWithStatusInstruction:
8052b5dc cc int 3
kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

ACPI_BIOS_ERROR (a5)
The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:
This bug check covers a great variety of ACPI problems. If a kernel debugger
is attached, use "!analyze -v". This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.
Arguments:
Arg1: 00000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
ACPI could not process the resource list for the PCI root buses
Arg2: 89a839d0, The ACPI Extension for the PCI bus.
Arg3: e134f008,
Arg4: 898adca8

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

*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0

ACPI_EXTENSION: 89a839d0 -- (!acpikd.acpiext 89a839d0)

ACPI_RESCONFLICT: e134f008 -- (!acpiresconflict e134f008 898adca8)
Number of arguments found = 1. 2 arguments expected
Usage: acpiresconflict [DeviceExtension] [IoResList] [e820Info]


DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0xA5

PROCESS_NAME: System

LOCK_ADDRESS: 8055b560 -- (!locks 8055b560)
The state of the ACPI locks is:
- Build Queue Lock is not owned
- Button Lock is not owned
- Device Tree Lock is not owned
- Fatal Lock is not owned
- Power Lock is not owned
- Get Lock is not owned
- Power Queue Lock is not owned
- Thermal Lock is not owned
- Update Flags Lock is not owned
- Worker Lock is not owned

PNP_TRIAGE:
Lock address : 0x8055b560
Thread Count : 1
Thread address: 0x89a677b0
Thread wait : 0x56

LAST_CONTROL_TRANSFER: from 804f8df9 to 8052b5dc

STACK_TEXT:
bacc2cf8 804f8df9 00000003 bacc3054 00000000 nt!RtlpBreakWithStatusInstruction
bacc2d44 804f99e4 00000003 e134f1d0 00000000 nt!KiBugCheckDebugBreak+0x19
bacc3124 804f9f33 000000a5 00000002 89a839d0 nt!KeBugCheck2+0x574
bacc3144 ba7870bb 000000a5 00000002 89a839d0 nt!KeBugCheckEx+0x1b
bacc3184 ba7985a8 89a839d0 e134f008 89a52e38 ACPI!ACPIRangeValidatePciResources+0x129
bacc31b8 ba77fe12 00000000 89a52e38 89a52ecc ACPI!ACPIBusIrpQueryResourceRequirements+0x110
bacc31e8 804ef18f 899a91f8 ba79500c bacc3264 ACPI!ACPIDispatchIrp+0x15a
bacc31f8 80592b63 bacc3264 bacc3294 00002000 nt!IopfCallDriver+0x31
bacc3224 805933cc 899a91f8 bacc3240 bacc3294 nt!IopSynchronousCall+0xb7
bacc3268 8058f1fc 899a91f8 bacc3294 8996c1d0 nt!PpIrpQueryResourceRequirements+0x38
bacc328c 80591ce2 00000000 800001e4 00000000 nt!PiQueryResourceRequirements+0x1c
bacc337c 8059222b 8996c1d0 00000000 00000000 nt!PipProcessNewDeviceNode+0x84a
bacc35d0 804f68d3 89a52008 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
bacc3614 804f6b78 00000000 00000000 8008fca0 nt!PipDeviceActionWorker+0xad
bacc362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
bacc3690 80699f70 80084000 bacc36ac 00034000 nt!IopInitializeBootDrivers+0x376
bacc3838 806983d3 80084000 00000000 89a677b0 nt!IoInitSystem+0x712
bacc3dac 805cff64 80084000 00000000 00000000 nt!Phase1Initialization+0xac7
bacc3ddc 805460de 8069790c 80084000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND: kb

FOLLOWUP_IP:
ACPI!ACPIRangeValidatePciResources+129
ba7870bb 56 push esi

SYMBOL_STACK_INDEX: 4

SYMBOL_NAME: ACPI!ACPIRangeValidatePciResources+129

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 480252b1

FAILURE_BUCKET_ID: 0xA5_ACPI!ACPIRangeValidatePciResources+129

BUCKET_ID: 0xA5_ACPI!ACPIRangeValidatePciResources+129

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

kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

ACPI_BIOS_ERROR (a5)
The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:
This bug check covers a great variety of ACPI problems. If a kernel debugger
is attached, use "!analyze -v". This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.
Arguments:
Arg1: 00000002, ACPI_ROOT_PCI_RESOURCE_FAILURE
ACPI could not process the resource list for the PCI root buses
Arg2: 89a839d0, The ACPI Extension for the PCI bus.
Arg3: e134f008,
Arg4: 898adca8

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

*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0

ACPI_EXTENSION: 89a839d0 -- (!acpikd.acpiext 89a839d0)

ACPI_RESCONFLICT: e134f008 -- (!acpiresconflict e134f008 898adca8)
Number of arguments found = 1. 2 arguments expected
Usage: acpiresconflict [DeviceExtension] [IoResList] [e820Info]


DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0xA5

PROCESS_NAME: System

LOCK_ADDRESS: 8055b560 -- (!locks 8055b560)
The state of the ACPI locks is:
- Build Queue Lock is not owned
- Button Lock is not owned
- Device Tree Lock is not owned
- Fatal Lock is not owned
- Power Lock is not owned
- Get Lock is not owned
- Power Queue Lock is not owned
- Thermal Lock is not owned
- Update Flags Lock is not owned
- Worker Lock is not owned

PNP_TRIAGE:
Lock address : 0x8055b560
Thread Count : 1
Thread address: 0x89a677b0
Thread wait : 0x56

LAST_CONTROL_TRANSFER: from 804f8df9 to 8052b5dc

STACK_TEXT:
bacc2cf8 804f8df9 00000003 bacc3054 00000000 nt!RtlpBreakWithStatusInstruction
bacc2d44 804f99e4 00000003 e134f1d0 00000000 nt!KiBugCheckDebugBreak+0x19
bacc3124 804f9f33 000000a5 00000002 89a839d0 nt!KeBugCheck2+0x574
bacc3144 ba7870bb 000000a5 00000002 89a839d0 nt!KeBugCheckEx+0x1b
bacc3184 ba7985a8 89a839d0 e134f008 89a52e38 ACPI!ACPIRangeValidatePciResources+0x129
bacc31b8 ba77fe12 00000000 89a52e38 89a52ecc ACPI!ACPIBusIrpQueryResourceRequirements+0x110
bacc31e8 804ef18f 899a91f8 ba79500c bacc3264 ACPI!ACPIDispatchIrp+0x15a
bacc31f8 80592b63 bacc3264 bacc3294 00002000 nt!IopfCallDriver+0x31
bacc3224 805933cc 899a91f8 bacc3240 bacc3294 nt!IopSynchronousCall+0xb7
bacc3268 8058f1fc 899a91f8 bacc3294 8996c1d0 nt!PpIrpQueryResourceRequirements+0x38
bacc328c 80591ce2 00000000 800001e4 00000000 nt!PiQueryResourceRequirements+0x1c
bacc337c 8059222b 8996c1d0 00000000 00000000 nt!PipProcessNewDeviceNode+0x84a
bacc35d0 804f68d3 89a52008 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
bacc3614 804f6b78 00000000 00000000 8008fca0 nt!PipDeviceActionWorker+0xad
bacc362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
bacc3690 80699f70 80084000 bacc36ac 00034000 nt!IopInitializeBootDrivers+0x376
bacc3838 806983d3 80084000 00000000 89a677b0 nt!IoInitSystem+0x712
bacc3dac 805cff64 80084000 00000000 00000000 nt!Phase1Initialization+0xac7
bacc3ddc 805460de 8069790c 80084000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND: kb

FOLLOWUP_IP:
ACPI!ACPIRangeValidatePciResources+129
ba7870bb 56 push esi

SYMBOL_STACK_INDEX: 4

SYMBOL_NAME: ACPI!ACPIRangeValidatePciResources+129

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 480252b1

FAILURE_BUCKET_ID: 0xA5_ACPI!ACPIRangeValidatePciResources+129

BUCKET_ID: 0xA5_ACPI!ACPIRangeValidatePciResources+129

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

kd> !lm
No export lm found
kd> lm
start end module name
804d7000 806e4000 nt (pdb symbols) c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
806e4000 80704d00 hal (deferred)
ba3ba000 ba3d3b80 Mup (deferred)
ba3d4000 ba400980 NDIS (deferred)
ba401000 ba417880 KSecDD (deferred)
ba418000 ba43b180 Fastfat (deferred)
ba43c000 ba44df00 sr (deferred)
ba44e000 ba46db00 fltMgr (deferred)
ba46e000 ba723000 iaStor (deferred)
ba723000 ba748700 dmio (deferred)
ba749000 ba767880 ftdisk (deferred)
ba768000 ba778a80 pci (deferred)
ba779000 ba7a6d80 ACPI (pdb symbols) c:\symbols\acpi.pdb\3E23085EEF9C4EB5AC40C386278F6D7E1\acpi.pdb
ba8a8000 ba8b1180 isapnp (deferred)
ba8b8000 ba8c2580 MountMgr (deferred)
ba8c8000 ba8d4c80 VolSnap (deferred)
ba8d8000 ba8e0e00 disk (deferred)
ba8e8000 ba8f4180 CLASSPNP (deferred)
bab28000 bab2e800 firadisk (deferred)
bab30000 bab34d00 PartMgr (deferred)
bacb8000 bacbb000 BOOTVID (deferred)
bada8000 bada9b80 kdcom (deferred)
badaa000 badab100 WMILIB (deferred)
badac000 badad700 dmload (deferred)
kd> !devnode
Dumping IopRootDeviceNode (= 0x89a52008)
DevNode 0x89a52008 for PDO 0x89a8a2c0
Parent 0000000000 Sibling 0000000000 Child 0x89a52ba8
InstancePath is "HTREE\ROOT\0"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[04] = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[03] = DeviceNodeStarted (0x308)
StateHistory[02] = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[01] = DeviceNodeStarted (0x308)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
StateHistory[06] = Unknown State (0x0)
StateHistory[05] = Unknown State (0x0)
Flags (0x00000131) DNF_MADEUP, DNF_ENUMERATED,
DNF_IDS_QUERIED, DNF_NO_RESOURCE_REQUIRED

#144 diderius6 The BSOD on the asrock board with

ACPI_RESCONFLICT: e134f008 -- (!acpiresconflict e134f008 898adca8)
Number of arguments found = 1. 2 arguments expected
Usage: acpiresconflict [DeviceExtension] [IoResList] [e820Info]

remembers me at

"There is a critical error in the BIOS, in the ACPI setup under SSDT7.

I have taken the liberty to fix it on my machine, but I don't know where to report the bug, so here goes.

There are 3 big screwups on methods that require two arguments, being passed as a method with one argument and then a "hanging" argument. I am not sure how this was implemented, but it's total garbage.

For example \_SB.SGOV requires two arguments, but in positions where it SHOULD be invoked, \_SB.GGOV is invoked instead, and only takes ONE argument. So, instead of passing two arguments, one argument is given, and one argument is just hanging in the middle of nowhere, causing compilation errors in BIOS.

There are many instances of this behavior for example:

\_SB.GGOV (0x02010014)
OLDV

must be changed to:

\_SB.SGOV (0x02010014, OLDV)  


⇗ https://rog.asus.com/forum/showthread.ph...at-I-have-fixed

Dietmar
#145 diderius6 Hi,
I installed the Acpi Bios 1704 for Asus Apex X motherboard,
modded by Elmor for XP

⇗ https://community.hwbot.org/topic/174849...#comment-516868

Then I installed there the full XP SP3 debug version. I can see on this z370 chipset now
all Acpi devices and HT with all cores from 8700k.
Elmor used another method for modding the Bios.
And I think, he also changed the about 7 SSDT tables,
which makes BSOD until now on my asrock fatal1ty z370 gaming k6 board
Dietmar

EDIT: The same problem with the timer appears on this Bios mod from Elmor.
This is interesting, seems my hack for the timer has not reached hwbot.
FACP Flags is A5 86 03 00 so, clock is set to 1, needs to be 0.
This can be done by changing this Hexvalues to A5 06 03 00

EDIT2: I can not find the FACP table in Bios on the Asus Apex X board. Any help is welcome.
#146 diderius6
Windbg messages for Asrock 370 board. It seems, it is not a real Acpi problem.
It seems, that there happens overlapping in memory. Any idea?

kd> ACPI: E820 Entry 0 (type 1) (0-9c400) overlaps

0: kd> !acpiresconflict e100da30 8a0cdb50
acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
acpiresconflict: Failed to initialize type acpi!_ACPI_BIOS_MULTI_NODE 1
acpiresconflict:
acpiresconflict: No PCI _CRS problems / conflicts were found

typedef struct _ACPI_BIOS_MULTI_NODE {
PHYSICAL_ADDRESS RsdtAddress; // 64-bit physical address of RSDT
ULONGLONG Count;
ACPI_E820_ENTRY E820Entry[1];
} ACPI_BIOS_MULTI_NODE, *PACPI_BIOS_MULTI_NODE;


0: kd> !RSDT
RSDT - HEADER - ffffffffbbea5028
Signature: RSDT
Length: 0x00000078
Revision: 0x01
Checksum: 0xd2
OEMID: ALASKA
OEMTableID: A M I
OEMRevision: 0x01072009
CreatorID: MSFT
CreatorRev: 0x00010013
RSDT - BODY - ffffffffbbea504c
@(000000007dfb3180) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc0b0) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc118) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc160) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc200) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc240) Rev: 000 Len: 00000000 TableID:
@(000000007dfdc5e8) Rev: 000 Len: 00000000 TableID:
@(000000007dfdf750) Rev: 000 Len: 00000000 TableID:
@(000000007dfdf788) Rev: 000 Len: 00000000 TableID:
@(000000007dfe0440) Rev: 000 Len: 00000000 TableID:
@(000000007dfe0488) Rev: 000 Len: 00000000 TableID:
@(000000007dfe1c38) Rev: 000 Len: 00000000 TableID:
@(000000007dfe1f18) Rev: 000 Len: 00000000 TableID:
@(000000007dfe1fb0) Rev: 000 Len: 00000000 TableID:
@(000000007dfe20f8) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2610) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2900) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2938) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2990) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2a38) Rev: 000 Len: 00000000 TableID:
@(000000007dfe2a70) Rev: 000 Len: 00000000 TableID:

#147 Mov AX, 0xDEAD Hi,

Some info about bug with Acpi Timer on Skylake+ platforms:
- XP preSP2 uses TSC, not affected
- XP SP2,SP3 uses acpi timer, affected
- Vista search for HPET Timer and uses it, frequency is 14.31818 MHz (4 x freq of Acpi timer), not affected
- Vista uses acpi timer if didn't find HPET, affected
- Win7+ check quality of processor counter (TSC), skylake+ cpus have constant rate counter, so these OSes use TSC and not affected. Unlike XP, processor raw frequency divided to 1024, for example 3600Mhz/1024=3.579545Mhz (avoid arithmetic 32bit overflow in old-gen apps ?)
- If Win7+ forced to not use TSC (bcdedit.exe /set useplatformclock true), it search for HPET and uses it, not affected
- If Win7+ forced to not use TSC and didn't find HPET, it uses acpi timer, affected

Regarding acpi specs and intel specs on pch chipset, acpi timer generates hardware SCI interrupt (IRQ #9) if TMR_EN bit is SET. This bit is SETted on live system, but windows doesnt receive any interrupts. Near to TMR_EN exist PWRBTN_EN bit (generates SCI at power button press), and if we press button, windows receive interrupt (surprise!)

I came to the conclusion that this is a bug at the platform level. Maybe bios doesnt set some hardware regs or intel forget to say something about additional requirements, who knows....
EDIT: this is not platform bug, acpi timer just disabled in chipset by BIOS
#148 diderius6 ⇗ @Mov AX, 0xDEAD
hi,
on hwbot.org they told,
that the z270 Asus Apex IX has from
beginning full XP Acpi support and also a board
from Gigabyte Z370X SOC Force LN2. The Asus z270 Apex IX board I will test in next days.
The board from gigabyte is not sold on the normal market, just for overclockers.
I wonder, if another table for example SSDT in Bios
has to do with the pm_timer.

And maximal unclear is for me, why I have no success with ACPI on my Asrock z370 board.
The bios DSDT table is nearly one by one like the Bios DSDT table from gigabyte H110M-S2H.
May be, another device is called, where until now I do not prevent it from reserved words from Acpi 2.0,
have a nice evening
Dietmar
#149 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #148
@Mov AX, 0xDEAD
I wonder, if another table for example SSDT in Bios
has to do with the pm_timer.


acpi specs dont say anything about controling timer in acpi tables, timer is hardware level
OS can only:
1) route interrupt to itself(SCI mode) or to bios (SMI)
2) disable or enable interrupts

p.s. because win7+ use TSC and we all have "right" cpus, no need anymore to fix this buggy timer, just patch os/bios to avoid using it
#150 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #148

And maximal unclear is for me, why I have no success with ACPI on my Asrock z370 board.
The bios DSDT table is nearly one by one like the Bios DSDT table from gigabyte H110M-S2H.
May be, another device is called, where until now I do not prevent it from reserved words from Acpi 2.0,


New syntax will generate A5(03,xxxx,С014001,yyyy) error, if you have other errcodes this not directed linked to new syntax
I dont know much more about res conflicts at acpi level, but acpi 2 has important difference comparing to 1.1b - Integer implemenation. All integers in acpi 2.0 are 64 bit, so we can define QWORD fields and read/write to it from integer variables. In WinXP integers are 32 bit and it support only one "64 bit" QWordMemory instruction and i dont understand how this OS set/read 64 bits fields inside this structure.

 

Page 11

#151 diderius6 Windbg on the Asrock z370 tells always the same:
0: kd> !pcitree
PciFdoExtensionListHead forward pointer is NULL, list is empty
0: kd> !pci
PCI Segment 0 Bus 0
00:0 8086:3e0f.08 Cmd[0006:.mb...] Sts[2090:c....] Intel Host Bridge SubID:1849:3e0f
02:0 8086:3e93.00 Cmd[0007:imb...] Sts[0010:c....] Intel VGA Compatible Controller SubID:1849:3e93
14:0 8086:a2af.00 Cmd[0006:.mb...] Sts[0290:c....] Intel Class:c:3:30 SubID:1849:a2af
14:2 8086:a2b1.00 Cmd[0006:.mb...] Sts[0010:c....] Intel Other Signal Processing Controller SubID:1849:a2b1
16:0 8086:a2ba.00 Cmd[0004:..b...] Sts[0010:c....] Intel Other Communications Controller SubID:1849:a2ba
17:0 8086:a282.00 Cmd[0007:imb...] Sts[02b0:c6...] Intel Class:1:6:1 SubID:1849:a282
1b:0 8086:a2e7.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x1-0x1
1c:0 8086:a290.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x2-0x2
1c:1 8086:a291.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x3-0x3
1c:2 8086:a292.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x4-0x4
1c:4 8086:a294.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x5-0x5
1d:0 8086:a298.f0 Cmd[0007:imb...] Sts[0010:c....] Intel PCI-PCI Bridge 0->0x6-0x6
1f:0 8086:a2c9.00 Cmd[0007:imb...] Sts[0200:.....] Intel ISA Bridge SubID:1849:a2c9
1f:2 8086:a2a1.00 Cmd[0006:.mb...] Sts[0000:.....] Intel Other Memory Controller SubID:1849:a2a1
1f:3 8086:a2f0.00 Cmd[0006:.mb...] Sts[0010:c....] Intel Class:4:3:0 SubID:1849:1221
1f:4 8086:a2a3.00 Cmd[0003:im....] Sts[0280:.....] Intel SMBus Controller SubID:1849:a2a3
1f:6 8086:15b8.00 Cmd[0006:.mb...] Sts[0010:c....] Intel Ethernet Controller SubID:1849:15b8

I think, the total absent of the pci list depends on
Sat Dec 15 21:01:10.421 2018 (UTC + 1:00): ACPI: E820 Entry 0 (type 1) (0-9c400) overlaps
ACPI: PCI Entry 9 Min:10000 Max:1ffff Length:10000 Align:1
#152 diderius6 I just noticed,
that in the Bios mod 1704 for Asus Apex X from Elmor
you cant switch off the pm_timer.
Even in Bios it is set to A5 02 03 00,
the compi always use A5 82 03 00,
so at the moment no clock and no correct working
of Acpi in XP SP3 on Asus Apex X because of crazy not
working pm_timer.
In this case, only the HAL.dll hack for to use always the system clock works,
because in registry the value in FACP A5 02 03 00is always overwritten by Bios with A5 82 03 00,
even you set it to unwritable(!)
Dietmar

PS: I set the pm_timer to 32 bit in Bios. Also not helps. Any flag I can set in Bios from FACP,
only the pm_timer is unstoppable.
#153 Pill Monster
Zitat von ⇗ diderius6 im Beitrag ¶ #152
I just noticed,
that in the Bios mod 1704 for Asus Apex X from Elmor
you cant switch off the pm_timer.
Even in Bios it is set to A5 02 03 00,
the compi always use A5 82 03 00,
so at the moment no clock and no correct working
of Acpi in XP SP3 on Asus Apex X because of crazy not
working pm_timer.
In this case, only the HAL.dll hack for to use always the system clock works,
because in registry the value in FACP A5 02 03 00is always overwritten by Bios with A5 82 03 00,
even you set it to unwritable(!)
Dietmar

PS: I set the pm_timer to 32 bit in Bios. Also not helps. Any flag I can set in Bios from FACP,
only the pm_timer is unstoppable.


Enabling HPET just allows it to be used by OS, it doesn't force the OS to use it.  Use of HPET depends on OS version and boot loader options.

bcdedit /set  useplatformclock yes   Forces the use of the platform clock as the system's performance counter.
 

bcdedit /set disabledynamictick yes Forces the OS to use Dynamic TSC. (Windows 8 and above)...
#154 diderius6 [img][/img]Hi,
I just installed XP SP1 :))
on the Asus Apex X motherboard.
Oh, the timer works there normal!
So, it depends on something in XP SP3
Dietmar
#155 @rne Nice to see progress. That would also be very helpful for all overclockers focusing on budget mainboards without any extra XP compatible bios from vendor
#156 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #154

I just installed XP SP1 :))
So, it depends on something in XP SP3


because sp1 can use TSC or old i8059 i8253 timer only
#157 diderius6 From Wikipedia:
If the ACPI is not set up correctly the OS cannot list the HPET. And the BIOS and OS developers don't see the need to get Real Time support. So the HPET is only there to satisfy the system's high speed needs. If the HPET is set up correctly in the ACPI from BIOS then the ACPI MMIO page of the first HPET chip should be at 0xFED00000 and the second HPET at page 0xFED80000 (see the discussion for further information).

In terms of physical embodiment in Windows XP SP3, the IRQ0 and IRQ8 are typically mapped to a "High Precision Event Timer" when using the ACPI HAL (version 5.1.2600.5512), albeit that the QueryPerformanceFrequency API call returns a value related to the rated processor clock speed (for example, 2.6 GHz) or PMTIMER (3.579545 MHz) rather than the Intel HPET spec'd value of 15 MHz that you would get using Windows Vista.

The ACPI timer is an additional system timer that is required as part of the ACPI specification. This timer is also
known as the power management (PM) timer or the chipset timer. It has a 24-bit counter that increments at
3.579545MHz (three times the PIT frequency).
The timer can be programmed to generate an interrupt when its high-order bit changes value.
There is no counter input register; the counter always rolls over.
That is, when the counter reaches the maximum, 24-bit binary value, it goes back to zero and continues counting from there.

I think, take a look at!

HPET in XP does not exist. In version XP SP >=2 it is the pm_timer,
as you can see in the MHZ values in the Win-timer
Dietmar
#158 diderius6 I found an interesting bit in
the 22 flags in FACP (beginning with rev. 5 of FACP):

HW_REDUCED_ACPI  A one indicates that the ACPI Hardware Interface (chapter 4)
is not implemented. Software-only alternatives are used for
supported fixed-features defined in chapter 4.

5.1.1.1 Runtime Reduced Hardware Support
This feature automatically supports reduced hardware platforms without any code changes. The reduced hardware support is dynamically enabled via the HW_REDUCED_ACPI flag in the revision 5 FADT. If this flag is set, ACPICA will not attempt to initialize or use any of the usual ACPI hardware. Note, when this flag is set, all of the following ACPI hardware is assumed to be not present and is not initialized or accessed:
General Purpose Events (GPEs)
Fixed Events (PM1a/PM1b and PM Control)
Power Management Timer and Console Buttons (power/sleep)
Real-time Clock Alarm
Global Lock
System Control Interrupt (SCI)
The FACS is assumed to be non-existent

So, just a try on the Asrock z370 board, setting this flag to 1
Dietmar
#159 diderius6 Here comes the FACP table from asus Apex X with modded Bios from Elmor ,
extracted direct with iasl.exe.
rw-everything does not show these interesting bits in FLAGS. And write you can nearly nothing.
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20181031 (32-bit version)
* Copyright (c) 2000 - 2018 Intel Corporation
*
* Disassembly of FACP.dat, Tue Dec 18 16:03:00 2018
*
* ACPI Data Table [FACP]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/

[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)]
[004h 0004 4] Table Length : 00000084
[008h 0008 1] Revision : 02
[009h 0009 1] Checksum : EE
[00Ah 0010 6] Oem ID : "ALASKA"
[010h 0016 8] Oem Table ID : "A M I "
[018h 0024 4] Oem Revision : 01072009
[01Ch 0028 4] Asl Compiler ID : "AMI "
[020h 0032 4] Asl Compiler Revision : 00010013

[024h 0036 4] FACS Address : 8EB97EC0
[028h 0040 4] DSDT Address : 8E7701E8
[02Ch 0044 1] Model : 00
[02Dh 0045 1] PM Profile : 01 [Desktop]
[02Eh 0046 2] SCI Interrupt : 0009
[030h 0048 4] SMI Command Port : 000000B2
[034h 0052 1] ACPI Enable Value : A0
[035h 0053 1] ACPI Disable Value : A1
[036h 0054 1] S4BIOS Command : 00
[037h 0055 1] P-State Control : 00
[038h 0056 4] PM1A Event Block Address : 00001800
[03Ch 0060 4] PM1B Event Block Address : 00000000
[040h 0064 4] PM1A Control Block Address : 00001804
[044h 0068 4] PM1B Control Block Address : 00000000
[048h 0072 4] PM2 Control Block Address : 00001850
[04Ch 0076 4] PM Timer Block Address : 00001808
[050h 0080 4] GPE0 Block Address : 00001880
[054h 0084 4] GPE1 Block Address : 00000000
[058h 0088 1] PM1 Event Block Length : 04
[059h 0089 1] PM1 Control Block Length : 02
[05Ah 0090 1] PM2 Control Block Length : 01
[05Bh 0091 1] PM Timer Block Length : 04
[05Ch 0092 1] GPE0 Block Length : 20
[05Dh 0093 1] GPE1 Block Length : 00
[05Eh 0094 1] GPE1 Base Offset : 10
[05Fh 0095 1] _CST Support : 00
[060h 0096 2] C2 Latency : 0065
[062h 0098 2] C3 Latency : 0039
[064h 0100 2] CPU Cache Size : 0400
[066h 0102 2] Cache Flush Stride : 0010
[068h 0104 1] Duty Cycle Offset : 00
[069h 0105 1] Duty Cycle Width : 00
[06Ah 0106 1] RTC Day Alarm Index : 0D
[06Bh 0107 1] RTC Month Alarm Index : 00
[06Ch 0108 1] RTC Century Index : 32
[06Dh 0109 2] Boot Flags (decoded below) : 0012
Legacy Devices Supported (V2) : 0
8042 Present on ports 60/64 (V2) : 1
VGA Not Present (V4) : 0
MSI Not Supported (V4) : 0
PCIe ASPM Not Supported (V4) : 1
CMOS RTC Not Present (V5) : 0
[06Fh 0111 1] Reserved : 00
[070h 0112 4] Flags (decoded below) : 000394A5
WBINVD instruction is operational (V1) : 1
WBINVD flushes all caches (V1) : 0
All CPUs support C1 (V1) : 1
C2 works on MP system (V1) : 0
Control Method Power Button (V1) : 0
Control Method Sleep Button (V1) : 1
RTC wake not in fixed reg space (V1) : 0
RTC can wake system from S4 (V1) : 1
32-bit PM Timer (V1) : 0
Docking Supported (V1) : 0
Reset Register Supported (V2) : 1
Sealed Case (V3) : 0
Headless - No Video (V3) : 1
Use native instr after SLP_TYPx (V3) : 0
PCIEXP_WAK Bits Supported (V4) : 0
Use Platform Timer (V4) : 1
RTC_STS valid on S4 wake (V4) : 1
Remote Power-on capable (V4) : 1
Use APIC Cluster Model (V4) : 0
Use APIC Physical Destination Mode (V4) : 0
Hardware Reduced (V5) : 0
Low Power S0 Idle (V5) : 0

[074h 0116 12] Reset Register : [Generic Address Structure]
[074h 0116 1] Space ID : 01 [SystemIO]
[075h 0117 1] Bit Width : 08
[076h 0118 1] Bit Offset : 00
[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy]
[078h 0120 8] Address : 0000000000000CF9

[080h 0128 1] Value to cause reset : 06
[081h 0129 2] Reserved : 0000
[083h 0131 1] Reserved : 00

Raw Table Data: Length 132 (0x84)

0000: 46 41 43 50 84 00 00 00 02 EE 41 4C 41 53 4B 41 // FACP......ALASKA
0010: 41 20 4D 20 49 20 00 00 09 20 07 01 41 4D 49 20 // A M I ... ..AMI
0020: 13 00 01 00 C0 7E B9 8E E8 01 77 8E 00 01 09 00 // .....~....w.....
0030: B2 00 00 00 A0 A1 00 00 00 18 00 00 00 00 00 00 // ................
0040: 04 18 00 00 00 00 00 00 50 18 00 00 08 18 00 00 // ........P.......
0050: 80 18 00 00 00 00 00 00 04 02 01 04 20 00 10 00 // ............ ...
0060: 65 00 39 00 00 04 10 00 00 00 0D 00 32 12 00 00 // e.9.........2...
0070: A5 94 03 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................
0080: 06 00 00 00 // ....
#160 diderius6 I succeed to set this bit,
but the timer still does not work
Dietmar

/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20181031 (32-bit version)
* Copyright (c) 2000 - 2018 Intel Corporation
*
* Disassembly of FACP.dat, Tue Dec 18 17:06:14 2018
*
* ACPI Data Table [FACP]
*
* Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue
*/

[000h 0000 4] Signature : "FACP" [Fixed ACPI Description Table (FADT)]
[004h 0004 4] Table Length : 00000084
[008h 0008 1] Revision : 02
[009h 0009 1] Checksum : 8C
[00Ah 0010 6] Oem ID : "ALASKA"
[010h 0016 8] Oem Table ID : "A M I "
[018h 0024 4] Oem Revision : 01072009
[01Ch 0028 4] Asl Compiler ID : "AMI "
[020h 0032 4] Asl Compiler Revision : 00010013

[024h 0036 4] FACS Address : 8EB9AEC0
[028h 0040 4] DSDT Address : 8E7731E8
[02Ch 0044 1] Model : 00
[02Dh 0045 1] PM Profile : 01 [Desktop]
[02Eh 0046 2] SCI Interrupt : 0009
[030h 0048 4] SMI Command Port : 000000B2
[034h 0052 1] ACPI Enable Value : A0
[035h 0053 1] ACPI Disable Value : A1
[036h 0054 1] S4BIOS Command : 00
[037h 0055 1] P-State Control : 00
[038h 0056 4] PM1A Event Block Address : 00001800
[03Ch 0060 4] PM1B Event Block Address : 00000000
[040h 0064 4] PM1A Control Block Address : 00001804
[044h 0068 4] PM1B Control Block Address : 00000000
[048h 0072 4] PM2 Control Block Address : 00001850
[04Ch 0076 4] PM Timer Block Address : 00001808
[050h 0080 4] GPE0 Block Address : 00001880
[054h 0084 4] GPE1 Block Address : 00000000
[058h 0088 1] PM1 Event Block Length : 04
[059h 0089 1] PM1 Control Block Length : 02
[05Ah 0090 1] PM2 Control Block Length : 01
[05Bh 0091 1] PM Timer Block Length : 04
[05Ch 0092 1] GPE0 Block Length : 20
[05Dh 0093 1] GPE1 Block Length : 00
[05Eh 0094 1] GPE1 Base Offset : 10
[05Fh 0095 1] _CST Support : 00
[060h 0096 2] C2 Latency : 0065
[062h 0098 2] C3 Latency : 0039
[064h 0100 2] CPU Cache Size : 0400
[066h 0102 2] Cache Flush Stride : 0010
[068h 0104 1] Duty Cycle Offset : 00
[069h 0105 1] Duty Cycle Width : 00
[06Ah 0106 1] RTC Day Alarm Index : 0D
[06Bh 0107 1] RTC Month Alarm Index : 00
[06Ch 0108 1] RTC Century Index : 32
[06Dh 0109 2] Boot Flags (decoded below) : 0012
Legacy Devices Supported (V2) : 0
8042 Present on ports 60/64 (V2) : 1
VGA Not Present (V4) : 0
MSI Not Supported (V4) : 0
PCIe ASPM Not Supported (V4) : 1
CMOS RTC Not Present (V5) : 0
[06Fh 0111 1] Reserved : 00
[070h 0112 4] Flags (decoded below) : 001386A5
WBINVD instruction is operational (V1) : 1
WBINVD flushes all caches (V1) : 0
All CPUs support C1 (V1) : 1
C2 works on MP system (V1) : 0
Control Method Power Button (V1) : 0
Control Method Sleep Button (V1) : 1
RTC wake not in fixed reg space (V1) : 0
RTC can wake system from S4 (V1) : 1
32-bit PM Timer (V1) : 0
Docking Supported (V1) : 1
Reset Register Supported (V2) : 1
Sealed Case (V3) : 0
Headless - No Video (V3) : 0
Use native instr after SLP_TYPx (V3) : 0
PCIEXP_WAK Bits Supported (V4) : 0
Use Platform Timer (V4) : 1
RTC_STS valid on S4 wake (V4) : 1
Remote Power-on capable (V4) : 1
Use APIC Cluster Model (V4) : 0
Use APIC Physical Destination Mode (V4) : 0
Hardware Reduced (V5) : 1
Low Power S0 Idle (V5) : 0

[074h 0116 12] Reset Register : [Generic Address Structure]
[074h 0116 1] Space ID : 01 [SystemIO]
[075h 0117 1] Bit Width : 08
[076h 0118 1] Bit Offset : 00
[077h 0119 1] Encoded Access Width : 00 [Undefined/Legacy]
[078h 0120 8] Address : 0000000000000CF9

[080h 0128 1] Value to cause reset : 06
[081h 0129 2] Reserved : 0000
[083h 0131 1] Reserved : 00

Raw Table Data: Length 132 (0x84)

0000: 46 41 43 50 84 00 00 00 02 8C 41 4C 41 53 4B 41 // FACP......ALASKA
0010: 41 20 4D 20 49 20 00 00 09 20 07 01 41 4D 49 20 // A M I ... ..AMI
0020: 13 00 01 00 C0 AE B9 8E E8 31 77 8E 00 01 09 00 // .........1w.....
0030: B2 00 00 00 A0 A1 00 00 00 18 00 00 00 00 00 00 // ................
0040: 04 18 00 00 00 00 00 00 50 18 00 00 08 18 00 00 // ........P.......
0050: 80 18 00 00 00 00 00 00 04 02 01 04 20 00 10 00 // ............ ...
0060: 65 00 39 00 00 04 10 00 00 00 0D 00 32 12 00 00 // e.9.........2...
0070: A5 86 13 00 01 08 00 00 F9 0C 00 00 00 00 00 00 // ................
0080: 06 00 00 00 // ....
#161 diderius6 Yessa, I succeed to hack hal.dll to use the RTC clock
on XP SP3, now I have full ACPI support on the Asus Apex X board
Dietmar



diderius6 has attached images to this post  ⇗ sp3cool.jpg
#162 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #161
Yessa, I succeed to hack hal.dll to use the RTC clock
on XP SP3, now I have full ACPI support on the Asus Apex X board
Dietmar


can you upload your hal.dll mod for others to try?
#163 diderius6 Hi, I make a try.
I do not know, what Fernando tells about this.
But when my file will be deletet, I can write a short tutorial
how to reach this,
Dietmar



diderius6 has attached files to this post
#164 diderius6 Yessa,
9900k works also
with full Acpi support in XP SP3,
showing and working 16 Threads on
Asus Apex X
Dietmar



diderius6 has attached images to this post  ⇗ 9900kAcpiXPSP3.jpg
#165 XPLives That is good news.  I was going to suggest octacore test since hexacore no problem.

Asus Apex X is a Z370 board?  Can this be back ported to Z170?

Did you force ACPI to use software mode as default?

 

Page 12

#166 diderius6 Hi, I look,
how to enable RTC clock in hal.dll.
The idea for this hack came from Mov AX, 0xDEAD
but there are a lot of different hal.dll on the market.
This one works for the german Version XP SP3 32 bit professional,
yes, the Apex board is z370,
Dietmar

PS: Not easy to port a working Acpi DSDT to another platform.
I have no success with my Asrock k6 board, even I try a lot.
Until now, it works only, when there is a previous version of a board,
which works with Acpi on XP. May be other places have to be changed also, not only DSDT, may be even not in the pure Bios region.
#167 XPLives I successfully tested Haswell Z87 / Broadwell Z97 branch.  No ACPI issues.  Windows 2000, XP, and 2003 have no problems.  This is the final generation before SkyLake started the ACPI issue in XP.  Maybe the key is in Z97 and Z170 differences to fix ACPI for XP.


[16 Month time gap]
Z  97 - May 12, 2014 (XP ACPI compatible)
X  99 -  August 2014 (Should be XP compatible with ACPI) <--- Future test maybe hidden ACPI secret only 1 year+ difference.
Z170 - September 1, 2015 (XP ACPI issues begin)
#168 diderius6 The most common problems for Acpi
are just the use of reserved words from Acpi 2.0.
At github they told, that Bios manufactures start with using
Acpi 2.0 reserved vocabularies from January 2006.
But I also think, that most mainboard (Bios?) manufactures
do not have a look for XP compability now.
So it is a very hard job,
to make anything work for XP
Dietmar

PS: When I look at all the different Bios z97 - z370 from different manufacturers,
I come to the idea, that they use an automated program
for building Bios, because they are all nearly identic.
#169 XPLives I discovered in Z87 and Z97 SATA IDE Compatibility Mode exists in BIOS but I will need to find a method to port this MOD to Z170, Z270, Z370, and Z390 chipsets.  This will make XP SATA installation without the need of AHCI slipstream first method.  Laptops could use this to install XP lacking an optical disc drive requirement.  This will solve the headaches many are experiencing since USB installation on SkyLake+ can be problematic and fail.  Do you have any expertise?
#170 diderius6 I make an XP.iso using nlite,
with ALL the ahci drivers from fernando.
So, this problem is gone for me.
On some boards there is an Asmedia driver for AHCI.
With this driver, IDE is possible.
But before you have to integrate this driver from Asmedia
Dietmar
#171 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #169
This will make XP SATA installation without the need of AHCI slipstream first method.  Laptops could use this to install XP lacking an optical disc drive requirement.  This will solve the headaches many are experiencing since USB installation on SkyLake+ can be problematic and fail

maybe is it time to forget ancient methods and requirements ?
today no need prepare media for installing windows in "MS Way", we have modern&fast equalents to install xp (easy2boot, firadisk, winntsetup, yumi, ...). installing from usb3 disk, installing on ahci controller - no problem
#172 Mov AX, 0xDEAD Moved to ¶ Windows XP 32-Bit and Server 2003 32-Bit on Modern Hardware #4

There many unresolved problems running Windows XP x32 on sky/kaby/coffee lake hardware
my own list:
- ACPI BSOD:
.......... 0xA5 (0x03, X, 0xС0140001, Z) ACPI 2.0 syntax, 99% solved (custom acpi.sys), 1% - "QWordAcc" still 32bit only
.......... 0xA5 (0x02, X ,Y ,Z) error in ACPIRangeValidatePciResources, PCI vs E820 list conflict, solved (custom acpi.sys)
.......... 0xA5 (0x11, 0x08 ,Y ,Z) error in ACPIInitializeDDB, solved (custom acpi.sys)
.......... other possible BSODs, unresolved
- all integers in original ACPI 1.0 XP are 32 bits, ACPI 2.0 requires all ints to be 64 bits, unresolved. Acpi.sys from Longhorn v.5048 has 64 bit integers and compatible win Winxp
- Broken acpi pm_timer, solved (custom hal.dll, forced to use TSC counter) or enable hidden bios option "TCO Timer"
- Acpi tables patcher at boot time like Chameleon/Clover, solved,( ⇗ http://reboot.pro/topic/22051-acpi-patcher-at-boot-time)
- CPU in C0 power state 50-60% of time even without cpu load, solved (custom intelppm.sys, 1) only C1 c-state or 2) C1/С7s/C10 c-states)
- USB 3.x drivers for integrated intel chipsets, solved (patched AMD USB3 driver)
- Resource manager show conflict VGA card with ACPI IOTR/IOTraps device, solved 1) manual patching dsdt or 2) custom acpi.sys
- UEFI x64 Boot, partial solved for WinXP x64 only (bootmgr from vista beta+vesa vga driver)
- NVMExpress drivers, partial solved (modified OFA 1.3/1.5 driver+storport.sys from windows 2003)
- Access to additional 3TB+ Disks/GPT partitions, solved (Paragon GPT Loader)
- Boot from GPT partitions, unresolved (require uefi boot support first)
- TRIM support in NTFS/Storport/??? driver unresolved
- Kernel debug with WinDBG/KD over LAN/USB3.0 connection solved, (⇗ https://github.com/MovAX0xDEAD/KDNET)
#173 diderius6 "ACPI BSODs not related with acpi.2.0 syntax solved, using custom acpi.sys"
hihi;)..

may be because of some strange reasons XP thinks,
the Bios is from earlier than 1999,
Dietmar
#174 XPLives Yes for desktop there is Asmedia but laptops typically have only one Intel SATA controller now so this will allow more users to install XP with only the Intel SATA port.  Also because the Intel SATA in IDE Compatibility allows swapping of the drive from one machine to another.  You cannot do this with different SATA AHCI setups.  So once you've installed XP in IDE mode or SATA IDE mode you can move the installed XP OS to another machine which can be Z170, Z270, Z370, or Z390 and it will boot.  No need to reinstall from scratch.

In addition Windows 2000 works and install this way much easier.

This is why it is needed for both laptops and desktops.

The code is in the BIOS but I need someone to help copy this from Z97 to Z170 BIOS for testing.
#175 XPLives ⇗ @Mov AX, 0xDEAD

Sometimes the ancient method works the best.

Intel xHCI USB 3.0 does not support XP.  Many laptops do not have an optical disc drive or only a single SATA port and some only have 1 USB port such as tablets or maybe no USB ports or defective/bad USB ports.

Adding the SATA IDE Compatibility mode to the BIOS would allow them to install directly off their own internal storage drive and not need to use a USB port.

Any older OS that predates SATA might also install successfully using this method.

Windows 2000 can be easily installed aside from XP and 2003 in this manner.  No more iaStor.sys is corrupted.

These USB methods have issues on some desktops/laptops and is not 100% guaranteed either which causes the chicken or the egg issue if they cannot install XP whereas SATA IDE Compatibility mode allows them to install 2K, XP, or 2003 in DOS before updating to the SATA AHCI driver post install via Device Manager / registry update.  No optical or USB storage device will be necessary.  Avoids the Intel USB 3.0 xHCI compatibility issue with certain XP boot devices failing to install to completion.  Also unnecessary to waste a USB stick solely for installing the OS when it can be installed in DOS on the same storage drive if prepartitioned properly.

Installing from internal SATA SSD in DOS is many times faster than from any USB flash drive which can fail or have multiple steps which may cause user confusion/errors during the install process.  No need to use nLite or slipstream the correct Hardware ID before hand.  The USB install might also occupy the C: or Partition 1 during destination selection.

Guarantees the ability to move an existing Windows 2000, XP, and 2003 install from one machine to another without reinstalling from scratch in SATA AHCI Mode to use.  I can swap an XP install from Pentium 1 to Z97 and works.

⇗ https://www.winhistory.de/more/386/xpmini.htm.en

No more BSOD 7B installation headaches since the BIOS will support both methods of booting XP.  One could then use only 1 installed copy of XP to move among Z68-Z390 machines at will not restricted.  This means installing 2000, XP, and 2003 onto one drive and storing all the OS files on the same drive and not ever needing 3 USB sticks or 3 separate CDs to deal with.

Using an XP NO ACPI install would method would then work on all systems regardless of ACPI issues.

Current XP ACPI fixes in Z170+ BIOSes still requires more technical experience to solve than a typical user will want to deal with.

End goal is more XP installs as a result of the simplification of the install process means more users interested in 2000, XP, and 2003 and older pre-SATA OS means more users visiting this site and further progression or interest in help tackling the ACPI issue.  One day Intel USB 4.0 will arrive and the same USB installers will fail or the authors of these USB installers no longer care about XP.  Most of these USB installer tools don't even work inside XP anymore and require Windows 7+ to create the USB install image.  This BIOS Mod will work as a future safeguard/buffer while it is still possible and much more easily accomplished.
#176 diderius6 I also think,
that XP install direct via CD is best
Dietmar
#177 diderius6 I just noticed,
that the english version (for multiprocessor acpi)
of hal.dll and the german hal.dll in XP SP3 32 bit
are identic. Because of this,
my hack hal.dll works on any XP SP3,
just install XP, after this rename hal.dll in WINDOWS\System32 to halori.dll
and copy my hal.dll there,
now timer works correct,
Dietmar
#178 XPLives Yes Dietmar only because it's more reliable and not dependent on the USB and cannot die unless SATA dies first.  USB can change to 4.0, 5.0, and break compatibility again which will happen in the future.

I am working on a pure DOS install method for XP to avoid USB devices entirely and no optical disc drive needed just 98SE DOS and XP folder copied to the drive.  But I am trying to find a way to create a native AHCI SATA detection similar to IDE mode but many attempts failed.  But if I succeed then no more need to slipstream SATA as XP will autodetect SATA controller.

I think I need some program to read the SATA Controller Hardware ID and pass this and rewrite the hive so that when XP OS on SSD/HDD moved into a new system it will scan and alter the "registry" to change only the Hardware ID bits then it will load the OS with no problem.  I don't have any registry hacking experience to do this but I have compared the Registry before Floppy installed slipstreamed SATA AHCI driver and after during the setup phase so I can do comparison of what bytes need to be changed.  If you know of a program that can read the SATA Hardware ID each time and change these bits in the Registry it might be possible to make XP work on all SATA systems even during the install.
#179 diderius6 Hi,
much more easy is to build an XP.iso
using nlite 1.4.9.3 and add ALL ahci drivers
from Fernando.
I load it up here,
just integrate those drivers with nlite and build iso with nlite,
thats all
Dietmar



diderius6 has attached files to this post
#180 XPLives That will only work for "known" SATA controllers but we need one that can work with even future unknown without modifying.  Vista uses one that detects for all AHCI even unknown ones so can be moved to a different system.  IDE does the same with the newer SATA controllers using IDE compatibility mode past 2001.  I just need a tool to read this in DOS and inside preload of XP once installed to overwrite registry bits of the SATA Hardware ID location.  It will do it at each boot up so it will always check and use the current one connected so as long as SATA is supported into the future this should work even when both of us are long gone.  But your idea I have tested with a few chipsets inserted before but only can work for the XP installing phase but not after post SATA AHCI install you cannot move the XP install after installation to another chipset with SATA AHCI and boot.  7B will result each time.

 

Page 13

#181 diderius6 May be,
all AHCI drivers are the same.
In this case, make try with generic number for AHCI in TXTSETUP.OEM
[HardwareIds.SCSI.iaAHCI] 
id = "PCI\CC_010601","iaStor"

Dietmar
TXTSETUP.OEM 

[Disks]
disk0 = "AHCI Installation Disk", \iaAHCI.inf, \

[Defaults]
SCSI = iaStor

[SCSI]
iaStor = "AHCI Installation Disk", iaStor

[Files.SCSI.iaAHCI]
inf = disk0, iaAHCI.inf
driver = disk0, iaStor.sys, iaStor


[HardwareIds.SCSI.iaAHCI]
id = "PCI\CC_010601","iaStor"


[Config.iaStor]
value = "", tag, REG_DWORD, 1b
value = "", ErrorControl, REG_DWORD, 1
value = "", Group, REG_SZ, "SCSI Miniport"
value = "", Start, REG_DWORD, 0
value = "", Type, REG_DWORD, 1

and add PCI\CC_010601 to iaAHCI.inf,
test, if you can delete all the other entries for example PCI\VEN_8086&DEV_A282&CC_0106

I am not sure about all syntax in TXTSETUP.OEM and *.inf
because of this some handwork is needed.
#182 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #175
One day Intel USB 4.0 will arrive and the same USB installers will fail or the authors of these USB installers no longer care about XP.Most of these USB installer tools don't even work inside XP anymore and require Windows 7+ to create the USB install image

maybe is it time to check how work these installers ? they will still work with usb 4 and usb 5 too and still installing xp.

Zitat von ⇗ XPLives im Beitrag ¶ #175
https://www.win-raid.com/t4092f45-Guide-How-to-install-Windows-XP-OS-on-Modern-Hardware.html

#1 -- Internal SATA optical disc drive - CD, DVD, or Blu-ray
#2 -- CD-RW disc for nLite slipstreaming of the SATA AHCI driver into your XP burned install disc
#4 -- Desktop motherboard with a rear PS/2 physical port
#5 -- PS/2 keyboard

you are crazy, for installing window xp need nothing of these, why people buy that ?

p.s. want ide compatibilty bios mod on ahci-only hardware (skylake+)? good luck )
#183 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #181
May be,
all AHCI drivers are the same.
In this case, make try with generic number for AHCI in TXTSETUP.OEM

[HardwareIds.SCSI.iaAHCI]
id = "PCI\CC_010601","iaStor"


pci\cc_010601(or pci\cc_0106) should work as uni solution, but probably only for intel chipsets because iastor.sys
#184 XPLives ⇗ @Mov AX, 0xDEAD

These optical drives have more uses than you can imagine.  They buy it so they can play and rip their Blu-ray movies in XP.  Not just for installing the OS.

Can be used to install any older OS the proper way not just XP, Vista, Windows 7, Windows 10 on pre USB systems with SATA only or IDE interface.

PS/2 keyboard - because it works on all Operating Systems and that is all you need to install every OS.  You can even use a PS/2 to USB Keyboard adapter which works the same.

In my case I use a 5 Pin DIN to PS/2 to PS/2 port adapter with an old IBM AT keyboard.  It doesn't matter if it is 5 PIN DIN or USB as long as it is connected to the PS/2 port.

No need to deal with USB ports not working with the USB mouse properly.  This is especially true with using Windows 98 when the cursor cannot be controlled.

These tools should be needed for any user who is new to XP to complete it.   It's more straightforward and if you can't afford these tools then maybe you should create your own thread page to help assist for a pure USB XP install method that you believe in so much.  Write up the best installer program and version#, download link to that program that works inside Windows 98SE or 2000 and can create a USB XP installer from scratch to any USB device.

From what I have seen and tested most only work in Windows 7 or Windows 10 to use this program.  The older XP versions might corrupt the USB flash drive in my own tests as I lost a 4GB flash drive that cannot be restored or worse accidentally corrupt another USB external drive that is still connected in my case a 2TB external USB drive.  So if you can guarantee a fool proof USB XP Installer program that can work inside Windows 2000, XP, and 2003 and not need Vista, Windows 7, or 8.X, or 10 to generate the full USB XP OS installer I want you to write it up in a new thread with all the details so you can take credit for it.  That way if any problems you can answer how to fix it since you have more experience dealing with USB installers than most of us.  I found many problems which I listed above so this will be helpful if your statement is that strong on this you should create it.


Other USB problems:
How would you install XP onto a laptop missing USB ports or all defective?

How would you install XP on a SkyLake, Kaby Lake, or Coffee Lake Laptop or tablet with just 1 USB port that does NOT have USB 2.0 ports but only Intel USB 3.0 ports?



SATA IDE Compatibility mode:
Z87 and Z97 support this SATA IDE Compatibility mode.  This is not the IDE 40 Pin controller on the motherboard.  You are using SATA only ports and SATA storage devices.
I hope you understand this and if you do if you are saying it is not possible to transfer and copy the BIOS storage module from one generation over to Z170 BIOS to do a test then explain why it would not work or why not even try to see what happens?  I can do the testing since I have two BIOS sockets to attempt any BIOS testing or if you can show how to transfer the Storage Module from one chipset to another I will attempt the testing.

Is it more than just the code that has been removed in SkyLake+?

Why does this still work on Z87 and Z97 and not in Z170 if you understand it well enough to explain in more detail than good luck response which isn't helpful?
#185 XPLives Dietmar,
I have tried that method (cc_010601) in an earlier test a few weeks ago it does not work before I stopped because it is a "Compatible IDs".

Mov AX, 0xDEAD
( pci\cc_0106) should work as uni solution, but probably only for intel chipsets because iastor.sys

This method ( pci\cc_0106) I also tried this a few weeks ago before stopping the tests to emulate how Vista method works but also failed.
The reason is CC_0106 is not visible to XP because it is a "Compatible IDs" and the driver only sees "Hardware IDs" in XP during boot.
Since Hardware IDs are not common among all the Intel SATA Controllers you cannot do a global detection.
That is why Vista can do it natively since CC_106 exists on all Intel SATA controllers and Vista+ is programmed to accept "Compatible IDs" not just "Hardware IDs".  If there is a way to brute force XP code to accept "Compatible IDs" for Boot storage device than this will work for all Intel SATA and can be made for all AMD SATA as well.
#186 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #184
@Mov AX, 0xDEAD
Is it more than just the code that has been removed in SkyLake+?

Why does this still work on Z87 and Z97 and not in Z170 if you understand it well enough to explain in more detail than good luck response which isn't helpful?


Intel's PCH specification on 100+ series chipsets:
The PCH SATA controller support two modes of operation, AHCI mode using memory
space and RAID mode. The PCH SATA controller no longer supports IDE legacy mode
using I/O space. Therefore, AHCI software is required.



IviBridge/SandyBridge/etc:
Standard ATA Emulation
The PCH contains a set of registers that shadow the contents of the legacy IDE
registers. The behavior of the Command and Control Block registers, PIO, and DMA
data transfers, resets, and interrupts are all emulated.
#187 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #185

This method ( pci\cc_0106) I also tried this a few weeks ago before stopping the tests to emulate how Vista method works but also failed.
The reason is CC_0106 is not visible to XP because it is a "Compatible IDs" and the driver only sees "Hardware IDs" in XP during boot.
Since Hardware IDs are not common among all the Intel SATA Controllers you cannot do a global detection.
That is why Vista can do it natively since CC_106 exists on all Intel SATA controllers and Vista+ is programmed to accept "Compatible IDs" not just "Hardware IDs".  If there is a way to brute force XP code to accept "Compatible IDs" for Boot storage device than this will work for all Intel SATA and can be made for all AMD SATA as well.

one of compatible id for intel works in xp without any hacks, my setup in TXTSETUP.SIF (windows xp sp1 32 bit):
[HardwareIdsDatabase]
PCI\VEN_8086&CC_0104 = "IaStor"
PCI\VEN_8086&CC_0106 = "IaStor"
tested on ivybridge and skylake, all works well, setup phase see all disks
#188 diderius6 I noticed,
when you set in Bios, Acpi FACP table flag
HARDWARE_REDUCED_ACPI to 1 (enable)

Win 10 64 bit cries on next start: Problems with Acpi..

So this simple means, Win 10 is more prickly
with Acpi than XP, brrr..
Dietmar

Edit: When I set back this flag to 0,
all is ok and Win 10 starts normal with the modded Bios
from Elmor. So I have XP 32 bit with full Acpi (16 threads), sound, USB 3.1 via Asmedia, booting from Samsung 970 pro nvme.
And Win 10 64 bit on the same compi with 9900k cpu.
3d mark 2001 is more than 25 % faster on XP than on win10^^.
Prime95 shows on XP with 16 threads after 20 min 54 degrees max Temperature
and on Win10  55 degrees. Hm, for what I need win10?!
#189 XPLives ⇗ @Mov AX, 0xDEAD
Where are you placing your TXTSETUP.SIF?  Are you using this only for new XP setup?

I have a similar one for installing Z68, Z170, Z370.  This only could be used for installing XP onto one machine but not migrate.

After XP is installed in SATA AHCI on SkyLake you then move the hard drive / SSD to the Ivy Bridge computer and try booting in SATA AHCI mode it should do BSOD 7B or a Reboot Loop.

Try testing that and you will find it does not do universal SATA AHCI detection moving the drive with XP already installed one one system with a different chipset.

That is why IDE or SATA IDE Mode will work between multiple chipsets without a problem.
#190 XPLives Dietmar, Hmmm... I wonder if Windows 10's newer updates causing it?  Try installing the first Windows 10 release?
Anniversary and later versions known to break compatibility with older programs.  Spectre and Meltdown patch also.
My SkyLake worked with Windows 10 Anniversary Edition with ACPI, with XP - NO ACPI, Vista, and Windows 7 with ACPI.
#191 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #189
This only could be used for installing XP onto one machine but not migrate.
After XP is installed in SATA AHCI on SkyLake you then move the hard drive / SSD to the Ivy Bridge computer and try booting in SATA AHCI mode it should do BSOD 7B or a Reboot Loop.


why you need install first on skylake and then copy on ivy ? why not install on ivy natively ?
there are too many diff chipsets (non-intel including), where os will get bsod
#192 Mov AX, 0xDEAD
Zitat von ⇗ XPLives im Beitrag ¶ #189
@Mov AX, 0xDEAD
Where are you placing your TXTSETUP.SIF?  Are you using this only for new XP setup?


for texmode setup phase
for gui phase need usual *.inf
#193 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #188

3d mark 2001 is more than 25 % faster on XP than on win10^^.


try post 2001 games, more fps in vista+, starcraft 2, dishonored...
#194 diderius6 ⇗ @Mov AX, 0xDEAD

"boot acpi table patcher like chameleon&clover"

I heard some times ago about a tool for XP,
for to test Acpi compability for new Bios.
This would be really nice, to have a test tool for Acpi compability XP,
like Qemu,
Dietmar

PS: Interesting would be, if DSDT alone makes or destroys Acpi compability in XP.
I come to the idea, because I found in DSDT for the Apex IX board an extra entry,
when I compare it with the nearly identic DSDT table for the Asrock k6 board.


Apex IX

            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
{
Local0 = GPCL ()
If ((OSYS >= 0x07D9))
{
CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
PBMX = ((Local0 >> 0x14) - 0x02)
CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
PBLN = ((Local0 >> 0x14) - One)
}
Else
{
CreateWordField (XBUF, \_SB.PCI0._Y01._MAX, PBM2) // _MAX: Maximum Base Address
PBM2 = ((Local0 >> 0x14) - 0x02)
CreateWordField (XBUF, \_SB.PCI0._Y01._LEN, PBL2) // _LEN: Length
PBL2 = ((Local0 >> 0x14) - One)
}


Asrock k6
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
{
Local0 = GPCL ()
CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
PBMX = ((Local0 >> 0x14) - 0x02)
CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
PBLN = ((Local0 >> 0x14) - One)
#195 diderius6 I tried to generate an XP friendly DSDT table,
with the disassembler command from a version of iasl from 2012.

iasl -2 -d 320.raw

But then I get a strange message

"Could not parse ACPI tables, AE_ALREADY_EXISTS"

This looks, if there is the belonging *.dsl file,
but it isnt
Dietmar

 

Page 14

#196 diderius6 Boottime is 5 sec
for XP SP3 on Asus Apex X
have a nice day
Dietmar

PS: I install XP direct from CD to the nvme disk:))!



diderius6 has attached images to this post  ⇗ XPSP3Acpiboot970pro.jpg
#197 Mov AX, 0xDEAD
Zitat
CPU in C0 power state 50-60% of time even without cpu load, unresolved


I think because cpu0cst acpi table declare only MWAIT way to halt processor, old HLT doesnt work
If i disable mwait cpu's support in bios, even win7 cannot enter c1+ states

#198 diderius6 Interesting would be also,
if it is possible to build an generic DSDT table for XP SP3,
with minimal entries,
Dietmar
#199 Mov AX, 0xDEAD i've played with win8 and power states:
cpu C1 - works
acpi C2 - broken
acpi C3 - broken
cpu MWAIT - works (enter only C7s and C10)

seems _CST/_OSC/xxx tables contain only mwait correct states, remains are broken.

p.s. very simple implementation of mwait in Haiku OS:

 
int dummy;
monitor(&dummy, 0, 0);
mwait(sCStates[state].fCode | subState, MWAIT_INTERRUPTS_BREAK);


where "state" is selected from C1 to C10

#200 Mov AX, 0xDEAD
Zitat
CPU in C0 power state 50-60% of time even without cpu load, unresolved


Resolved, now C0 is about zero
Solution: forced to use C1 idle state only, need custom intelppm.sys

#201 diderius6 ⇗ @Mov AX, 0xDEAD

I read from Acpi specification,
that only C0 and C1 have to be implemented.
Have you tried to change energy-options in XP and look what happens?
Some time ago I hear, that when you chose there "laptop",
that XP installed less devices via Acpi.

Still I am looking for a minimal DSDT for XP.
Is it enough, to change all Acpi tables from one XP-Acpi friendly bios Bios to another Acpi unfriendly Bios?
The most important question for the beginning is, where stays all the information about numerating
and setting the PCI devices, that are called via acpi. And what is the minimal list for those Acpi-pci devices.
Will this work? May be yes, because without any Acpi this tables are ignored.

Dietmar

PS: Here are the installations files for nvme.
Integrate them in XP installations CD via nlite.
After txt setup you have to copy storport.sys to windows\system32\drivers,
because you will see BSOD 0x7B, because XP does not copy this file for strange reasons during
install.
Until now, I do not see anyone, who succeed with this in XP SP3 32 bit, only me.
But it works!
You also can install them via *.inf on running XP, dont forget to copy storport.sys to windows\system32\drivers
and at once you will see your nvme disk, no matter what brand.



diderius6 has attached files to this post
#202 diderius6 Hi,
I just noticed, that acpi.sys in XP posready 2009
is 5.2.3790.1830, which means win2003 version.
There are big differences between XP and win2003 in Acpi,
for example win2003 does not look at the registry for the Acpi tables
but XP does
Dietmar

EDIT: Install of XP posready 2009 on the Asrock k6 board gives
the same BSOD 0xA5 on the modded Bios, like real XP SP3.
So, something is not ok with the Acpi tables in settings PCI resources
in my modded DSDT table.
#203 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #201
@Mov AX, 0xDEAD
I read from Acpi specification,
that only C0 and C1 have to be implemented.
Have you tried to change energy-options in XP and look what happens?
Some time ago I hear, that when you chose there "laptop", that XP installed less devices via Acpi.


C2&C3 also implemented
c1 is two cpu instructions "sti then halt", с2, с3 is external acpi controlled logic.
energy options affect speedshift/c1e, so cpu will down clock or not, i dont see any other changes

p.s. again, we have broken acpi hardware/bios support in skylake+
#204 Mov AX, 0xDEAD i've played with 2nd variant, cpu and package enter more deeper states then c1:
C1->C1
broken acpi C2->mwait C7s
broken acpi C3->mwait C10

Now power states transitions look like win7+ )
#205 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #202
Hi,
I just noticed, that acpi.sys in XP posready 2009
is 5.2.3790.1830, which means win2003 version.
There are big differences between XP and win2003 in Acpi,
for example win2003 does not look at the registry for the Acpi tables
but XP does


it is still acpi 1.1b implemenation and 32 bit integers, no big diff for me
#206 diderius6 I just noticed,
that the driver on the posready 2009 CD acpi.sys is 5.2.3790.1830 which is really different
but after install it shows, that it is changed to 100% to the acpi.sys driver from XP SP3 5.1.2600.5512
Dietmar
#207 diderius6 Hi,
I extracted all 23 (!) Acpi tables via rw-everything from the XP-friendly Bios
from Elmor from the Asus Apex X motherboard.
The same I will do for the Acpi tables from the asrock fatal1ty z370 gaming k6 board.
First then I make a short compare with each other.
After this I replace one by one of the tables from the Apex board to the Bios of the Asrock
via Uefi tool.
Dont know, if this has a chance to work for XP Acpi on the Asrock board,
Dietmar
#208 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #207
Hi,
I extracted all 23 (!) Acpi tables via rw-everything from the XP-friendly Bios
from Elmor from the Asus Apex X motherboard.

I saw this bios, it is unusual, for diff OSes it create diff resource templates (XBUF vs BUF0) and rename fields, for winxp it select template without QWORDmemory region
#209 Mov AX, 0xDEAD Dietmar, can you check c-states statistics on your cpu/mb combination ?

p.s. i only know "throttlestop utility" to display such info
#210 diderius6 I think, the change of all the Acpi tables on the Asrock board
is not a good idea. 23 tables for Asus Apex and 26 tables for Asrock.
Because there is no flash back, you can desolder the chip,
when something goes wrong.
Desoldering would be not a problem,
I have this Bios chip here in fresh.
But I do not succeed to make an backup from all content of this Bios chip from Asrock
Dietmar

PS: I try "throttlestop utility" on the Apex X xp-friendly board.

 

Page 15

#211 diderius6 I do not find a working version of throttlestop for 9900k under XP.
The last version 8.4.8.0, which works for XP, shows: cpu not supported
Dietmar

EDIT: I found vers. 8.505.
The exe file I copied to folder of version 8.7
and voila, works:)).



diderius6 has attached images to this post  ⇗ throttle1.jpg  ⇗ throttle2.jpg
#212 diderius6 I try a new way:)).
The error message from Windbg told,
that there is a ressource conflict between
PCI list via Acpi (somewhere in CRS_) and the list in Bios (without any acpi?) E820.
Small hack in acpi.sys using Ida pro looking for the string "ACPIRangeValidatePciResources"
and when it is not a real conflict, then this is all
Dietmar
#213 diderius6 E820 from Apex board
Range       Address             Length          Type
0 0000000000000000 000000000009C400 1:Available
1 000000000009C400 0000000000003C00 2:Reserved
2 00000000000E0000 0000000000020000 2:Reserved
3 0000000000100000 000000008004E000 1:Available
4 000000008014E000 0000000000001000 4:ACPI NVS
5 000000008014F000 0000000000001000 2:Reserved
6 0000000080150000 000000000CCF8000 1:Available
7 000000008CE48000 00000000018EA000 2:Reserved
8 000000008E732000 0000000000043000 3:ACPI Reclaim
9 000000008E775000 00000000003F2000 4:ACPI NVS
10 000000008EB67000 0000000000C3B000 2:Reserved
11 000000008F7A2000 000000000005E000 1:Available
12 0000000100000000 000000076F000000 1:Available
13 000000008F800000 0000000000800000 2:Reserved
14 00000000E0000000 0000000010000000 2:Reserved
15 00000000FE000000 0000000000011000 2:Reserved
16 00000000FEC00000 0000000000001000 2:Reserved
17 00000000FED00000 0000000000001000 2:Reserved
18 00000000FEE00000 0000000000001000 2:Reserved
19 00000000FF000000 0000000001000000 2:Reserved

E820 from the asrock board
 Range       Address             Length          Type
0 0000000000000000 000000000009C400 1:Available
1 000000000009C400 0000000000003C00 2:Reserved
2 00000000000E0000 0000000000020000 2:Reserved
3 0000000000100000 0000000076873000 1:Available
4 0000000076973000 0000000000001000 4:ACPI NVS
5 0000000076974000 0000000000001000 2:Reserved
6 0000000076975000 0000000005AEF000 1:Available
7 000000007C464000 0000000001A1A000 2:Reserved
8 000000007DE7E000 0000000000132000 1:Available
9 000000007DFB0000 00000000003D5000 4:ACPI NVS
10 000000007E385000 0000000000C79000 2:Reserved
11 000000007EFFE000 0000000000001000 1:Available
12 0000000100000000 000000076F000000 1:Available
13 000000007EFFF000 0000000011001000 2:Reserved
14 00000000E0000000 0000000010000000 2:Reserved
15 00000000FE000000 0000000000011000 2:Reserved
16 00000000FEC00000 0000000000001000 2:Reserved
17 00000000FED00000 0000000000001000 2:Reserved
18 00000000FEE00000 0000000000001000 2:Reserved
19 00000000FF000000 0000000001000000 2:Reserved

Error on Asrock board at 89a839d0, The ACPI Extension for the PCI bus, Pointer to E820 list

Fatal System Error: 0x000000a5
(0x00000002,0x89A839D0,0xE134F008,0x898ADCA8)
#214 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #211
I do not find a working version of throttlestop for 9900k under XP.
and voila, works:)).


"works by default"
very interesting why on gigabyte h110 acpi c2&c3 is broken in any OS
#215 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #212

Small hack in acpi.sys using Ida pro looking for the string "ACPIRangeValidatePciResources"
and when it is not a real conflict, then this is all

yes , it is possible, but better to step debug all ACPIRangeValidatePciResources, proc in not big
hint: probably cmp al,1 - compare by resource type,  2 - irq 3 - mem 1 - i/o port

E820 is just list of mem regions free/reserved, i dont understand how this list linked to pci mem resources or acpi mem resources
e820 reported by bios int15 to windows loader
acpi mem resources reported by enumeratung all devices in acpi code and call "_crs"  to each
pci mem resources reported by enumerating all devices on pci bus (but only if driver loaded and device enabled i think)
#216 diderius6 I think, if a region in the list of e820 is marked as reserved
and Acpi wants to put a pci device there,
exact this crash 0xA5, 0x02,.. happens,
typedef struct _ACPI_BIOS_MULTI_NODE {
PHYSICAL_ADDRESS RsdtAddress; // 64-bit physical address of RSDT
ULONGLONG Count;
ACPI_E820_ENTRY E820Entry[1];
} ACPI_BIOS_MULTI_NODE, *PACPI_BIOS_MULTI_NODE;

Dietmar

PS: Is it possible to edit the e820 list by hand?

EDIT: It seems, that acpi.sys from XP SP3 only looks for
RSDT, DSDT, FADT, FACS tables.

EDIT2: I found, that the e820 table in win7 is a little bit different from that in XP.
#217 diderius6 The only difference in the allocation of memory via _crs
between the Apex and the Asrock Bios is,
that on the Apex board the declaration for high memory (64 bit) is missed for OSYS <0x07D9
(XP, Vista)
                QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000010000, // Range Minimum
0x000000000001FFFF, // Range Maximum
0x0000000000000000, // Translation Offset
0x0000000000010000, // Length
#218 diderius6 Hm, may be this is important:
Via this way I think, XP comes in contact with the reserved word CreateQWordField,
because the if else construction is not correct in the Bios from Gigabyte and Asrock,
only on Apex board:
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
{
Local0 = GPCL ()
CreateWordField (BUF0, \_SB.PCI0._Y00._MAX, PBMX) // _MAX: Maximum Base Address
PBMX = ((Local0 >> 0x14) - 0x02)
CreateWordField (BUF0, \_SB.PCI0._Y00._LEN, PBLN) // _LEN: Length
PBLN = ((Local0 >> 0x14) - One)
If ((OSYS >= 0x07D6))
{
If ((M64L == Zero))
{
CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
MSLN = Zero
}
Else
{
CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN) // _LEN: Length
CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN) // _MIN: Minimum Base Address
CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX) // _MAX: Maximum Base Address
M2LN = M64L /* External reference */
M2MN = M64B /* External reference */
M2MX = ((M2MN + M2LN) - One)
}
}

Return (BUF0) /* \_SB_.PCI0.BUF0 */
}
#219 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #216
PS: Is it possible to edit the e820 list by hand?


no, list generated by int15h handler in 16bit asm code
but you can compare parsing result in xp and vista+ acpi.sys (ACPIRangeValidatePciResources)
seems in xp very strict checking
#220 diderius6 May be I found the reason, why they introduce xbuf on the Apex board:
The word QWordMemory is a reserved word.
And it stands in buf0 but not in xbuf
so XP can meet it on 64 bit Bios
Dietmar
#221 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #218
Hm, may be this is important:
Via this way I think, XP comes in contact with the reserved word CreateQWordField,
because the if else construction is not correct in the Bios from Gigabyte and Asrock,
only on Apex board:
 
                    If ((OSYS >= 0x07D6))
{
If ((M64L == Zero))
{
CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
MSLN = Zero


maybe this is problem too, on ivy this part is right:
 
 If (((MM64 == Zero) || (OSYS <= 0x07D3)))
{
CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN) // _LEN: Length
MSLN = Zero
}


M64L/MM64 is field meaning 64-bit OS or 64 access
|| - logical OR
so on ivy _Y0F under xp is still qword template, but we create only DWORD field

on skylake+ under xp acpi skip declaring lengh of resource because "If ((OSYS >= 0x07D6))" skipped

#222 Mov AX, 0xDEAD _yof is empty resource, even on win7 64, so lengh is always zero and this is not source of problem:
#223 diderius6 Hi,
I found with Ida pro and the acpi.pdb original file for my acpi.sys
ACPIRangeValidatePciResources(x,x)    .text 0001DF92 0000013A R . . . B T . 


.text:0001DF92 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
.text:0001DF92
.text:0001DF92 ; Attributes: bp-based frame
.text:0001DF92
.text:0001DF92 ; int __stdcall ACPIRangeValidatePciResources(int,ULONG_PTR BugCheckParameter2,int)
.text:0001DF92 _ACPIRangeValidatePciResources@8 proc near
.text:0001DF92 ; CODE XREF: ACPIBusIrpQueryResources(x,x)+10D p
.text:0001DF92 ; ACPIBusIrpQueryResourceRequirements(x,x)+10B p ...
.text:0001DF92
.text:0001DF92 var_18 = dword ptr -18h
.text:0001DF92 BugCheckParameter4= dword ptr -14h
.text:0001DF92 var_10 = dword ptr -10h
.text:0001DF92 var_C = dword ptr -0Ch
.text:0001DF92 var_8 = dword ptr -8
.text:0001DF92 var_1 = byte ptr -1
.text:0001DF92 BugCheckParameter2= dword ptr 8
.text:0001DF92 arg_8 = dword ptr 0Ch
.text:0001DF92
.text:0001DF92 mov edi, edi
.text:0001DF94 push ebp
.text:0001DF95 mov ebp, esp
.text:0001DF97 sub esp, 18h
.text:0001DF9A push ebx
.text:0001DF9B mov ebx, [ebp+arg_8]
.text:0001DF9E push esi
.text:0001DF9F xor esi, esi
.text:0001DFA1 cmp ebx, esi
.text:0001DFA3 mov [ebp+var_8], esi
.text:0001DFA6 jnz short loc_1DFB0
.text:0001DFA8 push esi
.text:0001DFA9 push 2
.text:0001DFAB jmp loc_1E0AB
.text:0001DFB0 ; ---------------------------------------------------------------------------
.text:0001DFB0
.text:0001DFB0 loc_1DFB0: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+14 j
.text:0001DFB0 lea eax, [ebp+var_18]
.text:0001DFB3 push eax
.text:0001DFB4 call _OSReadAcpiConfigurationData@4 ; OSReadAcpiConfigurationData(x)
.text:0001DFB9 test eax, eax
.text:0001DFBB jl loc_1E0C6
.text:0001DFC1 mov eax, [ebp+var_18]
.text:0001DFC4 add eax, 28h
.text:0001DFC7 cmp [ebx+1Ch], esi
.text:0001DFCA push edi
.text:0001DFCB mov [ebp+BugCheckParameter4], eax
.text:0001DFCE lea edi, [ebx+20h]
.text:0001DFD1 mov [ebp+var_10], esi
.text:0001DFD4 jbe loc_1E0BB
.text:0001DFDA
.text:0001DFDA loc_1DFDA: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+10A j
.text:0001DFDA cmp [edi+4], esi
.text:0001DFDD mov [ebp+var_C], esi
.text:0001DFE0 jbe loc_1E089
.text:0001DFE6 lea esi, [edi+14h]
.text:0001DFE9
.text:0001DFE9 loc_1DFE9: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+EF j
.text:0001DFE9 mov al, [esi-0Bh]
.text:0001DFEC cmp al, 1
.text:0001DFEE mov [ebp+var_1], al
.text:0001DFF1 jz short loc_1DFF7
.text:0001DFF3 cmp al, 3
.text:0001DFF5 jnz short loc_1E03E
.text:0001DFF7
.text:0001DFF7 loc_1DFF7: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+5F j
.text:0001DFF7 mov eax, [esi+0Ch]
.text:0001DFFA sub eax, [esi+4]
.text:0001DFFD mov ecx, [esi+10h]
.text:0001E000
.text:0001E000 loc_1E000: ; DATA XREF: ACPIBuildThermalZoneExtension(x,x,x)+163↑o
.text:0001E000 ; ACPIDispatchAddDevice(x,x)+16D↑o
.text:0001E000 sbb ecx, [esi+8]
.text:0001E003 mov edx, [esi-4]
.text:0001E006 add eax, 1
.text:0001E009 adc ecx, 0
.text:0001E00C xor ebx, ebx
.text:0001E00E cmp eax, edx
.text:0001E010 jnz short loc_1E016
.text:0001E012 cmp ecx, ebx
.text:0001E014 jz short loc_1E01C
.text:0001E016
.text:0001E016 loc_1E016: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+7E j
.text:0001E016 inc [ebp+var_8]
.text:0001E019 mov [esi-4], eax
.text:0001E01C
.text:0001E01C loc_1E01C: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+82 j
.text:0001E01C cmp dword ptr [esi], 0
.text:0001E01F jnz short loc_1E02A
.text:0001E021 inc [ebp+var_8]
.text:0001E024 mov dword ptr [esi], 1
.text:0001E02A
.text:0001E02A loc_1E02A: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+8D j
.text:0001E02A mov eax, [esi]
.text:0001E02C mov ebx, [ebp+arg_8]
.text:0001E02F dec eax
.text:0001E030 test [esi+4], eax
.text:0001E033 jz short loc_1E03E
.text:0001E035 inc [ebp+var_8]
.text:0001E038 mov dword ptr [esi], 1
.text:0001E03E
.text:0001E03E loc_1E03E: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+63 j
.text:0001E03E ; ACPIRangeValidatePciResources(x,x)+A1 j
.text:0001E03E cmp [ebp+var_1], 6
.text:0001E042 jnz short loc_1E05F
.text:0001E044 mov eax, [esi+4]
.text:0001E047 sub eax, [esi]
.text:0001E049 mov ecx, [esi-4]
.text:0001E04C inc eax
.text:0001E04D xor edx, edx
.text:0001E04F cmp eax, ecx
.text:0001E051 jnz short loc_1E059
.text:0001E053 xor ecx, ecx
.text:0001E055 cmp ecx, edx
.text:0001E057 jz short loc_1E05F
.text:0001E059
.text:0001E059 loc_1E059: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+BF j
.text:0001E059 inc [ebp+var_8]
.text:0001E05C mov [esi-4], eax
.text:0001E05F
.text:0001E05F loc_1E05F: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+B0 j
.text:0001E05F ; ACPIRangeValidatePciResources(x,x)+C5 j
.text:0001E05F cmp [ebp+var_1], 3
.text:0001E063 jnz short loc_1E075
.text:0001E065 lea eax, [ebp+var_8]
.text:0001E068 push eax
.text:0001E069 push [ebp+BugCheckParameter4]
.text:0001E06C push [ebp+var_C]
.text:0001E06F push edi
.text:0001E070 call _ACPIRangeValidatePciMemoryResource@16 ; ACPIRangeValidatePciMemoryResource(x,x,x,x)
.text:0001E075
.text:0001E075 loc_1E075: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+D1 j
.text:0001E075 inc [ebp+var_C]
.text:0001E078 mov eax, [ebp+var_C]
.text:0001E07B add esi, 20h
.text:0001E07E cmp eax, [edi+4]
.text:0001E081 jb loc_1DFE9
.text:0001E087 xor esi, esi
.text:0001E089
.text:0001E089 loc_1E089: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+4E j
.text:0001E089 mov eax, [edi+4]
.text:0001E08C shl eax, 5
.text:0001E08F inc [ebp+var_10]
.text:0001E092 lea edi, [edi+eax+8]
.text:0001E096 mov eax, [ebp+var_10]
.text:0001E099 cmp eax, [ebx+1Ch]
.text:0001E09C jb loc_1DFDA
.text:0001E0A2 cmp [ebp+var_8], esi
.text:0001E0A5 jz short loc_1E0BB
.text:0001E0A7 push [ebp+BugCheckParameter4] ; BugCheckParameter4
.text:0001E0AA push ebx ; BugCheckParameter3
.text:0001E0AB
.text:0001E0AB loc_1E0AB: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+19 j
.text:0001E0AB push [ebp+BugCheckParameter2] ; BugCheckParameter2
.text:0001E0AE push 2 ; BugCheckParameter1
.text:0001E0B0 push 0A5h ; BugCheckCode
.text:0001E0B5 call ds:__imp__KeBugCheckEx@20 ; __declspec(dllimport) KeBugCheckEx(x,x,x,x,x)
.text:0001E0BB
.text:0001E0BB loc_1E0BB: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+42 j
.text:0001E0BB ; ACPIRangeValidatePciResources(x,x)+113 j
.text:0001E0BB push esi
.text:0001E0BC push [ebp+var_18]
.text:0001E0BF call ds:__imp__ExFreePoolWithTag@8 ; __declspec(dllimport) ExFreePoolWithTag(x,x)
.text:0001E0C5 pop edi
.text:0001E0C6
.text:0001E0C6 loc_1E0C6: ; CODE XREF: ACPIRangeValidatePciResources(x,x)+29 j
.text:0001E0C6 pop esi
.text:0001E0C7 pop ebx
.text:0001E0C8 leave
.text:0001E0C9 retn 8
.text:0001E0C9 _ACPIRangeValidatePciResources@8 endp ; sp = 4
.text:0001E0C9
  
#224 Mov AX, 0xDEAD  
cmp [ebp+var_8], esi


this generate resource conflict if mismatch

ps. use Graph view, much better )

#225 diderius6 :-),
how can

cmp [ebp+var_8], esi

be set to be always true

thanks
Dietmar

 

Page 16

#226 diderius6 Just delete this line "cmp [ebp+var_8], esi" and the compi always jump to "loc_1E0BB"?

By the way, interesting, here you can see, how the BSOD 0xA5 is made;)
Dietmar
#227 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #226
Just delete this line "cmp [ebp+var_8], esi"
and the compi always jump to "loc_1E0BB"?


replace jz(XXh) => jmp (EBh)
#228 diderius6 ⇗ @Mov AX, 0xDEAD
Yesssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaa::::))))
nice work together;)!
Dietmar



diderius6 has attached images to this post  ⇗ yippppiieee.jpg
#229 diderius6 pm_timer on the Asrock board also does not work,
only with customized hal switching to RTC clock,
Dietmar
#230 diderius6 Hexeditor  75F87414FF75 -> 75F8EB14FF75
#231 diderius6 When you start with the normal, unmodded DSDT table and the new acpi.sys on the Asrock board
you get BSOD

0x000000A5 (0x00000011, 0x00000008, 0xB7B07200, 0x20160422)

Interesting, that the teedriver.sys (yellow questionmark) does not work on the Asrock board under win7.
May be, win7 has also problems with overlapping of Acpi PCI devices and the e820 table.

With XP, no yellow questionmark is now left for all systemdevices, stable, fast, nice:)), lan, sound, nvme, USB3.1, serial com1,
no extra pci-e card
Dietmar

EDIT: I am right: win7 is not able to ACPI Reclaim memory on the Asrock in e820 table, exact as XP. It may be a problem in main Bios.
        The problem are the low numbers in the e820 table in Asrock board       0000000000100000  0000000076873000  1:Available
        but Acpi asks for the same (higher) free memory as on the Apex  board  0000000000100000  000000008004E000  1:Available
#232 diderius6
000000008E732000  0000000000043000  3:ACPI Reclaim  on Apex board in e820

with RSDT start ACPI Table Address 0 : 8E73F160

and for Asrock:
000000007DFB0000  00000000003D5000  4:ACPI NVS on Asrock board in e820
with RSDT start ACPI Table ACPI Table Address 0 : 7DFB0180
which is just mixed NVS <->Reclaim, according to the following:


Type 3 "ACPI reclaimable" memory regions may be used like (and combined with) normal "available RAM" areas as long as you're finished using the ACPI tables that are stored there (i.e. it can be "reclaimed").
Types 2, 4, 5 (reserved, ACPI non-volatile, bad) mark areas that should be avoided when you are allocating physical memory.
#233 diderius6 And another strange thing on the Asrock board:
in RSDT ACPI Table Address   0 :               7DFB0180
in XSDT ACPI Table Address   0 : 000000007DFD9FA8

the other tables in RSDT, XSDT have identic numbers, only number 0 above not.
Nearly the same happens on the Apex board.

EDIT: Correct is always the value in the XSDT table.
#234 diderius6 With the customized acpi.sys I get on the Apex X board with newest Bios 1801

BSOD
0x000000A5 (0x00000011, 0x00000008, 0xB7AB6200, 0x20160422)

nearly the same as on the Asrock board.
This means, Asus gives up XP friendly Bios and now it has to be patched preventing reserved word from Acpi 2.0
exact like the Bios from Gigabyte, Asrock..
Dietmar

PS: I think, that now all DSDT tables can be made XP friendly!

EDIT: When I flash back to the Bios from Elmor for the Apex X board, the compi starts also with the customized acpi.sys, meaning new acpi.sys do nothing bad.
#235 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #234

BSOD
0x000000A5 (0x00000011, 0x00000008, 0xB7AB6200, 0x20160422)


_ACPIInitializeDDB after calling _AMLILoadDDB
_AMLILoadDDB call "Load" of each table in rsdt list *imho*
#236 diderius6 ⇗ @Mov AX, 0xDEAD
the 3. place in this BSOD is the Pointer to the table that ACPI failed to load.
Is it an generalic message, that any of the table(s) listet in RSDT have an error?
What does "ACPI failed to load" mean: checksum incorrect, table not at this place..
I do not find any related to the adress B7AB6200. In the e820 list this memory space is also not listet.
It is not an overlap in memory,

Dietmar

EDIT: I found with Ida pro, that for example checksum of table from RSDT failed before BSOD A5 (0x11..).
#237 diderius6 waaoh,
full XP Acpi support with newest Bios 1801 on the APEX X board^^.
And this without any modification of Bios,
Dietmar



diderius6 has attached images to this post  ⇗ acpi3.jpg
#238 diderius6 75F87414FF     ->   75F8EB14FF
84C07508FF    ->    84C0EB08FF
59597C21A1   ->    59597C00A1
#239 diderius6 On Compis,
with XP Acpi unfriendly Bios you still have to disable reserved words from Acpi2.0.
I tested this on my Asrock board with the original DSDT table.

Again I get the well known BSOD because of XP unknow words

0x000000A5 (0x00000003, xxxx, 0xС0140001, yyyy)

Dietmar
#240 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #238

84C07508FF77    ->    84C0EB08FF77
597C21A1FCE6   ->   597C00A1FCE6


you dont know what table generate error and what inside table is problem
skip error handling is not very good solution )

 

Page 17

#241 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #236
@Mov AX, 0xDEAD
the 3. place in this BSOD is the Pointer to the table that ACPI failed to load.
What does "ACPI failed to load" mean: checksum incorrect, table not at this place..
I do not find any related to the adress B7AB6200. In the e820 list this memory space is also not listet.
EDIT: I found with Ida pro, that for example checksum of table from RSDT failed before BSOD A5 (0x11..).

3rd argument can point to anything in RAM, it just hint to human (or some util) who save full memory dump
checksum error is a5 (0x11, 0x7), you have error with _AMLILoadDDB
maybe it load table, then parse aml codes, then do some else, who knows...
#242 diderius6 ⇗ @Mov AX, 0xDEAD
I think, when you really want to know what is going on,
so to skip the error message is best what you can do,
because now you can use the full set of commands from windbg and amli.

In the real situation.

Before I was not able for example to have a look at the pcitree.
When I see, that on the Asrock board win7 also cant save memory for Acpi,
the situation is there the same as for xp.
What can happen bad? I think, the tables from Acpi have no influence to anything,
can be just deleted if they are loaded once. And the device works or not.
Dietmar

PS: Interesting, if there is a difference in the acpi.sys from xp, vista, win7, win8, win10
or if they are all nearly the same. The Bios is for all of them identic, also for Linux or Macintosh.
Real errors in the Acpi tables will appear everywhere. And xp can live without any Acpi.
All what gives those A5 BSODs here is a conflict between the Acpi in Bios and the "Acpi" from xp.

EDIT: I noticed, that on the Apex X board with the Bios 1801 for Apex X all works better than before with Bios mod from Apex IX.
This belongs to XP and win10, because now nothing is changed in Bios.

EDIT2: Have a look, how stupid acpi.sys looks at this Acpi tables: If the checksum for example is ok..
⇗ https://www.techrepublic.com/article/cor...ws-xp-machines/
#243 diderius6 I noticed a really crazy behavior on the Asrock board (called from rw-everything direct in Bios, because Acpi in XP at this time not works)

Before hack acpi.sys
RSDT:

[000h 0000 4] Signature : "RSDT" [Root System Description Table]
[004h 0004 4] Table Length : 00000078
[008h 0008 1] Revision : 01
[009h 0009 1] Checksum : 46
[00Ah 0010 6] Oem ID : "ALASKA"
[010h 0016 8] Oem Table ID : "A M I "
[018h 0024 4] Oem Revision : 01072009
[01Ch 0028 4] Asl Compiler ID : "MSFT"
[020h 0032 4] Asl Compiler Revision : 00010013

[024h 0036 4] ACPI Table Address 0 : 7DFB0180
[028h 0040 4] ACPI Table Address 1 : 7DFDA0C0
[02Ch 0044 4] ACPI Table Address 2 : 7DFDA128
[030h 0048 4] ACPI Table Address 3 : 7DFDA170
[034h 0052 4] ACPI Table Address 4 : 7DFDA210
[038h 0056 4] ACPI Table Address 5 : 7DFDA250
[03Ch 0060 4] ACPI Table Address 6 : 7DFDA5F8
[040h 0064 4] ACPI Table Address 7 : 7DFDD760
[044h 0068 4] ACPI Table Address 8 : 7DFDD798
[048h 0072 4] ACPI Table Address 9 : 7DFDE450
[04Ch 0076 4] ACPI Table Address 10 : 7DFDE498
[050h 0080 4] ACPI Table Address 11 : 7DFDFC48
[054h 0084 4] ACPI Table Address 12 : 7DFDFF28
[058h 0088 4] ACPI Table Address 13 : 7DFDFFC0
[05Ch 0092 4] ACPI Table Address 14 : 7DFE0108
[060h 0096 4] ACPI Table Address 15 : 7DFE0620
[064h 0100 4] ACPI Table Address 16 : 7DFE0910
[068h 0104 4] ACPI Table Address 17 : 7DFE0948
[06Ch 0108 4] ACPI Table Address 18 : 7DFE09A0
[070h 0112 4] ACPI Table Address 19 : 7DFE0A48
[074h 0116 4] ACPI Table Address 20 : 7DFE0A80

Raw Table Data: Length 120 (0x78)

After hack and XP writes to its registry (means build new (!))
RSDT

Signature "RSDT"
Length 0x00000078 (120)
Revision 0x01 (1)
Checksum 0xF2 (242)
OEM ID "ALASKA"
OEM Table ID "A M I "
OEM Revision 0x01072009 (17244169)
Creator ID "MSFT"
Creator Revision 0x00010013 (65555)
Entry0 0x8E7DC180 (FACP)
Entry1 0x8E8050B0 (APIC)
Entry2 0x8E805118 (FPDT)
Entry3 0x8E805160 (FIDT)
Entry4 0x8E805200 (MCFG)
Entry5 0x8E805240 (SSDT)
Entry6 0x8E8055E8 (SSDT)
Entry7 0x8E808750 (SSDT)
Entry8 0x8E80AD48 (HPET)
Entry9 0x8E80AD80 (SSDT)
Entry10 0x8E80BA38 (UEFI)
Entry11 0x8E80BA80 (SSDT)
Entry12 0x8E80D230 (AAFT)
Entry13 0x8E80D510 (LPIT)
Entry14 0x8E80D5A8 (SSDT)
Entry15 0x8E80D6F0 (SSDT)
Entry16 0x8E80DC08 (SSDT)
Entry17 0x8E80DEF8 (DBGP)
Entry18 0x8E80DF30 (DBG2)
Entry19 0x8E80DF88 (DMAR)
Entry20 0x8E80DFF8 (WSMT)

The checksum changes and all adresses.
This simple means, in the fight of AcpiBios against XPAcpi,
XP ignores Bios and lift all adresses. The relation between tables changes also.

Dietmar

EDIT: This brings me to the idea, how to make any Bios XP Acpi friendly.
         XP tells you, what to do:)!
#244 diderius6 On the Apex Board XP now generates with 3 steps modified acpi.sys also own new RSDT table,
but very similar to RSDT table before, dictated from Bios.
The pm_timer again not works. So this belongs to Bios, how it treats timer,
Dietmar
#245 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #237
waaoh,
full XP Acpi support with newest Bios 1801 on the APEX X board^^.
And this without any modification of Bios,
Dietmar


can this be replicated for other boards?
I'm very interested in this.
#246 diderius6 yes
#247 diderius6 Recept on post 238 works also for
english version of acpi.sys in XP SP3, XP SP2, XP SP1, XP SP0 (gold)
Dietmar
#248 diderius6 8700k needs good cooling,
but in single core speed it is faster
than 9900k
Dietmar



diderius6 has attached images to this post  ⇗ 8700kAcpiAsrockXP.jpg
#249 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #243

The checksum changes and all adresses.
This simple means, in the fight of AcpiBios against XPAcpi,
XP ignores Bios and lift all adresses. The relation between tables changes also.


I was wrong about _AMLILoadDDB, it load only one table - DSDT !
_AMLILoadDDB-> _LoadDDB->
                                      ->  _ValidateTable
                                      ->  _NewObjOwner
                                      ->  _PushCall
                                      ->  _PushScope
                     -> _SyncLoadDDB
one of subproc probably return nonzero => _AMLILoadDDB generate 0xA5 kernelfault

0x000000A5 (0x00000011, 0x00000008, 0xB7B07200, 0x20160422)
0x20160422 - Compiler Version
0xB7B07200 - pointer to DSDT in memory
#250 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #247
Recept on post 238 works also for
english version of acpi.sys in XP SP3, XP SP2, XP SP1, XP SP0 (gold)
Dietmar


any chance i could get a copy of your acpi.sys mod to try out for myself?
#251 diderius6 Hi, it is german version, so it will not work.
Open with Hexeditor your acpi.sys
and look for Hex values in post 238,
change them
Dietmar

PS: I just succeed to slipstream with nlite boot CD,
     installed XP SP3 direct to nvme disk on Asrock board.
     Nice, full boottime is now 3 sec:)).
#252 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #251
Hi, it is german version, so it will not work.
Open with Hexeditor your acpi.sys
and look for Hex values in post 238,
change them
Dietmar

     


OK, Thanks
#253 diderius6 ⇗ @Mov AX, 0xDEAD

I just see,
that you updated your list for XP.

ACPI BSOD:
.......... 0xA5 (0x03, X, 0xС0140001, Z) ACPI 2.0 syntax, 99% solved (custom acpi.sys)

This acpi.sys I have not seen until now;)

Dietmar
#254 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #253

This acpi.sys I have not seen until now;)


I dont plan public it yet, sorry
#255 diderius6 I have found already:)
Dietmar

EDIT: With Acpi A5 errors I solved all, only problem is now,
that my bootdevice is gone with BSOD 0x7B, I think most famous BSOD in history:)),
Dietmar

PS: Hm, what can make ACPI with underlying wrong DSDT table (reserved words from Acpi2.0), that the boot device is gone?
The boot device has to be rescued, other is unimportand. One step..
and 0xA5 Acpi error is history.

EDIT2: Oh, it seems to be nice antihack in acpi.sys from Microsoft, against people like me^^.

 

Page 18

#256 diderius6 Hihi, I try other way:))..
#257 diderius6 XP SP3 words acpi
Debug   XOr Wait    ToBCD   Subtract    Store   SizeOf  ShiftRight  ShiftLeft   
RefOf   B   Package OSI Or  ObjectType  Not NOr NAnd    Multiply    
CBCBCC  Match   LOr LNot    LLess   LGreater    LEqual  CC  LAnd    
Index   Increment   FromBCD FindSetRightBit CS  FindSetLeftBit  CCSS    
Divide  DerefOf Decrement   sS  CondRefOf   Concatenate Buffer  And CCS 
Add SW  Acquire While   Unload  Stall   Sleep   Signal  Return  Reset   S
   Release SC  Notify  NoOp    NS  Load    C   If  BDC Fatal   Else    
BreakPoint  Break   NBDB    NBW PowerResource   NBCC    OperationRegion 
Mutex   Method  NNB IndexField  NB  Field   Event   Device  
CreateWordField CCCN    CreateField CreateDWordField    CreateByteField 
CCN CreateBitField  NNCB    BankField   N   Scope   NO  Name    NN  Alias
  

Vista words acpi
Debug   XOr Wait    ToString    ToInteger   ToHexString ToDecimalString ToBuffer
ToBCD   Timer   Subtract    Store   SizeOf  ShiftRight  ShiftLeft   RefOf   
B   Package OSI Or  ObjectType  Not NOr NAnd    Multiply    Mod CCCS    
Mid CBCBCC  Match   LOr CCCCCC  LoadTable
LNot    LLess   LGreater    LEqual  CC  LAnd    Index   Increment   
FromBCD FindSetRightBit FindSetLeftBit  CCSS    Divide  DerefOf 
Decrement   CS  CopyObject  sS  CondRefOf   ConcatenateResTemplate
Concatenate Buffer  And CCS Add SW  Acquire While   Unload  Stall   
Sleep   Signal  Return  Reset   S   Release SC  Notify  NoOp    NS  Load
C   If  BDC Fatal   Else    Continue    BreakPoint  Break   
NBDB    NBW PowerResource   NBCC    OperationRegion Mutex   Method  NNB 
IndexField  NB  Field   Event   Device  CreateWordField CCCN    
CreateField CreateQWordField    CreateDWordField    CreateByteField CCN 
CreateBitField  NNCB    BankField   N   Scope   NO  Name    NN  Alias
  

13 words, which amli interpreter has to learn
Dietmar
#258 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #257

13 words, which amli interpreter has to learn


14 QwordConst , it's not keyword, but it has own bytecode, some like var = 0x1111222233334444
15 DATA_REGION, 0x5b88 very rare not implemented
#259 diderius6 ⇗ @Mov AX, 0xDEAD
in a first try I set only one reserved word "ToInteger" before word "Debug" in acpi.sys of XP.
Do you think it is possible?

My problem is, that there are 2 offsetvalues:
.rdata:000348A4 aTointeger      db 'ToInteger',0        ; DATA XREF: .data:off_37820
.rdata:000348AE align 10h

.data:00037820 off_37820 dd offset aTointeger ; DATA XREF: .data:00037BC4
.data:00037820 ; "ToInteger"
.data:00037824 db 99h ; Ö
.data:00037825 db 0
.data:00037826 db 0
.data:00037827 db 0

.data:00037BC4 dd offset off_37820

thanks a lot
Dietmar
#260 diderius6 YesssssssssssssssssssssssssaaaaaaahHHHHh:))

I succeed to integrate reserved word "ToInteger" in amli interpreter in acpi.sys
from XP SP3.
This is for me like I reach a new level,
what a crazy work,
Dietmar

PS: I understand, how the amli interpreter works and also, how it is implemented.
The test I did:

On the Asrock board I installed the original Bios. With acpistep3.sys I get there the
the BSOD for "reserved words"
0xA5 (0x03, X, 0xС0140001, Z)

Then I put in my modded DSDT table all the "ToInteger" words back, that I eliminated before.
And it boots:))!
#261 diderius6 CreateQWordField I cant integrate in acpi.sys of XP SP3 until now.
It seems, that the Interpreter amli from XP cant build an 64 Bit field.
Vista can, the version from Vista from May 2005 (Longhorn) also cant.
The error message BSOD has changed.
The remaining reserved words in DSDT, that you have to isolate by hand in DSDT
are now CreateQWordField , QWordMemory, CopyObject. This lasts about 5 min:)).

BSOD
0x000000A5 (0x00000003, X, 0xC0000034, Y)

Dietmar
#262 diderius6 Here are my DSDT tables for the Asrock fatal1ty z370 gaming k6 board.
Dsdt is original and DSDT2 is modded table, which works in XP SP3 with the acpi.sys driver
with only 3 small changes, as I write here before.
Not so much differences are left, when you take a look at.
Now I look at the C0, C1, C2.. states,
because I noticed, that 70 % of time the compi is in C0 state,
gives about 50 Watt without any load, brrr:)),
Dietmar



diderius6 has attached files to this post
#263 diderius6 Here is my try with Ida pro for reserved word CreateQwordField.
I did a nice hack, because its name is so long I
deleted ShiftRight and ShiftLeft in acpi.sys of XP SP3 (because they do not appear in Bios)
and connected them afterwards:)).

The values I take from Vista.
.rdata:0002B7D8 aCreateqwordfie db 'CreateQWordField',0 ; DATA XREF: 
.data:off_2D190 o
.rdata:0002B7E9 db 0 <-- should be align 10h
.rdata:0002B7EA db 0
.rdata:0002B7EB db 0
.rdata:0002B7EC db 0
.rdata:0002B7ED db 0
.rdata:0002B7EE db 0
.rdata:0002B7EF db 0

.data:0002D190 ; "CreateQWordField"
.data:0002D194 db 8Fh ; Å
.data:0002D195 db 0
.data:0002D196 db 0
.data:0002D197 db 0

.data:0002D518 dd offset off_2D190
#264 diderius6 Now I think,
it belongs to the integration of CreateQWordField
in acpi.sys from XP.
May be, I did something wrong (I noticed, that the "align" mark is gone,
and I got instead 7 zeros).
Or maybe, the amli Interpreter can not work at all
with 64 Bit
Dietmar

The driver acpi.sys with the integrated CreateQWordField shows BSOD,
even when no CreateQWordField is in the DSDT table.
This was other with integrated "ToInteger" reserved word in acpi.sys.

PS: It seems, that my Ida pro version can not generate *.sys files for XP. Is there a program, which can do this?
#265 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #264
Now I think,
it belongs to the integration of CreateQWordField
in acpi.sys from XP.
May be, I did something wrong (I noticed, that the "align" mark is gone,
and I got instead 7 zeros).
Or maybe, the amli Interpreter can not work at all
with 64 Bit
Dietmar

The driver acpi.sys with the integrated CreateQWordField shows BSOD,
even when no CreateQWordField is in the DSDT table.
This was other with integrated "ToInteger" reserved word in acpi.sys.

PS: It seems, that my Ida pro version can not generate *.sys files for XP. Is there a program, which can do this?


maybe try relyze to reassemble? - ⇗ https://www.relyze.com/overview.html

also, you might want to try CFF Explorer - ⇗ https://ntcore.com/?page_id=388
to realign the file and recalculate the checksums after you edit the file
#266 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #262

Now I look at the C0, C1, C2.. states,
because I noticed, that 70 % of time the compi is in C0 state,


welcome to club )
check pm
#267 diderius6 May be this hack will work:

DefCreateDWordField := CreateDWordFieldOp SourceBuff ByteIndex NameString
CreateDWordFieldOp := 0x8A

DefCreateQWordField := CreateQWordFieldOp SourceBuff ByteIndex NameString
CreateQWordFieldOp := 0x8F  --> 0x8A

Dietmar

EDIT: Or even more easy, change in DSDT table

CreateQWordField --> CreateDWordField

This I will test now.

EDIT: Both ideas do not work on Asrock board.
#268 diderius6 ⇗ @Mov AX, 0xDEAD

I do not take notice about the 70% in C0 state,
because I work with a Celeron.
There the powerconsumption is always low.
This changes a lot with 8700k.
It is like a test for good cooler;)
Dietmar
#269 diderius6 ⇗ @Mov AX, 0xDEAD

This powerconsumption I like much more:))!
Very interesting, how you reached this, which programs you use.
I think it would be a whole course in programming
Dietmar

EDIT:  ⇗ @Mov AX, 0xDEAD
Did you use this?
"You're on the right track for Windows XP.  If you read the documentation for the PROCESSOR_POWER_POLICY structure (⇗ http://msdn.microsoft.com/en-us/library/...v=vs.85%29.aspx), you'll notice next to DisableCStates that it says "Reserved; set to zero."  In other words, you can't use that.  Skip down to the section under Policy and read what it has to say.  You have to disable the individual C-states that offend you:"

Policy[0].AllowPromotion = 1
Policy[1].AllowPromotion = 0; // Disable's C2
Policy[2].AllowPromotion = 0; // Disable's C3



diderius6 has attached images to this post  ⇗ lowC0state.jpg
#270 diderius6 To integrate the reserved word "ToInteger" in acpi.sys from XP SP3 works.
It has also the correct code,

DefToInteger := ToIntegerOp Operand Target
ToIntegerOp := 0x99

Dietmar

 

Page 19

#271 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #269

Did you use this?
Policy[0].AllowPromotion = 1
Policy[1].AllowPromotion = 0; // Disable's C2
Policy[2].AllowPromotion = 0; // Disable's C3

No, i already wrote about power states on my skylake - acpi C2/C3 hardware (or bios or some poor documented bios setting) is broken for any OS, only cpu still can do it (itself, two asm commands, without external dependies). windows think that platform support c2/c3 and use it, but cpu do not enter these modes properly and windows never know what doing a semi-useless job (30-40% cpu in power saving mode, thank for this at least)
#272 diderius6 When I integrate (to 100% correct) the reserved word from Acpi2.0  "CopyObject" with code 9Dh
in acpi.sys from XP SP3 I get the famous BSOD

0x0000007B (0xB84C7524, 0xC0000034, 0x00000000, 0x00000000)

which is is not direct related to Acpi
Dietmar

EDIT: Now I think, via this way you can find all the reserved words, when acpi.sys XP SP3 meet them, crashes.
        The other reserved words, for example ToInteger, are just ignored from amli XP SP3.
#273 diderius6 This is, what amli interpreter Acpi1 understands:
ACPI Machine Language (AML) Specification 16-257
Intel/Microsoft/Toshiba
Table 16-2 AML Byte Stream Byte Values
Byte Value
(in Hex)
Meaning Fixed List Arguments Variable List
Arguments?
0x00 ZeroOp Nothing No
0x01 OneOp Nothing No
0x02 - 0x05 Null -- --
0x06 AliasOp Name Name No
0x07 Null -- --
0x08 NameOp Name Data No
0x09 Null -- --
0x0A ByteOp ByteConst No
0x0B WordOp WordConst No
0x0C DWordOp DWordConst No
0x0D StringOp AsciiChar [AsciiChar ...] NullChar No
0x0E - 0F Null -- --
0x10 ScopeOp Name Yes
0x11 BufferOp ByteConst Yes
0x12 PackageOp ByteConst Yes
0x13 Null -- --
0x14 MethodOp Name Byte Yes
0x15 - 0x2D Null -- --
0x2E (.) DualNamePrefix NameSeg NameSeg --
0x2F (/) MultiNamePrefix Byte NameSeg [NameSeg ...] No
0x30 - 0x5a Null -- --
0x5B ([) ExtendedOperator
Prefix
Byte --
0x5B 0x01 MutexOp Name Byte No
0x5B 0x02 EventOp Name No
0x5B 0x10 ShiftRightBitOp OpCode SuperName No
0x5B 0x11 ShiftLeftBitOp OpCode SuperName No
0x5B 0x12 CondRefOfOp OpCode SuperName No
0x5B 0x13 CreateFieldOp OpCode OpCode OpCode SuperName No
0x5B 0x20 LoadOp Name No
0x5B 0x21 StallOp OpCode No
0x5B 0x22 SleepOp OpCode No
0x5B 0x23 AcquireOp SuperName No
0x5B 0x24 SignalOp SuperName No
0x5B 0x25 WaitOp SuperName WordConst No
0x5B 0x26 ResetOp SuperName No
0x5B 0x27 ReleaseOp SuperName No
0x5B 0x28 FromBCDOp OpCode SuperName No
0x5B 0x29 ToBCD OpCode SuperName No
0x5B 0x2A UnloadOp OpCode No
Advanced Configuration and Power Management Interface Specification 16-258
Intel/Microsoft/Toshiba
Byte Value
(in Hex)
Meaning Fixed List Arguments Variable List
Arguments?
0x5B 0x31 DebugOp Nothing No
0x5B 0x32 FatalOp Nothing No
0x5B 0x80 OpRegionOp Name Byte OpCode OpCode No
0x5B 0x81 FieldOp Name Byte Yes
0x5B 0x82 DeviceOp Name Yes
0x5B 0x83 ProcessorOp Name Byte Dword Byte Yes
0x5B 0x84 PowerResOp Name Name Word Yes
0x5B 0x85 ThermalZoneOp Name Yes
0x5B 0x86 IndexFieldOp Name Name Byte Yes
0x5B 0x87 BankFieldOp Name Name Dword Byte Yes
0x5C (\) RootNamePrefix Name --
0x5D Null -- --
0x5E (^) ParentNamePrefix Name --
0x5F Null -- --
0x60 (`) Local0 Nothing No
0x61 (a) Local1 Nothing No
0x62 (b) Local2 Nothing No
0x63 (c) Local3 Nothing No
0x64 (d) Local4 Nothing No
0x65 (e) Local5 Nothing No
0x66 (f) Local6 Nothing No
0x67 (g) Local7 Nothing No
0x68 (h) Arg0 Nothing No
0x69 (i) Arg1 Nothing No
0x6A (j) Arg2 Nothing No
0x6B (k) Arg3 Nothing No
0x6C (l) Arg4 Nothing No
0x6D (m) Arg5 Nothing No
0x6E (n) Arg6 Nothing No
0x6F Null -- --
0x70 StoreOp OpCode SuperName No
0x71 RefOfOp SuperName No
0x72 AddOp OpCode OpCode SuperName No
0x73 ConcatOp OpCode OpCode SuperName No
0x74 SubtractOp OpCode OpCode SuperName No
0x75 IncrementOp SuperName No
0x76 DecrementOp SuperName No
0x77 MultiplyOp OpCode OpCode SuperName No
0x78 DivideOp OpCode OpCode SuperName SuperName No
0x79 ShiftLeftOp OpCode OpCode SuperName No
0x7A ShiftRightOp OpCode OpCode SuperName No
0x7B AndOp OpCode OpCode SuperName No
ACPI Machine Language (AML) Specification 16-259
Intel/Microsoft/Toshiba
Byte Value
(in Hex)
Meaning Fixed List Arguments Variable List
Arguments?
0x7C NAndOp OpCode OpCode SuperName No
0x7D OrOp OpCode OpCode SuperName No
0x7E NOrOp OpCode OpCode SuperName No
0x7F XOrOp OpCode OpCode SuperName No
0x80 NotOp OpCode SuperName No
0x81 FindSetLeftBitOp OpCode SuperName No
0x82 FindSetRightBitOp OpCode SuperName No
0x83 - 0x85 Null -- --
0x86 NotifyOp SuperName ByteConst No
0x87 SizeOfOp Name No
0x88 IndexOp OpCode OpCode No
0x89 MatchOp OpCode OpCode OpCode OpCode OpCode No
0x8A DWordFieldOp OpCode OpCode SuperName No
0x8B WordFieldOp OpCode OpCode SuperName No
0x8C ByteFieldOp OpCode OpCode SuperName No
0x8D BitFieldOp OpCode OpCode SuperName No
0x8E ObjTypeOp Name No
0x8F Null -- --
0x90 LAndOp OpCode OpCode No
0x91 LOrOp OpCode OpCode No
0x92 LNotOp OpCode No
0x93 LEQOp OpCode OpCode No
0x93 0x92 LNotEQOp OpCode OpCode No
0x94 LGOp OpCode OpCode No
0x94 0x92 LLEQOp OpCode OpCode No
0x95 LLOp OpCode OpCode No
0x95 0x92 LGEQOp OpCode OpCode No
0x96 - 9F Null -- --
0xA0 IfOp OpCode Yes
0xA1 ElseOp Nothing Yes
0xA2 WhileOp OpCode Yes
0xA3 NoOp Nothing No
0xA4 ReturnOp OpCode No
0xA5 BreakOp Nothing No
0xA6 - 0xCB Null -- --
0xCC BreakPointOp Nothing No
0xCD - 0xFE Null -- --
0xFF OnesOp Nothing No
#274 diderius6 And this in Acpi 2:
AML Byte Stream   Byte Values

Value (Hex) Name
0x00 ZeroOp
0x01 OneOp
0x06 AliasOp
0x08 NameOp
0x0A BytePrefix
0x0B WordPrefix
0x0C DWordPrefix
0x0D StringPrefix
0x0E QWordPrefix
0x10 ScopeOp
0x11 BufferOp
0x12 PackageOp
0x13 VarPackageOp
0x14 MethodOp
0x2E (.) DualNamePrefix
0x2F (/) MultiNamePrefix
0x30-0x39 ('0'-'9') DigitChar
0x41-0x5A (A-Z) NameChar
0x5B ([) ExtOpPrefix
0x5B 0x01 MutexOp
0x5B 0x02 EventOp
0x5B 0x12 CondRefOfOp
0x5B 0x13 CreateFieldOp
0x5B 0x1F LoadTableOp
0x5B 0x20 LoadOp
0x5B 0x21 StallOp
0x5B 0x22 SleepOp
0x5B 0x23 AcquireOp
0x5B 0x24 SignalOp
0x5B 0x25 WaitOp
0x5B 0x26 ResetOp
0x5B 0x27 ReleaseOp
0x5B 0x28 FromBCDOp
0x5B 0x29 ToBCD
0x5B 0x2A UnloadOp
0x5B 0x30 RevisionOp
0x5B 0x31 DebugOp
0x5B 0x32 FatalOp
0x5B 0x33 TimerOp
0x5B 0x80 OpRegionOp
0x5B 0x81 FieldOp
0x5B 0x82 DeviceOpList
0x5B 0x83 ProcessorOp
0x5B 0x84 PowerResOp
0x5B 0x85 ThermalZoneOpList
0x5B 0x86 IndexFieldOp
0x5B 0x87 BankFieldOp
0x5B 0x88 DataRegionOp
0x5C (\) RootChar
0x5E (^) ParentPrefixChar
0x5F(_) NameChar
0x60 (`) Local0Op
0x61 (a) Local1Op
0x62 (b) Local2Op
0x63 (c) Local3Op
0x64 (d) Local4Op
0x65 (e) Local5Op
0x66 (f) Local6Op
0x67 (g) Local7Op
0x68 (h) Arg0Op
0x69 (i) Arg1Op
0x6A (j) Arg2Op
0x6B (k) Arg3Op
0x6C (l) Arg4Op
0x6D (m) Arg5Op
0x6E (n) Arg6Op
0x70 StoreOp
0x71 RefOfOp
0x72 AddOp
0x73 ConcatOp
0x74 SubtractOp
0x75 IncrementOp
0x76 DecrementOp
0x77 MultiplyOp
0x78 DivideOp
0x79 ShiftLeftOp
0x7A ShiftRightOp
0x7B AndOp
0x7C NandOp
0x7D OrOp
0x7E NorOp
0x7F XorOp
0x80 NotOp
0x81 FindSetLeftBitOp
0x82 FindSetRightBitOp
0x83 DerefOfOp
0x84 ConcatResOp
0x85 ModOp
0x86 NotifyOp
0x87 SizeOfOp
0x88 IndexOp
0x89 MatchOp
0x8A CreateDWordFieldOp
0x8B CreateWordFieldOp
0x8C CreateByteFieldOp
0x8D CreateBitFieldOp
0x8E TypeOp
0x8F CreateQWordFieldOp
0x90 LandOp
0x91 LorOp
0x92 LnotOp
0x92 0x93 LNotEqualOp
0x92 0x94 LLessEqualOp
0x92 0x95 LGreaterEqualOp
0x93 LEqualOp
0x94 LGreaterOp
0x95 LLessOp
0x96 ToBufferOp
0x97 ToDecimalStringOp
0x98 ToHexStringOp
0x99 ToIntegerOp
0x9C ToStringOp
0x9D CopyObjectOp
0x9E MidOp
0x9F ContinueOp
0xA0 IfOp
0xA1 ElseOp
0xA2 WhileOp
0xA3 NoopOp
0xA4 ReturnOp
0xA5 BreakOp
0xCC BreakPointOp
0xFF OnesOp
#275 diderius6 Hi,
in eventmanager from XP on the Asrockboard I get this message:

AMLI: ACPI-BIOS versucht, einen ungültigen Speicherbereich
"OpRegion" bei Adresse 0x5000 mit einer Länge von 0x1000 zu erstellen.
Dieser Bereich fällt in den vom Betriebssystem geschützten Speicheradressbereich (0x0 - 0x9c400).

This is nice, because now I know the device,
that is doing the problem from the very first beginning with overlapping memory from e820 table and Acpi, it is the serial COM 1 port, ACPI\PNP0501
listet in DSDT for the Asrock Bios with
Device (UAR1)
{
Name (_HID, EisaId ("PNP0501") /* 16550A-compatible COM Serial Port */) // _HID: Hardware ID
Name (_UID, Zero) // _UID: Unique ID
Name (LDN, 0x02)
Method (_STA, 0, Serialized) // _STA: Status
{
If ((IOST & One))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}

Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
^^SIO1.DCNT (Zero, Zero)
}

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (^^SIO1.DCRS (Zero, Zero))
}

Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings
{
^^SIO1.DSRS (Arg0, Zero)
}

Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Settings
{
StartDependentFn (0x00, 0x00)
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03F8, // Range Minimum
0x03F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02F8, // Range Minimum
0x02F8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x03E8, // Range Minimum
0x03E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{4}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
StartDependentFnNoPri ()
{
IO (Decode16,
0x02E8, // Range Minimum
0x02E8, // Range Maximum
0x01, // Alignment
0x08, // Length
)
IRQNoFlags ()
{3}
DMA (Compatibility, NotBusMaster, Transfer8, )
{}
}
EndDependentFn ()
})
Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x17, 0x04))
}
}


What I dont see in this list is, why ACPI is doing this and from where I can see this before.
I come to the idea with this device, because after this message in eventmanager the COM 1 port was disabled. So it is a real error from Acpi,

Dietmar

#276 diderius6 Hi,
I make a test, if it is possible to give during start XP another list of Acpi tables than those Acpi tables, written in Bios.

Yesssssaaahh, it can be done:))!

I change with Winhex in XP in the registry of the Asrock board in hardware\Acpi\FADT the binary code for the timer

A5C40300 against
A5440300.

Then I shut the compi down.

Normally, at boottime always the Acpi tables are written new via Bios (means 44 --> C4), I tested this.
Winserver 2003 looks at Bios for DSDT, FADT.. but XP looks at registry.

This XP  I copy file by file to a kangaroo USB stick, which can be set write protect.

Then I change with Winhex the first 512 Bit (MBR) of the kangoroo against the first 512 Bit MBR of the harddisk. This is the nice trick from s4e.
Then I set the kangoroo to write protect, choose via F11 the bootmenue of the Asrock board and start from the writeprotected kangoroo.
Because the USB stick has no drivers for USB, after first boot the contact is lost and because the signatur and everything else is exact the same as from harddrive, XP now choses the harddisk and boots to XP.

In registry on harddisk Bios has rewritten like normal 44 --> C4 in FADT.

But the to ram loaded registry from kangoroo has at this place still the 44 code. So, the normall hal.dll thinks via "Bios" make use of the RTC timer and so without customized hal.dll the clock works

Dietmar
#277 diderius6 Hi,
does somebody know, why it is not possible to do USB boot to XP since z170 chipset? usbstor.sys is needed and usbd.sys,
it can be given by hand, I do.
I know, that there are no drivers vor the Intel USB devices.
This is so strange.
But for example on the Asus z87i-pro I can boot XP from the Asmedia chip ASM1042 with 300 Mbyte/s from usb stick.
And the drivers for ASM1142, 2142, 3142 work all with XP
Dietmar
#278 diderius6 I set up a windbg session on the Asrock board with USB 3.1chip ASM3142,
for to see, what is going on.

I boot XP SP3 from an WD harddisk, 2 TB formatted with Fat32,
which boots my Asus z87i-pro board from USB with Asmedia ASM1042 chip .

Before I put there the newest drivers vers. 1.16.54.1 for all asmedia chips on this
usb harddisk. Still it boots the z87i-pro board.
By the way, the brandnew driver 1.16.55.1 from Asmedia gives on XP bluesreen.

Here is the result:

BugCheck 7B, {b9cc7524, c0000034, 0, 0}

Probably caused by : ntkrpamp.exe ( nt!IopMarkBootPartition+f5 )

DevNode 0x89b0eb60 for PDO 0x89b0e030
InstancePath is "PCI\VEN_1B21&DEV_0612&SUBSYS_06121849&REV_02\4&12e73dd2&0&00E1"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED



DevNode 0x89b0fdd0 for PDO 0x89b10670
InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED



DevNode 0x89c46828 for PDO 0x89c46970
InstancePath is "Root\LEGACY_ASMTHUB3\0000"
ServiceName is "asmthub3"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)


DevNode 0x89c465e8 for PDO 0x89c46730
InstancePath is "Root\LEGACY_ASMTXHCI\0000"
ServiceName is "asmtxhci"
State = DeviceNodeStarted (0x308)


DevNode 0x89c44dc8 for PDO 0x89c44f10
InstancePath is "Root\LEGACY_USBHUB\0000"
ServiceName is "usbhub"
State = DeviceNodeStarted (0x308)


DevNode 0x89c44b88 for PDO 0x89c44cd0
InstancePath is "Root\LEGACY_USBSTOR\0000"
ServiceName is "USBSTOR"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
  
#279 diderius6 I see, that the needed drivers for USB all start very early exact as I want,
setting in registry start = 0 and group System Reserved.

But VEN_1B21&DEV_0612, which is the AHCI controller from Asmedia
does not start (normal, because no driver, but unimportant, because we boot from USB device)

and

VEN_1B21&DEV_2142 which stands for the USB 3.1chip "ASM3142"

also not, which is probably the reason for BSOD 0x7B here,
but I do not understand why this happens,
because all other drivers started as you can see
and when boot from normal harddisk, this Asmedia  ASM3142 works on XP SP3

Dietmar
#280 diderius6
0: kd> !DevNode 0x89b0fdd0
DevNode 0x89b0fdd0 for PDO 0x89b10670
Parent 0x89b0c708 Sibling 0000000000 Child 0000000000
InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
StateHistory[06] = Unknown State (0x0)
StateHistory[05] = Unknown State (0x0)
StateHistory[04] = Unknown State (0x0)
StateHistory[03] = Unknown State (0x0)
StateHistory[02] = Unknown State (0x0)
StateHistory[01] = Unknown State (0x0)
Flags (0x000022f0) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED,
DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_HAS_PROBLEM
CapabilityFlags (0x00002000) WakeFromD3
Problem = CM_PROB_NOT_CONFIGURED
  
#281 diderius6
Problem = CM_PROB_NOT_CONFIGURED

From Microsoft:

CM_PROB_NOT_CONFIGURED

Error Code

This function is reserved for system use.

There is a device on the system for which there is no ConfigFlags registry entry. This means no driver is installed. Typically this means an INF file could not be found.

Aha, this may be the reason, because the ASM3142 is not the ASM1042,
even they use the same drivers. Needs to feed registry from XP with correct values for ASM3142

Dietmar
#282 diderius6 Not works.
I doublechecked all the handmade entries in registry.
The Asus z87i-pro board boots at once to USB3 (300MByte/s) with this entries,
but the Asrock z370 board not.
Something other is preventing USB boot on Asmedia chip ASM3142 on the Asrock board.
Any help is welcome.

Here are the registry entries from usbstor, asmtxhci and asmthub3.
They can be used to make XP USB3 boot work
Dietmar

Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 02:29
Wert 0
Name: Type
Typ: REG_DWORD
Daten: 0x1

Wert 1
Name: Start
Typ: REG_DWORD
Daten: 0x0

Wert 2
Name: ErrorControl
Typ: REG_DWORD
Daten: 0x1

Wert 3
Name: ImagePath
Typ: REG_EXPAND_SZ
Daten: system32\DRIVERS\USBSTOR.SYS

Wert 4
Name: DisplayName
Typ: REG_SZ
Daten: USB-Massenspeichertreiber

Wert 5
Name: Group
Typ: REG_SZ
Daten: System Reserved

Wert 6
Name: Tag
Typ: REG_DWORD
Daten: 0x1


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Enum
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 02:55
Wert 0
Name: 0
Typ: REG_SZ
Daten: USB\Vid_0bda&Pid_0152&MI_00\6&2182afbe&0&0000

Wert 1
Name: Count
Typ: REG_DWORD
Daten: 0x3

Wert 2
Name: NextInstance
Typ: REG_DWORD
Daten: 0x3

Wert 3
Name: 1
Typ: REG_SZ
Daten: USB\Vid_1058&Pid_25a2\57584631414237524541354A

Wert 4
Name: 2
Typ: REG_SZ
Daten: Root\LEGACY_USBSTOR\0000


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 01:56
Wert 0
Name: Type
Typ: REG_DWORD
Daten: 0x1

Wert 1
Name: Start
Typ: REG_DWORD
Daten: 0x0

Wert 2
Name: ErrorControl
Typ: REG_DWORD
Daten: 0x1

Wert 3
Name: Tag
Typ: REG_DWORD
Daten: 0x12

Wert 4
Name: ImagePath
Typ: REG_EXPAND_SZ
Daten: system32\DRIVERS\asmtxhci.sys

Wert 5
Name: DisplayName
Typ: REG_SZ
Daten: ASMedia XHCI Service

Wert 6
Name: Group
Typ: REG_SZ
Daten: System Reserved

Wert 7
Name: BootFlags
Typ: REG_DWORD
Daten: 0x10


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci\Enum
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 02:55
Wert 0
Name: Count
Typ: REG_DWORD
Daten: 0x3

Wert 1
Name: NextInstance
Typ: REG_DWORD
Daten: 0x3

Wert 2
Name: 0
Typ: REG_SZ
Daten: PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\4&1fc90664&0&00E4

Wert 3
Name: 1
Typ: REG_SZ
Daten: Root\LEGACY_ASMTXHCI\0000

Wert 4
Name: 2
Typ: REG_SZ
Daten: PCI\VEN_1B21&DEV_1142&SUBSYS_85BF1043&REV_00\4&2816a63a&0&00E4


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci\Security
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 03.06.2018 - 18:34
Wert 0
Name: Security
Typ: REG_BINARY
Daten:
00000000 01 00 14 80 90 00 00 00 - 9c 00 00 00 14 00 00 00 ................
00000010 30 00 00 00 02 00 1c 00 - 01 00 00 00 02 80 14 00 0...............
00000020 ff 01 0f 00 01 01 00 00 - 00 00 00 01 00 00 00 00 ÿ...............
00000030 02 00 60 00 04 00 00 00 - 00 00 14 00 fd 01 02 00 ..`.........ý...
00000040 01 01 00 00 00 00 00 05 - 12 00 00 00 00 00 18 00 ................
00000050 ff 01 0f 00 01 02 00 00 - 00 00 00 05 20 00 00 00 ÿ........... ...
00000060 20 02 00 00 00 00 14 00 - 8d 01 02 00 01 01 00 00 ...............
00000070 00 00 00 05 0b 00 00 00 - 00 00 18 00 fd 01 02 00 ............ý...
00000080 01 02 00 00 00 00 00 05 - 20 00 00 00 23 02 00 00 ........ ...#...
00000090 01 01 00 00 00 00 00 05 - 12 00 00 00 01 01 00 00 ................
000000a0 00 00 00 05 12 00 00 00 - ........


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 01:54
Wert 0
Name: Type
Typ: REG_DWORD
Daten: 0x1

Wert 1
Name: Start
Typ: REG_DWORD
Daten: 0x0

Wert 2
Name: ErrorControl
Typ: REG_DWORD
Daten: 0x1

Wert 3
Name: Tag
Typ: REG_DWORD
Daten: 0x11

Wert 4
Name: ImagePath
Typ: REG_EXPAND_SZ
Daten: system32\DRIVERS\asmthub3.sys

Wert 5
Name: DisplayName
Typ: REG_SZ
Daten: ASMedia USB3.1 Hub Service

Wert 6
Name: Group
Typ: REG_SZ
Daten: System Reserved

Wert 7
Name: BootFlags
Typ: REG_DWORD
Daten: 0x10


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3\Enum
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 05.01.2019 - 02:55
Wert 0
Name: Count
Typ: REG_DWORD
Daten: 0x3

Wert 1
Name: NextInstance
Typ: REG_DWORD
Daten: 0x3

Wert 2
Name: 0
Typ: REG_SZ
Daten: USB\ASMEDIAROOT_Hub\5&efb7b49&0&0

Wert 3
Name: 1
Typ: REG_SZ
Daten: Root\LEGACY_ASMTHUB3\0000

Wert 4
Name: 2
Typ: REG_SZ
Daten: USB\ASMEDIAROOT_Hub\5&14349c16&0&0


Schlüsselname: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3\Security
Klassenname: <KEINE KLASSE>
Letzter Schreibzugriff: 03.06.2018 - 18:37
Wert 0
Name: Security
Typ: REG_BINARY
Daten:
00000000 01 00 14 80 90 00 00 00 - 9c 00 00 00 14 00 00 00 ................
00000010 30 00 00 00 02 00 1c 00 - 01 00 00 00 02 80 14 00 0...............
00000020 ff 01 0f 00 01 01 00 00 - 00 00 00 01 00 00 00 00 ÿ...............
00000030 02 00 60 00 04 00 00 00 - 00 00 14 00 fd 01 02 00 ..`.........ý...
00000040 01 01 00 00 00 00 00 05 - 12 00 00 00 00 00 18 00 ................
00000050 ff 01 0f 00 01 02 00 00 - 00 00 00 05 20 00 00 00 ÿ........... ...
00000060 20 02 00 00 00 00 14 00 - 8d 01 02 00 01 01 00 00 ...............
00000070 00 00 00 05 0b 00 00 00 - 00 00 18 00 fd 01 02 00 ............ý...
00000080 01 02 00 00 00 00 00 05 - 20 00 00 00 23 02 00 00 ........ ...#...
00000090 01 01 00 00 00 00 00 05 - 12 00 00 00 01 01 00 00 ................
000000a0 00 00 00 05 12 00 00 00 - ........
  
#283 diderius6 Small success
DevNode 0x89c03ee8 for PDO 0x89c042e0
InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\3&37f6853e&0&00E4"
ServiceName is "asmtxhci"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)

DevNode 0x87c72e78 for PDO 0x87c75df8
InstancePath is "USB\ASMEDIAROOT_Hub\4&290a3674&0&0"
ServiceName is "asmthub3"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)

Only usbstor is loaded, but does not start
Dietmar
0: kd> !devnode usbstor
DevNode 0xbab28000 for PDO 0x98284657
Parent 0x00000004 Sibling 0x00905a4d Child 0x00000003
InterfaceType 0x98284656 Bus Number 0x9834658d
Duplicate PDO 0x98284656 InstancePath is ""
ServiceName is ""
TargetDeviceNotify List - f 0x68636952 b 0x98284657
State = Unknown State (0x40)
Previous State = Unknown State (0x0)
StateHistory[00] = Unknown State (0x0)
StateHistory[19] = Unknown State (0x20534f44)
StateHistory[18] = Unknown State (0x206e6920)
StateHistory[17] = Unknown State (0x6e757220)
StateHistory[16] = Unknown State (0x65622074)
StateHistory[15] = Unknown State (0x6f6e6e61)
StateHistory[14] = Unknown State (0x63206d61)
StateHistory[13] = Unknown State (0x72676f72)
StateHistory[12] = Unknown State (0x70207369)
StateHistory[11] = Unknown State (0x685421cd)
StateHistory[10] = Unknown State (0x4c01b821)
StateHistory[09] = Unknown State (0xcd09b400)
StateHistory[08] = Unknown State (0xeba1f0e)
StateHistory[07] = Unknown State (0xd8)
StateHistory[06] = Unknown State (0x0)
StateHistory[05] = Unknown State (0x0)
StateHistory[04] = Unknown State (0x0)
StateHistory[03] = Unknown State (0x0)
StateHistory[02] = Unknown State (0x0)
StateHistory[01] = Unknown State (0x0)
Flags (0000000000)
UserFlags (0xcb462713) DNUF_WILL_BE_REMOVED, DNUF_DONT_SHOW_IN_UI,
DNUF_SHUTDOWN_QUERIED
Unknown flags 0xcb462700
CapabilityFlags (0x010e00e0) DockDevice, UniqueID,
SilentInstall, NoDisplayInUI
Unknown flags 0x010c0000
DisableableDepends = 15460 (from children)
#284 diderius6
: kd> lm
start end module name
804d7000 806e5000 nt (pdb symbols) c:\symbols\ntkrpamp.pdb\7D6290E03E32455BB0E035E38816124F1\ntkrpamp.pdb
806e5000 8070a400 hal (deferred)
ba36d000 ba386b80 Mup (deferred)
ba387000 ba3b3980 NDIS (deferred)
ba3b4000 ba3ca880 KSecDD (deferred)
ba3cb000 ba3ee180 Fastfat (deferred)
ba3ef000 ba400f00 sr (deferred)
ba401000 ba420b00 fltMgr (deferred)
ba421000 ba6d6000 iaStor (deferred)
ba6d6000 ba6fba00 dmio (deferred)
ba6fc000 ba71ad80 ftdisk (deferred)
ba71b000 ba72ba80 pci (deferred)
ba72c000 ba74b000 asmthub3 (deferred)
ba74b000 ba7a7000 asmtxhci (deferred)
ba8a8000 ba8b1300 isapnp (deferred)
ba8b8000 ba8c2580 MountMgr (deferred)
ba8c8000 ba8d5200 VolSnap (deferred)
ba8d8000 ba8e0e00 disk (deferred)
ba8e8000 ba8f4180 CLASSPNP (deferred)
bab28000 bab2d500 USBSTOR (deferred)
bab30000 bab34d00 PartMgr (deferred)
bacb8000 bacbb000 BOOTVID (deferred)
bada8000 bada9b80 kdcom (deferred)
badaa000 badab100 WMILIB (deferred)
badac000 badad280 USBD (deferred)
badae000 badaf700 dmload (deferred)
#285 XPLives ⇗ @diderius6
Dietmar,

Z87/Z97 and possibly X99 is the last chipset to work using on XP with USB on Intel USB ports.

SkyLake removed the eHCI which killed off USB 2.0 that XP understands.  This is the reason why only a pure Intel USB 3.0 xHCI driver is necessary to boot XP off SkyLake, Kaby Lake, and Coffee Lake from Intel USB 3.0 xHCI ports.  Even the USB 2.0 fake ports will not function.

I thought you had no issues booting from a USB Flash Drive to XP on Z170, Z270, Z370, Z390 Chipsets using Asmedia USB port?

What is the importance of you booting XP off NVMe?

Can you boot to Windows 2000 or 98SE DOS off this NVMe like SATA can?

Also Server 2003 boots in 3-6 seconds for me off SATA.

Would be faster operation if we image XP to SSD and load XP image from SSD to the Ramdrive to boot.

 

Page 20

#286 diderius6 I can use all the Asmedia chips in XP.
And few days ago I believed, that also boot XP from USB3 was no problem,
because this summer I tested this one time on the nice Asus z87i-pro board
and it works at once.
Now I see, that the problem is, that usbstor.sys does not like to start
on chipsets >=z170 for some strange reasons.
It is not clear for me. The driver has an coinstaller,
but when you once have made the harddisk usb friendly with this coinstaller, where is the problem?
No board from Skylake, Kabylake, Coffee lake works until now for USB boot for XP as I have to see.
Even the Apex X board, which can boot nearly everything, does not start usbstor.sys.
There is a strange connection between usbstor.sys and usbd.sys, one cant live without the other.
Long time ago I make some test with win98SE. I can boot it via USB:)),
but this was 10 years and more ago.
Now the only chance for USB boot is the method from s4e, have a look at reboot.pro
I tested it there for older motherboards with no NVME support at all and it works on nearly all boards,
even 10 years old.
The s4e method works for ANY driver
Dietmar
#287 XPLives ⇗ @diderius6
But you tested NVMe only for XP?

Can you boot to Windows 2000 or 98SE DOS off the NVMe like a SATA SSD can?

I already know USB can boot 98SE that's always worked for me but what about the NVMe?
#288 diderius6 ⇗ @XPLives for this you need a driver nvme.
Very hard job, to make this work in XP. Now we have, thanks a lot to Kai.
And until now I have not seen anybody with
booting XP direct via nvme with this driver, only me.
Kai make this for win2003.
When somebody is good in C programming,
it is possible to write a driver nvme.sys for the scsiport modell.
Then, ntboodd will work also and you have nvme from XP on any compi,
Dietmar
#289 diderius6 With s4e method it works

DevNode 0x89c39bb0 for PDO 0x89c39e50
         InstancePath is "PCI\VEN_1B21&DEV_2142&SUBSYS_21421849&REV_00\3&37f6853e&0&00E4"
         ServiceName is "asmtxhci"
         State = DeviceNodeStarted (0x308)
         Previous State = DeviceNodeStarted (0x308)
         
DevNode 0x87c69338 for PDO 0x87c6c478
           InstancePath is "USB\ASMEDIAROOT_Hub\4&290a3674&0&0"
           ServiceName is "asmthub3"
           State = DeviceNodeStarted (0x308)
           Previous State = DeviceNodeStarted (0x308)
           
DevNode 0x87c598d8 for PDO 0x87c5c7c8
             InstancePath is "USB\VID_1058&PID_25A2\57584631414237524541354A"
             ServiceName is "USBSTOR"
             State = DeviceNodeStarted (0x308)
             Previous State = DeviceNodeEnumerateCompletion (0x30d)
             
DevNode 0x87a7d5d0 for PDO 0x87a8a0d0
               InstancePath is "USBSTOR\Disk&Ven_WD&Prod_Elements_25A2&Rev_1021\57584631414237524541354A&0"
               ServiceName is "disk"
               State = DeviceNodeStarted (0x308)
               Previous State = DeviceNodeEnumerateCompletion (0x30d)
#290 diderius6 Yessssaaaaahhh :))
first direct USB3.1 boot on the Asrock fatal1ty z370 gaming k6 board
Dietmar

EDIT: Just boot from Kanguru USB stick.

EDIT2: USB3.1 boot via SSD and full Acpi support on the Asrock board,
feels very fast.



diderius6 has attached images to this post  ⇗ asrockUSBboot31.jpg  ⇗ kanguruUsb31boot.jpg  ⇗ USB31bootSSD.jpg
#291 diderius6 Hi,
is there a generic Bios patch, that allows to start the ehci (USB 2) driver on XP, Vista?
Dietmar
#292 XPLives ⇗ @diderius6
I noticed a few issues.  I always enjoy seeing your bare bones test bed. But maybe add a cardboard box underneath MB to protect the desk from unnecessary scratching.

On the BIOS go to the iGPU change shared memory from 1.5GB to 32MB.  Some MB only allow 64MB or 128MB minimum.   No need to suck up 1GB+ memory from OS.
Intel HD Graphics 4200+, 530+ don't support XP so it is wasted entirely.

I use 32MB only on the Ivy Bridge with the HD 4000 and it is a beauty. ;)

3.43GB of RAM available on mine.  If someone can make Intel HD Graphics 630 emulate HD 4000 compatibility then we have a gold mine.
1.94GB of RAM available is too much lost!!! (1.49GB?  That means 1.5GB shared memory)  Integrated Graphics Disable Auto Memory and set manual to the lowest possible.


For benchmark install Gavotte Ramdisk and repeat the Crystal DiskMark 3GB Ramdisk test. :)
#293 diderius6 ⇗ @XPLives

I do not use any linux for this USB 3.1 boot.
Only the 2 original drivers ASMedia USB 3.0+3.1 Drivers v1.16.54.1 WHQL for Win7 for the Asmedia chip
and set in each *.inf   
StartType = 0
LoadOrderGroup = System Reserved
Then I put all USB.sys from XP SP3 files into directory Windows\system32\drivers.
Also in all its *.inf I set the same values as above and copy all *.inf to Windows\inf folder.

Two things are important:

1.) After you installed the Asmedia driver, you have to connect your USB device to
the 3.1 USB port. When it is recogniced,
look in registry, if HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\usbstor
ist set to start=0 and Group System Reserved. The entry for Group you need to do by hand.

The same you have to look for the two entries of the asmedia drivers there:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmtxhci
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\asmthub3]

Now comes the part, which makes me like crazy:
The usbstor.sys driver only starts, when it sees another drive from the boot device.
It is like the cat bites in its tail, when the boot device is usb.

2.) But small trick helps: Connect any other usb device to the same 3.1 chip, asmedia has 2 ports.
An USB mouse can do this job.
During boot, the usb boot device "sees" its partner and only then starts usbstor.sys.
And then it uses usbstor.sys for itself:))

Dietmar
#294 diderius6 Hi all,
I just ordered EVGA Z390 Dark motherboard via Amazon.
I will install there ACPI XP with really all drivers for XP, given the real power and make a compare with Win10^^

Dietmar

PS: I just hear, that wine 4 works with DirectX 12.
#295 diderius6 Just in this moment my EVGA Z390 Dark motherboard arrives from USA.
Now fun starts with XP on it, have a nice sunny day,
Dietmar
#296 diderius6 Evga presents an XP friendly Bios with full ACPI support for the z390 dark
1E399092.bin
Dietmar
#297 diderius6 After very good results for speed test in any situation,

and long life,

I just ordered an
Intel Optane SSD 905P 960GB, PCIe 3.0 x4 (SSDPED1D960GAX1)

and will install XP SP3 on nvme on it.

In few days I report about,

Dietmar
#298 diderius6 Oha,
I just noticed, that the timer in the original XP Bios from EVGA for the z390 dark motherboard not works.
And also compi stays always in C0 state, brrr.
And the most crazy thing: This happens also in Win10, power consumption on 9900k always about 27 Watt..

Now I chance all against my modified

acpi.sys
hal.dll
intelppm.sys

and all is nice:
Full ACPI support with Hyperthreading, Timer works, powerconsumption on 9900k about 2 Watt:)).

This simple means,
we, Mov AX, 0xDEAD and me Dietmar
are better
Dietmar
#299 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #298


Now I chance all against my modified

acpi.sys
hal.dll
intelppm.sys




any chance i could try out your modified drivers for myself? or PM me the necessary hex edits you did for me to test the edits myself?
#300 RayeR Hi, very interesting thread and congrats to diderius6 for his effort and reporting progress.
Just an idea, instead of patching ACPI tables (which may get harder and harden in the future) would be possible to replace AMLI - acpi.sys by opensource counterpart from ReactOS? It seems they use ACPICA and it should be much more up to date than obsolete WXP original file. But I can imagine that it would be a hard work, probably the kernel intrface of ROS is not exactly same as WXP...
I also read somewhere that years ago some part of MS Windows sources had leaked (not sure if it was W2K/XP or other version) so if we could get acpi.sys sources it would be possibe to upgreade to implement newer 2.0 functions. If not maybe still possible to write some driver/filter that will be called before acpi.sys it will transform necessary things 2.0 to 1.0 and pass it further to original aspi.sys. But just thinking no idea if such hook possible and how hard to code it... I personally still run old good Sandybridge on a compatible MB but good luck to your work.

 

Page 21

#301 Mov AX, 0xDEAD
Zitat von ⇗ RayeR im Beitrag ¶ #300
replace AMLI - acpi.sys by opensource counterpart from ReactOS? It seems they use ACPICA and it should be much more up to date than obsolete WXP original file. But I can imagine that it would be a hard work, probably the kernel intrface of ROS is not exactly same as WXP...

MS uses own implementation of acpi and it very far from acpica, and yes, acpi.sys is not just acpi driver, it also implement some pnp/pci/resource functions and connected with kernel/hal
Zitat von ⇗ RayeR im Beitrag ¶ #300

I also read somewhere that years ago some part of MS Windows sources had leaked (not sure if it was W2K/XP or other version) so if we could get acpi.sys sources it would be possibe to upgreade to implement newer 2.0 functions. If not maybe still possible to write some driver/filter that will be called before acpi.sys it will transform necessary things 2.0 to 1.0 and pass it further to original aspi.sys.

- part of nt4 and win200 sources leaked, mainly user-mode, drivers not leaked
- this is impossible because we cannot emulate new commands by old acpi 1.0 syntax. we cannot skip new commands because logic will destroyed
#302 diderius6 ⇗ @Mov AX, 0xDEAD
May be it is possible,
to modify acpi.sys from XP in this way, that it just ignores the 3 keywords, which gives BSOD.

CopyObject
CreateQWordField
QwordConst

Another, really hard way would be, to teach acpi.sys the 14 words from Acpi 2.0,
have a nice evening,
Dietmar
#303 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #302
@Mov AX, 0xDEAD
Another, really hard way would be, to teach acpi.sys the 14 words from Acpi 2.0,


hard but possible, it may take some weeks digging in IDA if you know 80386 asm
#304 diderius6 Today I make a new acpi.sys for XP SP3 32 bit.
It works on AMD, Intel motherboards,
for all languages,
Dietmar



diderius6 has attached files to this post
#305 diderius6 ⇗ @Mov AX, 0xDEAD

Oh, I just see, that you updated your acpi.sys for XP SP3 32 bit,
so that the error
0x000000A5 (0x00000003, xxxx, 0xС0140001, yyyy)
is gone.
This patch would be really nice, because this means no modding
of Bios any longer needed because of unknown ACPI 2.0 words
Dietmar

PS: With simple unconditional forced jmp (EB) I overcome
      0x000000A5 (0x00000011, ...
      0x000000A5 (0x00000002, ...
      0x000000A5 (0x00002001, ...
      0x000000A5 (0x00000008, ...

But this does not work for error
0x000000A5 (0x00000003, ...

Until now, I do not noticed any side effects,
but who knows^^..
#306 Mov AX, 0xDEAD Exploring acpi.sys on Windows Longhorn betas:
4008 - integers are 32 bit, support most of acpi 2.0 opcodes (except CopyObject, Timer, QWordConst)
***
4042 - last version with 32 bit integers
4051 - first version with 64 bit integers
***
4074 - support new opcode CopyObject
***
5048 - import table match win xp !!!
***
5342 - support new opcode Timer and QWordConst, PDB published on Microsoft SYMBOL Server
5365 - integers are 32/64 (switched depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types, PDB published

Qemu Acpi 1.0 tests:
5048 + WinXP = acpi correct
5048 + Longhorn  = acpi correct

Qemu Acpi 2.0 tests:
5048, 5112, 5219 = bsod  0xA5 (0x14, xxx, 0x8A, yyy)
5259 = random bsods with error code or without
5342 = acpi correct, installer unstable
5365 = acpi correct

Skylake Acpi 2.0 hardware:
4008<->5342= bsod 0xA5 (0x03, xxx, C0140008, yyy)
5365 = acpi correct
#307 diderius6 ⇗ @Mov AX, 0xDEAD

"i'e played little with longhorn betas:"

Yesss, the idea is clear because 100% match of problem.
Only, how to overcome this, is other question
Dietmar
#308 RayeR Hi, thanks for clarification.
Just a question to this statement: " this is impossible because we cannot emulate new commands by old acpi 1.0 syntax"
I don't know how much new and old ACPI differs but I belive it should be possible to emulate new functions by old functions. E.g. if there was added some function to work with 64bit operands it could be broken to 32bit operations in osme auxiliary function. Like in C I could code my own libC functions with bare C code or old libC functions to implement new libC functions. But maybe I'm wrong and new ACPI is too different...

BTW
another idea that could help with managing of your ACPI patches. I found that Apple MAC comunity uses a nice tool called MACiASL. It bundles iALS with some editor, patch engine and GUI. The idea is you can create text file patches for specific BIOS/motherboard to share and contribute by other users. They can then choose and download specific patches and apply them to theirs own DSDT (or could be on BIOS image for this purpose). Some patterns that needs to be replaced are generic in various BIOS ACPI tables so this can save some work and could extend patches for other motherboards...

⇗ http://www.macbreaker.com/2014/03/how-to...th-maciasl.html
#309 Mov AX, 0xDEAD
Zitat von ⇗ RayeR im Beitrag ¶ #308
They can then choose and download specific patches and apply them to theirs own DSDT (or could be on BIOS image for this purpose). Some patterns that needs to be replaced are generic in various BIOS ACPI tables so this can save some work and could extend patches for other motherboards...


this method is low effective, since the skylake+ bioses has a huge number of new acpi 2.0 commands in many places and the generic patterns will have to replace a lot of lines with their acpi 1.0 equivalents, which still need to be written.
#310 diderius6 History of Windows Vista ( aka Longhorn) is really interesting:)).
It started in 1999 (!) on the files from XP.
Later, they make a mix of XP and Winserver 2003, which makes it instabil.
After version 4094 they make a brake and decided to take only Win2003 SP1 as base for Vista.
So, Vista is an ideal candidate for XP SP4^^
Dietmar
#311 diderius6 ⇗ @Mov AX, 0xDEAD
Have you tried Longhorn versions > 5048
for import table match XP?
They are still downloadable
Dietmar

PS: 5384?

EDIT: Nice, 5048 boots XP SP3
#312 Mov AX, 0xDEAD
Zitat
Have you tried Longhorn versions > 5048


not yet, i have links to download only 5112(beta1), 5219(beta2), 5229(beta2)

Zitat von ⇗ diderius6 im Beitrag ¶ #311

PS: 5384?


vista beta2, big mismath import table like usual vista
#313 diderius6 Make try with
⇗ https://winworldpc.com/product/windows-l...-vis/post-reset
Dietmar
#314 diderius6 Latest Windows Longhorn (6.0.5840.16384) (rc2)
does not work, needs other ntoskernel,
Dietmar

Edit: 5536, 5384, 5342 the same, also not work.

PS: 5048 on
     normal Bios vers. 106 on EVGA z390 dark gives the same BSOD as for you
     0xA5 (0x03, xxx, C0140008, yyy)
This sounds like, that least one vocabel from the DSDT table acpi.sys 5048 does not like.
But this is a big step forward.

Ok, small hack, that compi jumps over this deathzone:)) gives now
0x000000A5 (0x00010006, ..., ..., ...)

EDIT2: Next Hack with jump over next deathzone, now compi hangs during boot
          after drvmain.sdb , yes this hangs at acpi.sys
AppPatch/drvmain.sdb
DRIVERS/ACPI.sys
#315 Mov AX, 0xDEAD ¶ Windows XP SP3 32bit and modern PC parts (21)

 

Page 22

#316 diderius6 I can install normal (my own) Vista 32 bit on the EVGA dark z390 motherboard with Bios 106,
without any BSOD (no mouse, brrr:-)).
So they change something in Acpi from version 5048 to last Vista 2006.
This means, there is hope for XP SP4 (Vista^^)
Dietmar

PS: The Bios 106 from the EVGA board contains the ACPI 2.0 words
     QwordMemory (and QwordAcc).
     This may be the reason for BSOD, because this words do not appear in the Assembler Source
     of acpi.sys 5084 (Qword...).
#317 diderius6 Microsoft Windows Vista (''Longhorn'' 6.0.5270.9)
acpi.sys some changes in Hal.dll and ntoskrnl.exe
Dietmar

EDIT: Also some changes needed for acpi.sys in
hal.dll and ntoskrnl.exe for Windows Vista (''Longhorn'' 6.0.5259.0) ,
the same for
Microsoft Windows Vista (''Longhorn'' 6.0.5231.0),
Microsoft Windows Vista (''Longhorn'' 6.0.5219.0)
Microsoft Windows Vista (''Longhorn'' 6.0.5112.0)
Microsoft Windows Vista (''Longhorn'' 6.0.5365.8)
Microsoft Windows Vista (''Longhorn'' 6.0.5472.5)
#318 Mov AX, 0xDEAD .del
#319 diderius6 The ACPI 2.0 word Qword..
I do not find in any acpi.sys.
Only the word CreateQwordField.
So, this are 2 different vocabularies,
Dietmar

PS: An the Asus Apex 10 Bios there was a work around as I remember
for XP and Vista for the Qword..
but not for CreateQwordField.
#320 diderius6 When I try to install Vista (calls itself Longhorn^^) 5048 via DVD
on real Evga dark z390 with Bios 106 motherboard,
I get in the very beginning the same BSOD as under XP:
0xA5 (0x03, xxx, C0140008, yyy)

So, it is related to this acpi.sys from 5048
Dietmar

PS: Now hard works start, to find the first Vista, which installs Vista without this BSOD
on this board.
Then you compare this acpi.sys with this BSOD as above  vs  first  acpi.sys without this BSOD,
all under Vista setup.
#321 diderius6 Yepp ,
Microsoft Windows Vista (''Longhorn'' 6.0.5472.5)
installs Vista 32 Bit without BSOD on real Evga dark z390 with Bios 106
Dietmar
#322 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #321
Microsoft Windows Vista (''Longhorn'' 6.0.5472.5) installs Vista 32 Bit without BSOD


5342.2 - bsod
5365.8 - ?
5381.1 - ?
5384.4 - acpi corect
#323 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #319
The ACPI 2.0 word Qword..
I do not find in any acpi.sys.


#define AML_QWORD_OP   0x0e
you will never found it, because it has no text presentation, it is opcode for storing 64 bit integer constants
see amlcode.h, it show all you need
#324 diderius6 5384.4  acpi correct I can just confirm:)),



5365.8   acpi also correct, so this is the very first version without any BSOD

5342.2 - same BSOD as before, I just can confirm. This is last version of Vista with BSOD.


Dietmar
#325 diderius6 A difference, that I can see at once between this 2 acpi.sys is,
that the Acpi.sys which works, has extra connections to ntoskrnl.exe
via

    ETW EventEnabled
    ETW Register
    ETW  Write

Dietmar

PS: But I do not think, that this is the reason why no BSOD.
#326 diderius6 I changed in acpi.sys (5048)
8BFF558BEC8B4D0C85C98B45148B50187D218B550885D289482074058B4210EB0233C0
5051526A0368A5000000FF154C620300C74018020000005283C01050E836FFFFFF5DC3

against (from acpi.sys 5365)
8BFF558BEC8B4D0C85C98B45148B50187D218B550885D289482074058B4210EB0233C0
5051526A0368A5000000FF15AC420300C74018020000005283C01050E850FFFFFF5DC3

But this gives during start of XP SP3 BSOD 0x7B
Dietmar

EDIT: This you can forget: This BSOD routine is absolut identic, only the adresses changed.
#327 diderius6 The 5048 acpi.sys boots the Asus Apex X (Bios 1901) XP SP3 with full Acpi support
without any modification.

So, for some motherboards no hack at all is needed in acpi.sys.

About the Asus board: They isolate Qword.. in Bios for XP and Vista.
So, may be the Amli Interpreter has a problem with this word.
And it has been undiscovered in so many versions of Vista, because 2006
was no Bios with Acpi 2.0 on the market
Dietmar

PS: Idea from this is: What did change in Amli Interpreter from version
     5342.2 to 5365.8 . My favorit is QwordConstant.
If we cant overcome this: The only word in DSDT what has to be isolatet is Qword..
And this would be in the same time the test, if the idea about Qword is right.

EDIT: The problem with timer (needs modified hal.dll) and with Power states (needs modified intelppm.sys)
         is the same as before with 5048 acpi.sys. So, this acpi.sys solves only BSOD A5.
#328 diderius6 New acpi.sys for XP SP3 32 bit,

all languages and compis.

Please tell me results for making things better

Dietmar

EDIT: The problem is more complex:
         
         On my asrock fatal1ty z370 gaming k6
         with acpi.sys 5048 I get again
         BSOD  0xA5 (0x03, xxx, C0140008, yyy).
         And in its Bios I isolated ALL CreateQwordField
         and CopyObject instructions.
        
EDIT2: The problem may be really in QwordConstant:
acpi.sys from XP has no problem with this word.
But acpi.sys 5048 has.
This I know, because in DSDT table from the asrock fatal1ty z370 gaming k6
there appear QwordMemory and QwordAcc. I do not isolate them.
XP boots.

And may be because of QwordMemory and QwordAcc
BSOD 0xA5 (0x03, xxx, C0140008, yyy)
with acpi.sys 5084 on the Asrock board.

So, at the moment, acpi.sys 5084 is worse than my modded acpi.sys before.



diderius6 has attached files to this post
#329 diderius6 acpi.sys from Windows Vista (Longhorn) 3683 also
match all dependencies from ntoskrnl.exe and hal.dll
but it is from 2002 (!) and looks like XP pur,
Dietmar
#330 diderius6 acpi.sys from Microsoft Windows Vista (''Longhorn'' 6.0.4011.0)
gives during Vista install on my Asrock board the known error 0xA5 (0x2..).
This BSOD I know, it is the same as from XP SP3 normal acpi.sys.
So, this Vista acpi.sys is not better than the one for XP
Dietmar

 

Page 23

#331 diderius6 I just isolate the Acpi 2.0 word QwordAcc in Bios 3.20 of the Asrock board.
The QwordMemory word stays in Bios.
This gives the same BSOD 0xA5 (0x03, xxx, C0140008, yyy) as before on ahci.sys 5084
Dietmar
#332 diderius6 Now I isolate Acpi 2.0 word QwordAcc in Bios 3.20 of the Asrock board and
also word QwordMemory at all its places in Bios.
The resultat is a changed BSOD
0x000000A5 (0x00000003, xxx, 0xC0000034, yyy).
One thing you can see from this: QwordMemory and QwordAcc are not the (only) reason
for BSOD 0x000000A5 (0x00000003 on acpi.sys 5048.
Dietmar

EDIT: When I start with this modified Bios and use my own, modified acpi.sys,
which works for this board, I get now BSOD 0x7b,
so this happens because I isolate QwordMemory in Bios.
There is other important information in this large block with QwordMemory,
which I block. So even Win7 does not want to start from this Bios.
I Flash Bios back, now all ok again.
#333 diderius6 May be, nearly all Bios
have real errors.
Very critical acpi.sys gives them all together out as 0x000000A5 (0x00000003, xxx, C0140008, yyy).
And the only thing, why this error goes away is,
that newer acpi.sys from Vista are more error tolerable
Dietmar
#334 diderius6 After a lot of problems,
I succeed to install Windows Vista (''Longhorn'' 6.0.4011.0)
on the EVGA dark z390 motherboard via installed XP SP3 on it and the Asmedia AHCI connectors.
So acpi.sys 4011 shows no errror in correct Bios
Dietmar

EDIT: The acpi.sys 4011 has also a new dependency on ntoskrnl.exe and also one to hal.dll.
         When I try to start XP SP3 with this acpi.sys 4011  I get BSOD 0x7B.

EDIT2: acpi.sys 4008 has no (!) new dependency on ntoskrnl.exe but one to hal.dll,
which gives BSOD 0x7B on try to boot XP SP3.

EDIT3: acpi.sys 3718 has no extra dependencies, but also no ACPI 2.0 in it.
          No BSOD but hangs on boot XP SP3.
#335 infuscomus I tested ACPI beta 5048

7E BSOD specific to acpi.sys
#336 diderius6 ⇗ @infuscomus
The BSOD 7E can happen,
when you have a driver for your harddisk AHCI,
that is similar to the right driver.
For example you use DEV_A353
but the real name is DEV_A352
Dietmar

EDIT: The reason can be in this case something complete different:
When you change acpi.sys, whole structure how windows loads drivers,
changed. So, this alone can make this BSOD.
For to test this, you have to open HIVE "system" in WINDOWS\system32\config
(from your XP with acpi.sys vers 5048)
in another XP and import with regedit from commandline to HKLM (load structure).
When you named the HIVE system for example otto,
you find otto under HKLM of your working XP.
Delete there key MountedDevices (in otto).
After deleting, mark otto blue (with mouseclick on it), go up left corner "Struktur entfernen" (in German).
Then, on your connected XP with acpi.sys 5048 the chances are automaticall stored.

EDIT: BSOD 7E can have a lot of reasons. To me happend the same BSOD with newer versions
of acpi.sys from Win2003.
#337 infuscomus It's the ACPI(beta) driver, not AHCI
#338 diderius6 I noticed a difference between acpi.sys XP SP3 and acpi.sys 5048 on the Asus Apex X board, both work on unmodded Bios, here vers. 1704.
The 5048 acpi.sys tries to install a device via acpiec.sys (from XP) but failed to do this:
Name (_HID, EisaId ("PNP0C09") /* Embedded Controller Device */)  // _HID: Hardware ID
Yellow questionmark in device manager: No error, but device does not start.
I just checked, this device is indeed in the DSDT table from Bios 1701 of the Asus Apex X board.
This device does not appear in XP acpi.sys list.
This again makes me think, that nothing importand changed in those acpi.sys,
only the acpi.sys 5048 works more correct as the one from XP
Dietmar

PS: The work together from acpi.sys with acpiec.sys is unclear for me. How can each driver know,
     which device is for what driver, when they share one DSDT table???
     The driver acpiec.sys is in folder drivers of XP SP3.
#339 diderius6 ⇗ @Mov AX, 0xDEAD

Vista 5365 - integers are 32/64 (selectable depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types,
PDB published.
Nice finding, this overcomes any problems with 32 bit <-> 64 bit in acpi.sys.

Which version of  Windbg do you use for this (Server under XP Windbg?) and where to you find the acpi.pdb for the 5365 version?

Did you understand, how the select mechanism for V1, V2 works (can it easy be faked, meaning always V1=32) and the following "Dynamic conversion of types" and can it be implemented (set V1=32) in 5048 acpi.sys version?
Dietmar
#340 diderius6 ⇗ @Mov AX, 0xDEAD

Do you think, that 5365 acpi.sys still works,
when you just cancel extra questions (dependencies) to XP ha.dll and XP ntoskrnl.exe in it
Dietmar
#341 infuscomus You can try using blackwingcat's PEMaker to edit the import table?

⇗ http://blog.livedoor.jp/blackwingcat/archives/1313117.html

although, I don't know if this will work.
#342 diderius6 ⇗ @infuscomus

Waaoh, this is really a nice tool,
thank you very much
Dietmar

PS: At once I come to the idea, to make the INTEL 219 lan driver
     to work with XP via this tool.

EDIT: My problem is now, that I do not understand, HOW I can modify the import table from acpi.sys 5048
with this tool. I cant see any option to modify this importlist, only can see it.
#343 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #339
@Mov AX, 0xDEAD
Vista 5365 - integers are 32/64 (selectable depending revision of DSDT table, V1=32, V2=64), added Dynamic conversion of types,
PDB published. Nice finding, this overcomes any problems with 32 bit <-> 64 bit in acpi.sys.
Which version of  Windbg do you use for this (Server under XP Windbg?) and where to you find the acpi.pdb for the 5365 version?
Did you understand, how the select mechanism for V1, V2 works (can it easy be faked, meaning always V1=32) and the following "Dynamic conversion of types" and can it be implemented (set V1=32) in 5048 acpi.sys version?
Dietmar

- any windbg has symbol downloader tool, just C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\symchk.exe /v acpi.sys, result in c:\windows'symbol\
- if revision=v1, all internal integers operation are 32 width, this is compatibility mode with old bioses (acpi 1.x only ???), we still can use all qword* opcodes, i think if we need access to 64bit things, we access only low 32 dword, high is forced to zero
- if revision=v2, all ints are 64bit, no limitation, full access to any field/mem
- "Dynamic conversion of types" is not integer conv, this is conversion string to buffer or vice versa or some else, i see this conv in handlers of two opcodes: Index(), LogOp(and,or,not)
#344 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #340

when you just cancel extra questions (dependencies) to XP ha.dll and XP ntoskrnl.exe in it


remove import, remove call in code and place some code (emulate orig logic) instead, you need be asm hacker to do this...
#345 diderius6 ⇗ @Mov AX, 0xDEAD

Yes, but the nice thing in this would be,
that you can use the original, last vista acpi.sys
Dietmar

PS: I take a look at this extra functions in ntoskrnl.exe and hal.dll.
     I do not think, that they are really needed for working acpi.sys.

 

Page 24

#346 diderius6 May be it is not so difficult:
Just take import list from acpi.sys 5048
and replace with it import list from acpi.sys 5365
Dietmar
#347 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #342
@infuscomus

Waaoh, this is really a nice tool,
thank you very much
Dietmar

PS: At once I come to the idea, to make the INTEL 219 lan driver
     to work with XP via this tool.

EDIT: My problem is now, that I do not understand, HOW I can modify the import table from acpi.sys 5048
with this tool. I cant see any option to modify this importlist, only can see it.


I think PEMaker 0.82 is bugged - use PEMaker 0.60

select english
under Import TBL tab - the button ?? next to replace button is delete button - you can delete imports this way

there is another tool - PETool 0.0.5 that can add exports too if you need it
⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/
#348 diderius6 ⇗ @infuscomus
yessa ,
Version PEMKR031 works,
I can edit the Importtable from acpi.sys 5365,
now really fun starts,
Dietmar
#349 diderius6 Yessa, all missmatched dependencys killed from acpi.sys 5365 to
ntoskrnl.exe from XP SP3.
Dependency Walker shows this,
nice,
wow,
now
hal.dll
Dietmar

Edit: hal.dll is also freed from all evil!
#350 diderius6 Not work, acpi.sys 5365 shows BSOD 0x7b,
sniff
Dietmar



EDIT: The fun is not over,
because I just notice, that acpi.sys 5365 has some more and also some missing components
comparing with acpi.sys from XP SP3.
#351 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #349
Yessa, all missmatched dependencys killed from acpi.sys 5365 to
Edit: hal.dll is also freed from all evil!

It reminds me of a runner, who gets shot off one foot after the other )
When you kill import, loader will not reference some function to external dll, and when this function called inside acpi.sys, it will call/jmp to zero or something like that.

example:

KeStartDynamicProcessor not exist in winxp kernel, you killed import, you need write own func inside acpi.sys or avoid calling it.
some funcs like EtwRegister is useless trash and we can avoid calling it without any problem
you can't skip important func like IoConnectInterruptEx, it register ISR handler to interrupt processing, as we know acpi has own interrupt/irq line and need this handler
#352 diderius6 Yes, I think this is true.
I changed all 67 dependencies, the file acpi.sys from 5365 looks now identic like this one from XP,
but still gives at boot BSOD 0x7b,
Dietmar
#353 diderius6 No, the Tool is not such stupid.
It also cancel the function call in its routine,
when it is deleted from Importtable.
I make a check:
My last acpi.sys build from 5365 with about 100 changes.
And compare with original acpi.sys 5365.

call    ds:KeStartDynamicProcessor

is gone in the modified one
Dietmar

PS: But I understand now, why I get BSOD 0x7B.
The Tool killes all dependencys to hal.dll, I checked this with IDA, crazy,
even they are still shown. But IDA pro shows at once, no dependencies left for hal.dll, brrr..

EDIT: Even I think, you can really make an working acpi.sys via this tool, in the end all the new progress from Vista is gone,
it is a clone from the XP acpi.sys with some new opcodes for XP routines.

EDIT2: For to understand, what is going on, I added the function KeFlushWriteBuffer,
which is normally not in acpi.sys from XP to acpi.sys from XP, ntoskrnl knows about it.
Again the strange thing happens: I got BSOD 0x7B and the dependency for ALL functions on hal.dll are
gone again, brr.



diderius6 has attached files to this post
#354 infuscomus We could try adding forwarded exports to XP ntoskrnl using PETool 0.0.5 - possibly?
#355 infuscomus I made an attempt at forwarded exports for ACPI 5365 - but I'm not sure how well I did.

I think I messed up XP hal.dll - or not? need to test

⇗ https://ufile.io/mjsgw0r9

fixed pshed dll
⇗ https://ufile.io/toamtpf4
#356 diderius6 ⇗ @infuscomus
I make a try similar to this yesterday also.
I put acpi.sys 5365 together with ntoskrnl from its Vista
and all the dll, that I found via Dependency Walker.
But even in this way it becomes Vista:)),
compi always cries, a dll is missing,
Dietmar

PS: I do not think, that the PE Tool from Blackwingcat is so bad.
I take a look with Beyond Compare 2 to it, what happens.
3 sections are always like cut out, changed, but nothing more.
So, even the tool deleted all dependencies to hal.dll,
that Ida Pro cant find them (they are reall gone, I checked),
there is a chance to give them back after operation.
I will make a test today: I take the working acpi.sys from XP
and delete one of its functions and give it after back with the Tool.
Via this way you can precise see, where the Tool went wrong.
#357 diderius6 ⇗ @infuscomus
With the tool
Dependecy Walker
you can see, what went wrong in your forwarding,
Dietmar
PS: The idea is nice, only I think then you need a lot of other dll from Vista.
#358 diderius6 It seems, that the Pe-Tool only cancels the name of the dependency,
the dependencies itself as .idata are still at there place.
Ida Pro looks only for the names of dependencies (blind),
but Dependency Walker looks at real dependencies (good).
May be, when you add a new function, there is not enough place in "subtable" aka Pe-Tool.
Not easy to delete a function and then add another,
because which function is not needed,
Dietmar

EDIT: In XP SP3, the Pe-Tool does not work correct.
        For to test this, I first delete function KfAcquireSpinLock
        and then add it again. Gives just BSOD 0x7B.
        A check with Beyond Compare 2 shows, that there are only minimal
        differences between the original acpi.sys and this "new" build acpi.sys.

EDIT2: May be, the tool changed the functions against them from Win2000?!
#359 infuscomus can you compare the files i have made to yours? - are we getting the same problem?

⇗ https://ufile.io/l2nq5ng9

p.s - I tried to integrate files into install media, i got ntkrnlmp.exe error code 7 in textmode
#360 diderius6 When you look at acpi.sys with Dependency Walker,
you can see, that some forwarded functions to ntoskrnl.exe are red,
means not correct
Dietmar

 

Page 25

#361 diderius6 Yeaaah, I just get the version 0.82 to work.
And voila, now the dependency to hal.dll is kept,
lets see, if mody mody modified acpi.sys boots XP
Dietmar
#362 infuscomus do you get strange errors like this?

#363 diderius6 ⇗ @infuscomus

No, my problem was, that all was green,
but even then modified acpi.sys does not work
Dietmar

EDIT: Njet, again BSOD 0x7B, brrr..
#364 diderius6 Oh, I think I am only 1 step away from break through:
Now I get BSOD FC (...) hihi, interesting.. in not executable memory..
Dietmar

EDIT: I think this is the fault of the Pe-tool 0.82. It changes adresses and so follows this BSOD in XP.

#365 infuscomus could these files be made to work?

⇗ https://ufile.io/l2nq5ng9

or is this the wrong solution for this problem?
#366 diderius6 Forwarding is not correct done.
I do not know, if with this forwarding tool Pe 005
it is easier than with 0.82 version from Blackwingcat.
I think, the PETool 0.82 does not work correct with XP
Dietmar
#367 infuscomus If forwarding is not the right solution, any other ideas?
#368 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #364
Oh, I think I am only 1 step away from break through:
Now I get BSOD FC (...) hihi, interesting.. in not executable memory..
Dietmar

EDIT: I think this is the fault of the Pe-tool 0.82. It changes adresses and so follows this BSOD in XP.



maybe set execute flag for that section? I'm just guessing
#369 diderius6 This is very difficult,
to write own code for acpi.sys. I tried to integrate word "ToInteger" in normal acpi.sys from XP.
This is really crazy work.
For me, using the 0.82 PE-Tool with edit Import Functions, was "best result"
no BSOD, but you can see the running pixel for ever^^
Dietmar

EDIT: Problem is, that I do not understand why and how the Pe-Tool changes adresses.
For me this makes no sense: When you delete a function and afterward add it again,
why should change anything???
#370 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #369
This is very difficult,
to write own code for acpi.sys. I tried to integrate word "ToInteger" in normal acpi.sys from XP.
This is really crazy work.
For me, using the 0.82 PE-Tool with edit Export Functions, was "best result"
no BSOD, but you can see the running pixel for ever^^
Dietmar

EDIT: Problem is, that I do not understand why and how the Pe-Tool changes adresses.
For me this makes no sense: When you delete a function and afterward add it again,
why should change anything???


I mainly used PEMaker 0.82 to remove imports

Try this tool for adding exports maybe? - you might have better luck with this

⇗ https://msfn.org/board/topic/146529-pe-t...eating-patches/

I used this to add new export functions
#371 diderius6 I find out,
what the 0.82 tool did.
For this I produce a *.lst file via Ida Pro before
and one *.lst file after deleting and adding the same function
in original acpi.sys from XP. This 2 textfiles I compare with Beyond Compare 2.

The tool changes

KfReleaseSpinLock <-> WRITE_PORT_ULONG

If all adresses would be changed correct also,
then this would be not a problem.
But it is.
So, may be the tool can be forced to let the adresses combined with the function names
unchanged,
Dietmar

PS: This finding gives me hope:-)!
#372 infuscomus have you tried PETool 0.0.5? does it produce the same result as PEMaker 0.82?
#373 diderius6 No, at the moment I have not tried.
The problem is with forwarding, that you have to find all
the dlls, that match the "new" kernel.
With the 0.82 tool, you need nothing, even not the files hal.dll and ntoskrnl.exe.
where the acpi.sys depends on.
I begin to understand, how this tool works.
It is like a text based program.
It delets for you functions and put them in,
without any knowing of the functions itself.
It just operates on their names and adresses.
So, in principle this is a nice idea and much less complicate as
I thought in the beginning.
I wonder, why Blackwingcat does not support it any more,
0.82 is from 2012.
And it does not matter if the operating system is NT4, win2000, XP, Vista, Win7..
because their structure is identic
Dietmar
#374 diderius6 Yesssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaa
XP SP3 boots with modified acpi.sys via PE-Tool 0.82.
You only have to force the PE-Tool,
not to change in each function its raw adress
Dietmar
#375 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #374
Yesssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaa
XP SP3 boots with modified acpi.sys via PE-Tool 0.82.
You only have to force the PE-Tool,
not to change in each function its raw adress
Dietmar


well done!
I'm happy to hear you have got it working,
I'd love to try it out myself (I do hope this solves my 7B BSOD)

 

Page 26

#376 diderius6 Now I notice,
that acpi.sys 5365 has much more dependencies than acpi.sys from XP SP3.

NTOSKRNL.EXE
PSHED.DLL
HAL.DLL
BOOTVID.DLL
KDCOM.DLL
CLFS.SYS
CI.DLL
WMILIB.SYS

And the Pe-Tool 0.82 seems not to like to work with Vista,
Dietmar

EDIT: Lucky, that this is only true for 0.82 version. 0.60 version of the Pe-Tool works also for Vista files.
#377 diderius6 Next try with acpi.sys 5365 for XP SP3 boot,
but gives BSOD 0x7B
Dietmar



diderius6 has attached files to this post
#378 infuscomus I tried it out, I got - file acpi.sys is corrupted - in textmode setup

edit: missing - RtlInvertRangeListEx
#379 infuscomus maybe we can use the reactOS ACPI driver?
#380 diderius6 To modify the DSDT table on XP to an XP friendly DSDT version works,
if you succeed to load this table to registry (HIVE system to ram) before boot.
I tested this with the flag for the legacy timer via s4e method, works.
On Win2003 this is other situation,
because DSDT is not stored in registry,
only read direct from Bios
Dietmar
#381 diderius6 ⇗ @Mov AX, 0xDEAD

Do you find out,
why acpi.sys 5048 and all those acpi.sys versions for Vista around crashes on  XP unfriendly Bios
always with the same BSOD

0xA5 (0x03, xxx, C0140008, yyy)


When something went wrong, this BSOD takes you to the adress,
where this BSOD happens.

At which part of the DSDT table happens this, when acpi.sys reads DSDT?


The ACPI 2.0 words, which make problems for acpi.sys from XP

CopyObject
CreateQwordfield
QwordConst

are already integrated in acpi.sys 5048,
so this "always the same BSOD" may have a reason,
which can be easy overcome
Dietmar

EDIT: NTStatus Code
C0140008 STATUS_ACPI_INVALID_ARGTYPE An argument with an incorrect type was specified
It is in ntstatus.h .
May be small hack in ntoskrnl.exe and this is gone?
#382 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #380
To modify the DSDT table on XP to an XP friendly DSDT version works,
if you succeed to load this table to registry (HIVE system to ram) before boot.
I tested this with the flag for the legacy timer via s4e method, works.
On Win2003 this is other situation,
because DSDT is not stored in registry,
only read direct from Bios
Dietmar


Do you mean just edit SETUPREG.HIV or something else?
#383 infuscomus ⇗ @diderius6

my test of ACPI 5048 on AMD



edit: I also tested reactos ACPI driver in virtualbox - 7B BSOD

edit2: reactos ACPI and ATAPI in virtualbox - no 7B in XP textmode - I might try this on real hardware
#384 diderius6 ⇗ @infuscomus

No, it is the part of registry, called "system".

C:\WINDOWS\system32\config system

If you want, you can send to me this file "system" from your AMD 350 motherboard.
I will delete there key MountedDevices and I look for
the asmedia 106x driver, if it is correct integrated there
Dietmar

dietmar.stoelting@t-online.de
#385 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #384
@infuscomus

No, it is the part of registry, called "system".

C:\WINDOWS\system32\config system

If you want, you can send to me this file "system" from your AMD 350 motherboard.
I will delete there key MountedDevices and I look for
the asmedia 106x driver, if it is correct integrated there
Dietmar

dietmar.stoelting@t-online.de


I've never gotten XP to successfully install on this AMD 350 Motherboard, so I don't have a config system file to show you.
#386 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #381

why acpi.sys 5048 and all those acpi.sys versions for Vista around crashes on  XP unfriendly Bios
always with the same BSOD
0xA5 (0x03, xxx, C0140008, yyy)


search acpi.sys for "C0140008" string, error in _ValidateArgTypes, _CreateField or _ObjTypeSizeOf

ValidateArgTypes is called after every opcode, it check arg type vs some string code "D", "C", "I", "..." (for example argument ToInteger() can has only 3 types: Integer,String,Buffer and coded as "D")
#387 diderius6 I just got the nice information,
that acpi.sys from Winserver 2003 R2 (5.2.3790.16384 )
has all Acpi 2.0 words integrated
Dietmar

PS: This file match the importtable from XP.
#388 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #387
I just got the nice information,
that acpi.sys from Winserver 2003 R2 (5.2.3790.16384 )
has all Acpi 2.0 words integrated
Dietmar

PS: This file match the importtable from XP.


can it work?
#389 diderius6 I just test 2 different versions of acpi.sys Win Server 2003 R2 (2003 R2 5.2.3790.16384  and 2003 R2 5.2.3790.3959 )
They give both BSOD 0x7B on XP SP3.
I think, it is because the load process of DSDT table is different
between XP and Win2003.
Win 2003 takes it from Bios and XP from registry.
At the moment,
they can only boot Win2003
Dietmar

EDIT: Interesting is this for sure:
        I also test acpi.sys from winserver 2003 SP1 5.2.3790.1830,
        this gives old know BSOD A5.
#390 infuscomus I can install and boot XP with 2003 ACPI in a virtualbox VM

 

Page 27

#391 diderius6 I make an USB boot with newest acpi.sys from Winserver 2003, for to overcome BSOD 0x7B.
Does anybody know,
what this message mean?
I have never seen before
Dietmar




EDIT: 0x7E( 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred.
This may be the old problem of really uncorrect Bios on the Asrock board.
DSDT writes in reserved memory (it is the adress for the COM1 port).

EDIT2: No, it is the fault of acpi.sys from win2003. On the EVGA Dark z390 board with XP friendly Bios
I get BSOD 0xD1 (0x28, 0x02,0x00,0xblabla)
Bug Check 0xD1: DRIVER_IRQL_NOT_LESS_OR_EQUAL

The DRIVER_IRQL_NOT_LESS_OR_EQUAL bug check has a value of 0x000000D1. This indicates that a kernel-mode driver    attempted to access pageable memory while the process IRQL that was too high.

EDIT3: acpi.sys 5.2.3790.3959 boots XP friendly Bios.
But on other Bios gives A5 0x11 BSOD. This is the same BSOD, as acpi.sys from XP SP3 gives.
May be the problem with unknow words from ACPI 2.0 is gone in latest acpi.sys from win2003.
But other problems remain.
acpi.sys 5.2.3790.3959 is more complex than from XP. So, easy hack isnt.
#392 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #391
EDIT: 0x7E( 0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation occurred.
This may be the old problem of really uncorrect Bios on the Asrock board.
DSDT writes in reserved memory (it is the adress for the COM1 port).


I got this exact error using ACPI 5048

⇗ @diderius6 can you test reactOS ACPI driver for results?

infuscomus has attached files to this post
#393 diderius6 ⇗ @infuscomus
I just test the acpi.sys from Reactos on XP SP3.
The importtable match with XP.
But on XP unfriendly and on XP friendly Bios
I always get BSOD 0x7B.
I take a closer look at this acpi.sys from reactos.
It works not via strings like "ToInteger".
But may be this is the future
Dietmar

EDIT: Also BSOD 0x7B for USB boot.
Interesting would be, how this acpi.sys from reactos
will work on a Win2003 installation.
#394 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #393
I just test the acpi.sys from Reactos on XP SP3.
The importtable match with XP.
But on XP unfriendly and on XP friendly Bios
I always get BSOD 0x7B.
I take a closer look at this acpi.sys from reactos.
It works not via strings like "ToInteger".
But may be this is the future
Dietmar


I got the same result with my test - BSOD 7B


⇗ @diderius6  maybe try to compile reactos ACPI driver code with windows DDK?
#395 diderius6 It will not work,
because it is complete different compiler surrounding,
Dietmar
#396 infuscomus GCC compiled reactos ACPI - no 7B BSOD in virtualbox
#397 diderius6 I make some more tests with the newest acpi.sys from WinServer 2003 on XP unfriendly Bios.
With first variant I get BSOD A5 (0x11, 0x08,..)
with second BSOD A5 (0x02,..).
It is exact the same behavior as with acpi.sys from XP SP 3
Dietmar
#398 infuscomus ⇗ @diderius6 this compiled reactos ACPI driver works in virtualbox (compiled with GCC) - can you test for result?
#399 diderius6 ⇗ @infuscomus
Is it another acpi.sys,
than you send to me?
The one you send, gives always
BSOD 0x7B
Dietmar

Edit: Which cpu is on your mainboard asrock fatal1ty ab350 gaming k4?
You can just flash an older BIOS, look for this on website from Asrock
for compability for your cpu.
#400 infuscomus my CPU is a Ryzen 5 2400g - in case running natively cannot work and I have to switch to virtualization with PCI Passthrough
#401 diderius6 ⇗ @infuscomus
After some problems because of 3.3 V against 1.8 V on ch341a programmer and versions problems (for me ONLY vers. 118 (!) and 140 work correct). I read Bios chip 4 times out with this 2 versions and compare with Winhex.
Then I compare those files with original Bios P4.60 from the asrock website with Beyond Compare 2.
Because the blocks are identic, I can see that only the special information for example MAC number for board is different.
Now I am 99% sure, that I get all information from the Bios on my motherboard asrock fatal1ty ab350 gaming k4.
I succeed to read out its Bioschip 25Q128FWSQ with Bios Vers. 4.60 on this asrock fatal1ty ab350 gaming k4 board.
This is the oldest Bios version, that supports Ryzen 5 2400g,
Dietmar

PS: Because processor 1700 arrives only tomorrow, then fun continues for ACPI boot XP SP3 on this board.
     I read on different russian websites, that until now nobody succeeds with this.
#402 infuscomus I wish you good luck.
#403 diderius6 ⇗ @infuscomus

I succeed to install XP SP3,
but only without ACPI.

This was really a hard job. No mouse, no USB,
no AHCI.. No PS\2 y-cable possible, only keyboard. But nvme works.
I noticed, that there are errors in the DSDT table.
A variable in CreateQwordfield is without name.
I do nvme boot on this board, because before I have no AHCI driver.
Later I noticed, that the SATA slots on the board are wrong numerated.
The 2 Asmedia Sata slots are the first 2 in the row with the 4(!)
Acpi boot via nvme gives BSOD 0x7E (C0000005,..).
I am quite sure, that this happens because real errors in the DSDT table.
I tried Bios 4.60, 2.50, 3.40 all the same.
A repair of the DSDT table will make acpi boot,
it is not the fault of modified acpi.sys
Dietmar

#404 infuscomus ⇗ @diderius6

Nice!

you've gone further than I ever did, I seem to always get 7B BSOD even with only ASMedia SATA ports connected.

did you use SATA CD drive? - I will have to go get one - before I only used a USB CD (actually iodd 2531 with XP ISO)

Do Fernando's AMD USB 3.1 drivers work?

for amd SATA try AMD AHCI Driver v1.2.1.321 for W2k3 x86 WHQL with HWID INF edit (add 7901 and 43B7) and win2003 storport.sys file?
#405 diderius6 ⇗ @infuscomus
I use the Asmedia driver which I send to you
and make with them via Nlite a setup CD.
Still there is hope for full XP SP3 on this board :))
Dietmar

 

Page 28

#406 infuscomus ⇗ @diderius6

which version of ASMedia SATA driver should I use? 3.2.0.0? earlier version?
#407 diderius6 For me works
the Asmedia driver,
which I send to you,
Dietmar
#408 diderius6 ⇗ @Mov AX, 0xDEAD

How is progress on your tool,
which changes XP unfriendly DSDT table to XP friendly one?
And how does it work,
XPbadDSDT.dsl -> XPgoodDSDT.dsl
or in *.raw modus?
I am so curious, how you ban the A5 0x11 errors
and A5 0x02.
Do you just encapsule them via

               If ((OSYS >= 0x07D6))
               {
                  ..error in XP..
               }

have a nice day
Dietmar

EDIT: Is there a possibility, to tell the amli assembler, to produce only ACPI 1.b code?
        It should be possible, because as I understand AMLI works as interpreter.
        So, make it to work like in German "Dolmetscher".
#409 diderius6 First results on the Asrock fatal1ty ab350 gaming k4 board with latest Bios 5.40

Works (stable) in XP SP3
harddisk, CD-rom (on asmedia AHCI 106x)
keyboard PS/2
mouse PS/2 (via y-cable only AUTO in Bios)
network
sound
graphiccard
USB 3.1 (40MByte/s)

Not works:
APIC mode (only PIC mode)
USB 3.0
ACPI
nvme (it is because of a conflict between scsiport.sys and storport.sys (message nvme device cannot start).
XP can handle both, but not on all boards at the same time. nvme boot also not works BSOD 0x7B.
Sata AHCI AMD Ven_1022&Dev_43B7. I found a driver, but ntoskrnl.exe has 2 not matching dependencies.

Interesting, the 950 pro (with own legacy nvme Bios)
can stay at boot time together with harddisk.
Nearly all other compis fail (Asus Apex X not fails)
Dietmar

PS: I have not seen any AMD USB 3.0 driver for the AB350 chipset for XP 32 bit, Ven_1022&Dev_145C .

#410 infuscomus ⇗ @diderius6

Can USB/AHCI work with existing Fernando drivers with INF mod? (add hwids to INF)
#411 diderius6 AHCI driver for the asmedia 106x ship
I just send to you.
The USB drivers, that are here in the forum,
work only for Win7.
I have not seen them for XP
Dietmar

PS: Board is nice and stable. Only missing USB in XP. Acpi can be done with some more work.
#412 diderius6 Yessa,
I check with dependency walker
the USB files.
And I found one, compiled for WIN7,
which works for XP:)).
Only a little bit faster than USB 2.0
but now I have USB on this board also!!!
Dietmar

EDIT: The normal installer does not work. Cries, not for this OP..
But doing by hand via *.inf works.
It is driver for Ven_1022&Dev_43BB
cool..



diderius6 has attached files to this post
#413 infuscomus ⇗ @diderius6

Working USB!
Nice!

There are newer drivers on these forums - v1.0.5.3 - you might get better performance with new version?

for AMD AHCI try Universal ATA driver for Windows NT3.51/NT4/2000/XP/2003/Vista/7/ReactOS
With PATA/SATA/AHCI support

⇗ http://alter.org.ua/soft/win/uni_ata/
#414 diderius6 I make a try to edit the DSDT table from this board Asrock fatal1ty ab350 gaming k4:
Because I get BSOD A5 (0x2001), which means "ACPI tried to evaluate the PIC control method but failed."

So I change in DSDT table

   Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
   {
       If (Arg0)
       {
           \_SB.DSPI ()
           \_SB.PCI0.NAPE ()
       }

       PXXX (Arg0)
   }


against

   Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
   {
               If ((OSVR >= 0x0C))
       {

       If (Arg0)
       {
           \_SB.DSPI ()
           \_SB.PCI0.NAPE ()
       }

       PXXX (Arg0)
   }

   }

Now I am just flashing the BIOS via CH341a writer,
because flash on compi told me:
Checksum incorrect
Dietmar

EDIT: Compi survives the crazy flash procedure, but BSOD remains the same.
So, maybe it is not the direct fault of the _PIC: Interrupt Model , but something in its pointers went wrong.

EDIT2: I make a check with the new Bios, if my changes are put in. Yes, they are.
Now I think, the method _pic is never called, because I do not find any "_pic" call in DSDT table else, hmm.
So, the error is in a pointer for the interrups.

EDIT3:
_PIC Method
The
\
_PIC optional method is to report to the BIOS the current interrupt model used by the OS.
This control method returns nothing. The argument passed into the method signifies the interrupt model OSPM
has chosen, PIC mode, APIC mode, or SAPIC mode.
Notice that calling this method is optional for OSPM.
If the method is never called, the BIOS must assume PIC mode.
It is important that the BIOS save the value passed in by OSPM for later use during wake operations.
_PIC(x):_PIC(0)=> PIC Mode
_PIC(1) => APIC Mode
_PIC(2) => SAPIC Mode_PIC(3-n)=> Reserved

This may be indeed the reason for this BSOD A5 0x2001. XP uses high irqs, so it makes use of the APIC method.
A try with PIC methode fails then.

EDIT4: Yesssa, I was right. When I chose "ACPI - PC" during setup hitting F5, XP takes ACPI+PIC mode.
This BSOD is gone:)). What a crazy job, to fix step by step a buggy DSDT table. And this is not the fault of XP but
goes to the manufacturers.
#415 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #414


EDIT4: Yesssa, I was right. When I chose "ACPI - PC" during setup hitting F5, XP takes ACPI+PIC mode.
This BSOD is gone:)). What a crazy job, to fix step by step a buggy DSDT table. And this is not the fault of XP but
goes to the manufacturers.


⇗ @diderius6

Wait, so do I just need to press F5 and force use of ACPI PC in setup? or is a BIOS mod still needed for ACPI?
#416 diderius6 ⇗ @infuscomus
I try to make the DSDT table of the Asrock fatal1ty ab350 gaming k4 board
XP friendly.
Until now, I solved only one BSOD A5 0x2001 during edit DSDT table.
Then appears next BSOD A5 0x02,
so it is a really hard way to happyness:))
Dietmar
#417 infuscomus ⇗ @diderius6

any chance I could test your nvme driver on my PC for XP? same motherboard so it should work, right?
#418 diderius6 Yes, it works, but the problem is,
when it is used together with a scsiport device,
on the fatal1ty ab350 gaming k4 nvme under XP does not work
together with harddisk.
You can integrate the nvme driver in the setup CD from
XP SP3 via nlite. But then you also have to copy storport.sys in the setup CP
by hand, using makecab.exe.
After first TXT install of XP, you have to copy by hand again the driver storport.sys
into windows\system32\drivers because XP didnt do that alone,
Dietmar



diderius6 has attached files to this post
#419 diderius6 Today I make a try to install an own edit, full DSDT table into XP SP3
without using Bios. Because I notice, there is no tool to flash Bios from AMD..

HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004

This key is always build new during start of an ACPI XP. In it is the hexcode of the full DSDT table.
When you have a working ACPI XP, you can make a copy file by file of it.
May be windows\system32\config folder with all its content is enough.
The problem is, that there is no file HKEY_LOCAL_MACHINE\HARDWARE
because it is build new on every boot via Bios.
So, you need this copy from config.

And now the crazy part happens: Boot this XP on a compi with a XP friendly Bios
and change after boot to desktop on running machine the whole content with your wished DSDT hex-file in
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\842A1\842A1P07\00000004
Then shut compi down.
When you make a copy of XP as described above,
you have this new DSDT file in its registry.
Then you have to boot XP writeprotected (only possible on Fat32, because then Bios has no chance to overwrite your DSDT table)
and you will have your own DSDT table loaded to ram via XP, reading from registry DSDT table.
And you can check, what happens.
The problem on an compi with an ACPI XP unfriendly Bios is,
that you get always BSOD 0xA5.
But now you can work step by step
against those BSODS 0xA5 via windbg
Dietmar

EDIT: On an Intel board, you can make a test with empty DSDT table, just integrate 00000000000..(with the right number of zeroes as the size of your normal DSDT table(!) is) with Uefi-Tool as *.raw body for DSDT table at
C118F50D-391D-45F4-B3D3-11BC931AA56D
and I think, compi will boot XP with DSDT from to ram loaded registry as written above.

I have not tested this because no time just now and there it is some risk, that your Bios is broken!!!
Never I would make that test without a motherboard with working BIOS flash back possibility.

EDIT2: May be it is really a crazy (good?!) idea. I just tried to integrate a *.raw filled with zeroes as "DSDT" table.
You can integrate it into the Biosfile with Uefi-Tool. But I dont know what happens, because the dependencies
to other tables in Bios are gone also. Tomorrow I make a try on the Asus Apex X board, because it has Bios flashback,
which works to 99%. A question, if this works is, at which Time the DSDT table is loaded.
I think the normal way is: Bios writes DSDT to registry and then XP reads and loads DSDT table from registry.
And if Bios cant write registry because write protected, XP reads in any case DSDT table from registry.
#420 infuscomus ⇗ @diderius6

maybe you can change the permissions for the DSDT registry key so it can not be overwritten?

⇗ https://www.askvg.com/windows-tip-take-o...m-command-line/

edit: for XP textmode setup, you can add DSDT registry key into setupreg.hiv in \ControlSet001\Hardware Profiles\0000\SYSTEM\
For GUI phase of setup - add DSDT to hivesys.inf

 

Page 29

#421 diderius6 ⇗ @infuscomus

Thanks for help,
I will test all:))
Dietmar
#422 infuscomus ⇗ @diderius6

This might be an XP friendly DSDT table for AMD AM4 - It does not use CreateQWordField

it's from an ASUS Prime B350 PLUS - BIOS 0805



infuscomus has attached files to this post
#423 diderius6 ⇗ @infuscomus

Yes, this is interesting, because they change CreateQWordField against CreateDWordField.
So may be, the whole DSDT table is XP friendly.
This would be the first time for an B350 chipset.
Needs to be tested
Dietmar

PS: Until now, I do not understand, why there are so many BSOD
on neuer DSDT table in the form A5 0x02.
This means always conclict with pci devices,
Dietmar

PS:  ⇗ @Mov AX, 0xDEAD wrote, that he overcomes this BSOD with his modified acpi.sys.
My modified acpi.sys does not always work correct against this BSOD.
May be, a lot of devices are just ignored from special acpi.sys.

EDIT: Newest Bios 4602 this board has CreateQWordField in DSDT table. So may be, only their old DSDT tables are XP friendly.
        Yes, oldest Bios 406 has also only CreateDWordField in its DSDT table.
#424 infuscomus ⇗ @diderius6

did you manage to load custom DSDT table in registry? or do we have to go with a BIOS mod?
#425 diderius6 Today I have had long school.
Until now, I do not try.
But I am sure, it will work.
I just find out, that also for your motherboard
old BIOS has no CreateQwordfield in it,
so may be it becomes XP unfriendly only in last time.
This would be a big help
Dietmar
#426 infuscomus I tested XP setup in my HTPC which has a Fatal1ty X370 Gaming-ITX/ac motherboard in it with original release BIOS on it.

I got a 7E BSOD in acpi.sys

I checked with clean install media - same error 7E
#427 diderius6 I try to understand, why all this BSODs via acpi.sys happen.
For this, I find the tool OZMTool_v0.3_win
which works not in XP (but in Win7).
With this tool you can also extract DSDT.aml
raw files from older Bios, which are build for Acpi 1.b (XP friendly).

Then I compare the *.dsl from 2 Asrockboards.
XP friendly (AM3+) :   Asrock 970 Pro3 R2.0
XP unfriendly (AM4) : Asrock fatal1ty ab350 gaming k4

Because I noticed, that all Intel DSDT tables are nearly identic but
different to the AMD DSDT tables.

First XP BSOD on Asrock fatal1ty ab350 gaming k4 is A5 0x2001
This goes to a mismach IRQ table (pic: 16 irqs, apic also higher irqs allowed).
When I compare those methods, I see, that those DSDT tables from AMD are also very similar.

XP friendly:
    Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA
\_SB.IRQC ()
}
Else
{
DBG8 = 0xAC
}

PICM = Arg0
}

XP unfriendly
    Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
{
If (Arg0)
{
\_SB.DSPI ()
\_SB.PCI0.NAPE ()
DBG8 = 0xAA
}
Else
{
DBG8 = 0xAC
}

PICM = Arg0
}

Method IRQC is renamed to DSPI , but identic.

So, just delete \_SB.PCI0.NAPE ()
hard way, but I do not know other
Dietmar
#428 diderius6 I start XP (on my XP friendly asrock fatal1ty z370 gaming k6).
Then I zero out DSDT in its registry (0000 stays in DSDT binary).
After this I read DSDT out with REWrite everything.
This shows the normal DSDT table.
Then I disconnect power, for to give XP no chance to write anything back from ram
to registry.
From this XP I make a bit to bit copy on an optane USB device, which can be set writeprotect (mechanic).
Then I start XP via this writeprotected device. (By the way, I noticed, that with XP SP3 is also writeprotect boot
possible on NTFS).
But very strange to me, this XP boots normal via s4e method.
This means the following: The DSDT from Bios is written to registry in a later boot phase,
not in first. Because if Bios would write DSDT to registry in early bootphase,
it cant, because there is the writeprotect device, which works alone in this phase.
Then, without any DSDT table in registry XP would crash(?!), who knows..

My previos test with the timer bit in FADT is other. This table speaks with hal.dll
in a very early bootphase. So, this can be faked easy.

Because of this result, it is more difficult to present XP a modified DSDT table during boot.
It happens in second bootstage and because of this, you have to force acpi.sys to make use of this place in
HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\ and not from Bios! But how?
Dietmar

EDIT: acpi.sys is loaded during first bootphase. And BSOD A5 (not compatible Acpi) happens at the end of this first phase.
Strange, may be acpi.sys from XP SP3 reads now DSDT table like WinServer2003 only direct from Bios?
And at the place HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\  stays only a not needed copy?

EDIT2: "If the HARDWARE_REDUCED_ACPI flag is set, all fields relating to the ACPI Hardware Specification are ignored by the operating system." And this bit is in FADT. But I have no idea, if acpi.sys from XP take notice from this flag.
May be the acpi.sys from Vista take notice? No, flag works only from Windows 8 up.
#429 infuscomus ⇗ @diderius6

clover boot loader can apparently modify ACPI tables before passing to the OS - This adds a layer of complexity to getting this to work - I've never done this myself so I don't know if this will work.

edit: arch linux can do the same thing? ⇗ https://wiki.archlinux.org/index.php/DSDT

edit2: maybe try acpi.sys from SP1 or SP2 and see if these old versions read DSDT from registry?
#430 infuscomus ⇗ @diderius6

If I have to go with the modded BIOS flash option - what should I use to flash?

this?
CH341A 24 25 Series EEPROM Flash BIOS USB Programmer SOIC8 SOP8 Clip Adapter
⇗ https://www.ebay.com.au/itm/CH341A-24-25...6gAAOSw1Exb6p24
#431 diderius6 Yes, this one. But this programs in 3 Volt.
You need an extra adapter, that fits in first one,
which makes 3->1.8 Volt,
Dietmar

⇗ https://www.ebay.de/i/372582467330?chn=ps

is all what you need:)).

The following contents have been linked to this post:
#432 infuscomus ⇗ @diderius6

OK, Thanks - I will get the one you recommend.

also, do you know if the BIOS chip on the AB350 Gaming K4 is an Aptio V?

If is is, there is a BIOS flash utility on the AMI website that might be worth a look?
#433 diderius6 ⇗ @infuscomus
The Bios chip on my Asrock AB350 Gaming K4 is a Winbond 25Q128FWSQ, 1.8 Volt(!).

In the description (down) is written, how to patch the DSDT table in registry.
It should work in XP, Win7..
This is a little bit strange for me. May be the used program makes a hirachie in to prefer DSDT table from Bios
over the DSDT table from Bios. It works, but until now for me it is unclear how and why.
⇗ http://notebookequus.blogspot.com/2008/0...dsdt-table.html

Dietmar
#434 infuscomus ⇗ @diderius6

maybe it needs to be put in registry like this exactly?

HKEY_LOCAL_MACHINE\HARDWARE\ACPI\DSDT\ALASKA\A_M_I_\01072009

Winbond 25Q128FWSQ is flash ROM and AMI Aptio V is firmware? - I thought AMI flash utility might work without needing to brute force with EPROM programmer?
#435 diderius6 To override/overload DSDT on Windows XP/Vista/7, use asl.exe from microsoft ASL compiler:
             
C:\Programme\Microsoft ASL Compiler v4.0>asl /?
Microsoft ACPI Source Language Assembler Version 4.0.0NT [Aug 28 2009, 18:36:36]

Copyright (c) 1996,2009 Microsoft Corporation
Compliant with the ACPI 4.0 Specification

Usage:
asl /?
asl [/nologo] /d <BinFile>
asl [/nologo] /u [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <AMLFile>
asl [/nologo] /tab=<TabSig> [/c] [/Fa=<ASMfile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>]

asl [/nologo] [/Fo=<AMLFile>] [/Fa=<ASMFile>] [/Fl=<LSTFile>] [/Fn=<NSDFile>] <A
SLFile>
asl [/nologo] [/loadtable [-v] [-d]] <AMLFile>

? - Print this help message.
nologo - Supress logo banner.
Fo=<AMLFile> - Override the AML file name in the DefinitionBlock.
Fa=<ASMFile> - Generate .ASM file with the name <ASMFile>.
Fl=<LSTFile> - Generate .LST file with the name <LSTFile>.
Fn=<NSDFile> - Generate NameSpace Dump file with the name <NSDFile>.
d - Dump the binary file in text form.
u - Unassemble AML file to an .ASL file (default)
or a .LST file.
tab=<TabSig> - Unassemble ASL table to an .ASL file (default)
or a .LST file.
Dump non ASL table to an .TXT file.
If <TabSig> is '*', all tables are dump to ACPI.TXT.
<TabSig> can also be the physical address of the table.
c - Create binary files from tables.
loadtable [-v] [-d] <AMLFile>
- overload existing table with one in the given AML file.
<-d> - delete overridden tables
<-v> - Verbose

Dietmar

 

Page 30

#436 infuscomus ⇗ @diderius6

where can i download microsoft asl compiler?
#437 Lost_N_BIOS ⇗ @infuscomus - ⇗ http://www.acpi.info/toolkit.htm
⇗ https://acpica.org/downloads/binary-tools
⇗ https://docs.microsoft.com/en-us/previou...n550976(v=vs.85)
#438 infuscomus ⇗ @Lost_N_BIOS

1st link
Thats the Intel version, I'm looking for the Microsoft one.

2nd link
Link is dead - 404

edit: it's in WDK 10 - I'll go grab that
#439 Lost_N_BIOS ⇗ @infuscomus - first link >> Microsoft ASL Assembler/Compiler - link works but doesn't lead to a proper download due to MS is lazy
Second link works fine, and I downloaded the file just fine too, here is the direct link from that page, if you still can't download let me know and I will upload it for you - ⇗ https://acpica.org/sites/acpica/files/iasl-win-20190405.zip
Third link, that's weird, this one is 404 and it was working for me when I gave you the link??!
#440 infuscomus ⇗ https://acpica.org/sites/acpica/files/iasl-win-20190405.zip

this is the Intel assembler, not the Microsoft one.

I managed to get the Microsoft assembler from the windows driver kit.
#441 Lost_N_BIOS Glad you were able to get it finally.  Please upload a copy and post link here for others, thanks.   I'll grab a copy too and keep in case anyone asks me for link later
#442 infuscomus uploaded here so you don't need to download WDK to get it



infuscomus has attached files to this post
#443 diderius6 Here is the whole compiler
Dietmar



diderius6 has attached files to this post
#444 diderius6 I just check via Multimeter,
that this pin order is correct
for the Bios of the Asrock fatal1ty ab350 gaming k4 board
Dietmar

EDIT: The empty pin is also Ground.

#445 diderius6 Here is photo from Bios on Asrock fatal1ty ab350 gaming k4  board and the 9 pin connector
Dietmar

#446 diderius6 The first and biggest problem of the Asrock fatal1ty ab350 gaming k4 board
via XP install is,
that the crazy Bios always tries to install a pic modell for IRQ
and not APIC (higher irqs are allowed).
This you can see, hitting F5.
On modern XP SP3 only Standard PC works (PIC, noAcpi, one processor).
I have a special XP CD, where I can chose also Compac 100% multiprocessor
(PIC, no ACPI, multiprocessor, but compi hangs on reboot).

So, a lot more is bad with its Bios (vers. 5.40, 3.40, 2.50)
Dietmar
#447 infuscomus ⇗ @diderius6

can we load a DSDT table from an AM3 motherboard? or would it break everything?
#448 diderius6 ⇗ @infuscomus

I think, compi will not start.
I have done this before to start compi with DSDT from other compi via ch341a epromer , but this was a nearly identic PC,
same chipset, same processor.
There to change DSDT works.
But here we have other situation, new chipset, processor..
I think, we can only use AM3(+) DSDT table for to compare with new DSDT from AM4 chipset.
By the way, now I understand, why I nowhere have seen a compi with AM4 chipset, which boots real XP SP3.
So I think, I am really first one, but I only succeed with "Standard PC", means no ACPI, only PIC model, only one processor.
Dietmar
#449 diderius6 In boot.ini (with "Standard PC") from Asrock fatal1ty ab350 gaming k4 board I add one extra line

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntosacpi.exe /HAL=halacpi.dll /PCILOCK

I put in folder windows\system32\ halacpi.dll  and ntosacpi.exe (renamed from Acpi-Multiprocessor XP SP3).
Result is BSOD 0x7B.
But via this way you can enable via COM1 a windbg session
and work step by step against BSODs (comparing DSDT AM4 with DSDT AM3+)
Dietmar

EDIT: And I copy acpi.sys to folder windows\system32\drivers.
#450 infuscomus ⇗ @diderius6

where do I find the DSDT table in an AM3+ ROM?
the GUID for AM4 shows nothing

 

Page 31

#451 diderius6 DSDT from AM3+ is in AmiBoardInfo.
Crazy to find.
I use the tool OZMTtoolv0.3.
This tool works in Win7 32 bit,
but not in XP
Dietmar



diderius6 has attached files to this post
#452 diderius6 Now I also succeed to extract DSDT raw table direct from AM3+ Bios.
Search for text DSDT (disable "unicode" in search), find AmiBoardInfo, "PE32 image section", extract body,
look in file for DSDT with Winhex, this is the start of the DSDT raw table
and end is PCI0SBRGSIOWh.  (with the point at the end) (this is direct before Hexvalues F7F8F4)
Dietmar

Edit: For me is AmiBoardInfo at guid 9F3A0016-AE55-4288-829D-D22FD344C347
#453 infuscomus Nice work!

I can extract DSDT from AM3+ BIOS now
#454 diderius6 I just compare DSDT from very first BIOS of
ROG-CROSSHAIR-VI-EXTREME-ASUS-0401
X470 Taichi Ultimate(1.10)ROM
and the first Bios 2.50 for the Asrock fatal1ty ab350 gaming k4 board.

They are all VERY similar,
meaning problems with XP SP3
will be everywhere the same for AMD ryzen,
Dietmar

EDIT: But I can install full ACPI Vista 32 bit
on the Asrock fatal1ty ab350 gaming k4 board
so, there is still hope for full XP .

EDIT2: I also compare XP friendly Bios for AM3+. They are nearly identic.
So, lets make a try to use XP friendly DSDT from AM3+ for AM4.

EDIT3: Interesting candidate for DSDT from other compi is the board asus a320m-c.
It has AM4, but first version has no Ryzen support (R2 has). It comes direct before Ryzen.
In its very first Bios A320M-C-SI-0401.CAP (Oct. 2016) DSDT I found, that _pic methode (IRQs) is the same as for XP friendly Bios in their DSDT table.
#455 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #454


EDIT3: Interesting candidate for DSDT from other compi is the board asus a320m-c.
It has AM4, but first version has no Ryzen support (R2 has). It comes direct before Ryzen.
In its very first Bios A320M-C-SI-0401.CAP (Oct. 2016) DSDT I found, that _pic methode (IRQs) is the same as for XP friendly Bios in their DSDT table.



Cool,

can we load this DSDT through registry, or is a BIOS mod the only way that works properly?
#456 diderius6 ⇗ @infuscomus
Today I make a try to load the DSDT table from A320M-C-SI-0401.CAP via the Microsoft tool
to the Asrock fatal1ty ab350 gaming k4 board.
For to reach this, I use a full Acpi Multiprocessor XP installation from an AM3+ board MSI 760GMA-P34 (FX),
which has also the Asmedia Sata AHCI ASM106x.
I add an extra boot.ini entry (for to have the possibility to switch to "Standard PC")
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntnoacpi.exe /HAL=halnoacp.dll

Dietmar

EDIT: I can not start with the XP from AM3+ chipset.
And this is, even I do not change anything in DSDT.
On the XP from AM3+ chipset I replace ntoskrnl.exe and hal.dll to the versions of "Standard PC".
The Asrock fatal1ty ab350 gaming k4 starts with this XP, but hangs during last stage of boot.
So, other things also do not work for XP on this board, for example safe boot does not work
and I see no entry for bootlog after hitting F8.

EDIT2: The Asrock fatal1ty ab350 gaming k4 has 2 different problems with XP SP3:

1.) The compi starts always in PIC mode (hangs during enable APIC). Hm, which table is it?
2.) ACPI is broken, this belongs to the DSDT table.
#457 infuscomus ⇗ @diderius6

Don't you need to run sysprep on XP before moving it across machines? or am I wrong about that?
#458 diderius6 ⇗ @infuscomus

With long training I succeed to move XP from one machine to the other without any tool.
And this can be also done for Vista and Win7 or Win10. Win8 I never tried.
As long as the Windows version is only at one compi at a time, it does not break Microsoft license.
Today I was hit by a new problem: A Bios, that does not work in APIC mode under XP, only PIC mode.
Little bit like stoneage.. I have not seen this in the last 18 years
Dietmar

PS: Interesting, if it is because Ryzen processor.
There are other AM4 processors on the market for example AMD A8 9600, much cheaper and slower.
I will test in next days this 9600 cpu.
#459 diderius6 I just found Bios version 1.30 for the Asrock fatal1ty ab350 gaming k4.
There, the IRQ table in Bios is other.
This is nearly the only difference to Bios 2.50.
I am just flashing
Dietmar

PS: May be problem to flash back to newer Bios,
     because in Bios 1.30 is no instant-flash program integrated.
#460 infuscomus ⇗ @diderius6

do you have the right CPU for that BIOS?

I only have a ryzen 5 2400G so I doubt it will work for me.
#461 diderius6 Yes, I have Ryzen 1700.
I checked for this before,
that I get CPU for ALL Bioses
Dietmar
#462 infuscomus ⇗ @diderius6
can I have this BIOS? I would like to extract DSDT and try registry method to load DSDT
#463 diderius6 ⇗ @infuscomus,
with this 1.3 Bios is the same as before.
Under XP it will not allow you to work in APIC mode,
only PIC. This is a serious problem, because of it only
one core of the cpu can work in XP SP3.
And I was right, you cant flash back to higher BIOS,
because no flash program in this Bios version,
Dietmar

But anyway, here it is



diderius6 has attached files to this post
#464 infuscomus ⇗ @diderius6

Thanks very much
#465 infuscomus ⇗ @diderius6

in AB350 gaming k4 BIOS 1.30 _PIC is

   Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
   {
       If (Arg0)
       {
           \_SB.DSPI ()
           \_SB.PCI0.NAPE ()
           DBG8 = 0xAA
       }
       Else
       {
           DBG8 = 0xAC
       }

       PICM = Arg0
   }

in XP Friendly 970A-G3.1

   Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
   {
       If (Arg0)
       {
           DBG8 = 0xAA
           \_SB.IRQC ()
       }
       Else
       {
           DBG8 = 0xAC
       }

       PICM = Arg0
   }

have you tried replacing _PIC function?

or if your up for taking a risk, replace entire DSDT with known XP friendly?



infuscomus has attached files to this post

 

Page 32

#466 diderius6 I think,
really XP friendly would be

Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA

}
Else
{
DBG8 = 0xAC
}

PICM = Arg0
}

But at the moment I try to get out of Bios 1.30:))
Dietmar
#467 infuscomus ⇗ @diderius6

did you manage to update from BIOS 1.30?
#468 diderius6 Until now not,
I wait for my 1.8 Volt Epromer,
have a nice day,
Dietmar
#469 diderius6 My 1.8 Volt Epromer arrives, 3 of them.
But I cannot flash the chip 25q128fwsq with the ch341a and adapter for 1.8 V.
I build my nice, perfect working cablemanagment:)), see photo,
but does not help.
I can read the chip out 2 times,
but even I tested all versions of the ch341a,
no success. I cant even blank the whole chip,
some numbers remain, as I can see with reading.
"Best" results gives vers. 1.29
may be something killed the Bioschip
Dietmar

EDIT: I tested pin 1..8, they work. The connector to motherboard are 2 USB connectors.

#470 infuscomus ⇗ @diderius6

have you bricked your BIOS?
#471 diderius6 I think yes.
I get 2 brandnew Bios chips 25q128fwsq.
Without(!!!) the 1.8V adapter (only ch341a)
and Version 1.40 of the flashtool I can load
my image (5.4 Bios with own settings) back.
Soon I desolder broken chip against this one
Dietmar

EDIT: I just try the same with the second, brandnew 25Q128FWSQ chip.
The adapter 1.8V does not work at all. But without adapter (only ch341a vers 1.4) I succeed to
write my image 5.4 Bios back, crazy.
I disconnect all and connect again and read with version 1.4 the complete
brandnew (both) out. This I store as new image and compare with Winhex,
100% match (on both). Ok, I am going to solder:)).
#472 infuscomus ⇗ @diderius6

maybe try grub2 method to load DSDT? (to avoid bricking BIOS in the future)
⇗ https://www.linuxquestions.org/questions...ion-4175593071/
⇗ https://forums.opensuse.org/showthread.p...use-custom-dsdt

did you want to try the DSDT from that asus 320m-c bios you found?

p.s - I have not had much luck loading DSDT in XP registry
#473 diderius6 This Bioschip is really crazy.
I succeed to solder in a brandnew, with my image 5.4 flashed chip.
All pins work, no short cut.
But compi does not start.
When I read out this chip with epromer,
it gives crazy values, complete different from
before soldering
Dietmar

EDIT: The brandnew, now soldered chip, shows exact the behavior from original Bios chip before.
This simple means, you cant flash this Bios chip with this Epromer, no matter if 1.8V adapter or not.

EDIT: The original, now outsoldered Bioschip can be read and written new.
But only from original Epromer (ver. 1.40) without the Adapter. This means also,
my image ist faulty, which I get from insoldered chip.
So, maybe you can use the Epromer for this chip, when it is not connected to the board.

EDIT2: The original Bios chip can be cleared and rewritten. But it shows after errors. This does not happen to
the brandnew Bios chip (before been soldered). This simply means, this Epromer killed the insoldered, original
Bioschip, brrr... and the 1.8 V adapter does not work for this Bios chip 25Q128FWSQ, no matter if it is in the board or outside and brandnew.
#474 diderius6 Has anybody here in the forum success with the 1.8V adapter for flashing Bios with ch341a epromer?
I do not mean only to copy, but to write full content to any Bioschip
Dietmar
#475 infuscomus ⇗ @diderius6

did your BIOS backup somehow get corrupted?
#476 diderius6 ⇗ @infuscomus

I make 2 copies of Bios 5.4 with different versions (1.8, 1.4) of the ch341a program. Between I shut down all.
Each copy was verifyied during reading and I compare the copies with Winhex after.
All 100% ok. So, may be the ch341a killed not only the insoldered original Bios,
because I also doublecheck the brandnew Bioschip with my copy of 5.4 , before I solder it in.
Compi does not boot, insoldered Bioschip has different content compared
with start values: Large fiels seems to be FF or 00 and only some other crazy bits,
Dietmar

PS: The conclusion is easy: For the Bios chip 25Q128FWSQ you need a professional Epromer (500 Euro)
and I think it works only outside the compi. I tried to awake the Bioschip to new life, running on compi full power on.
I can write, but veryfing with different Eprom program vers. show errors after about 5%. (I run them about 10 times.)
This was the first time since 1982, that I really succeed to kill a compi.

In the afternoon I try another AMD AM4 board ASUS PRIME B350-PLUS for to boot with XP SP3 with the same 1700 cpu.

EDIT: I also try the original 3.4 Bios from Webside with all program versions ch341a.
I can flash it always, but veryfieing shows always errors at about 5%. The 1.8V adapter is complete useless, this one can program 16KB 24 Eproms.
#477 diderius6 I just notice, that the AMD AM4 board ASUS PRIME B350-PLUS
has the same Bios chip 25Q128FWSQ, brrr..
Dietmar

EDIT: This board with the same Ryzen 1700 cpu shows exact the same behavior as the asrock fatal1ty ab350 gaming k4.
Bios can only install XP SP3 in PIC mode (means only 1 cpu core).
And the Acpi errors are also the same A5 (0x2001).
And you have a problem to install XP at all,
because no Asmedia 106x Sata slots on this board.
Until now, I do not have a generic AHCI XP driver for AMD boards, even this would be possible.
I try nvme boot with "Standard PC", but this gives also BSOD 0x7B as on the Asrock board,
even the nvme disk is recogniced correct
Dietmar

PS: In next days I get another AM4 board ASUS A320M-C R2.0.
And also another AM4 cpu AMD A8 9600, which is complete other cpu than Ryzen.
#478 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #477

Until now, I do not have a generic AHCI XP driver for AMD boards, even this would be possible.



can you test with this driver?

Universal ATA driver for Windows NT3.51/NT4/2000/XP/2003/Vista/7/ReactOS
With PATA/SATA/AHCI support
⇗ http://alter.org.ua/soft/win/uni_ata/
#479 diderius6 ⇗ @infuscomus
Yes, I will try. First you have to build a txtsetup.oem for this driver.
Maybe, it can be done easier: Just add the Ven&Dev number for this special AHCI adapter
to the txtsetup.oem and the *.inf file of the intel AHCI driver
Dietmar

EDIT: "Just add the Ven&Dev number for this special AHCI adapter
to the txtsetup.oem and the *.inf file of the intel AHCI driver" does not work for AMD AHCI.
Gives BSOD 0x7B (driver not there).

EDIT2: First try with the uniata.sys gives also BSOD 0x7B.
I do not know, why this happens, because the right ven&dev of the AMD AHCI
are already in the *.inf file for XP.
May be, that you can install this driver from running XP.
But the settings in TXTSETUP.OEM are unclear for me.
The driver uniata.sys is loaded during XP setup, as I can see.
#480 infuscomus ⇗ @diderius6

you can also edit txtsetup.sif manually - i do that sometimes

 

Page 33

#481 diderius6 This is what I try with the uniata driver.
But gives BSOD 0x7B.
Any help is welcome,
if I do something wrong
Dietmar



diderius6 has attached files to this post
#482 infuscomus ⇗ @diderius6

Does uniata work if installed once XP is booted? - boot with NVME driver (no ACPI)

I added some HWIDs and edited registry keys in TXTSETUP.OEM - try it



infuscomus has attached files to this post
#483 diderius6 ⇗ @infuscomus

Also with new txtsetup.oem I get BSOD 0x7B on the Asus AMD board,
means, at the moment I can not install any kind of XP there.
But today I ordered new eprom programer TTL866 II plus (only(!) II plus version supports 1.8 Volt Bios chips)
and with its help I will reanimate my asrock fatal1ty ab350 gaming k4 board.
There I installed XP. And from running XP I can try normal *.inf install
via device manager for the AMD SATA AHCI slots Ven_1022&Dev_43B7
Dietmar
#484 infuscomus ⇗ @diderius6

Does this mean the cheap BIOS flash kit I bought is useless for ab350 gaming k4?
#485 infuscomus ⇗ @diderius6

I asked about the grub2 method over at reboot.pro

⇗ http://reboot.pro/topic/22016-can-grub4d...ble-like-grub2/

I will try this method when I have time to test it
#486 diderius6 Yes, it even can destroy your Bios on the mainboard.
I tried really everything: Put CMOS battery out, in,
Power on (stand by), Power on(full)...brrr.
The 1.8V adapter is useless,
I do not succeed to write 1 bit to the Bios chip with it.
Version 1.29 of the Tool works best.
It recognices the Bios chip correct.
But maybe the writer itself killed the Bios,
because even chip is recogniced it uses to much voltage
Dietmar

PS: Interesting, if the Bios chip can be reanimated with tl866 II Plus programer.
#487 diderius6 Here is a new acpi.sys
which based on Vista 5048.
It works on a lot of new Intelboards for XP SP3 32 bit,
without need to modify anything in Bios. It has all the new words from ACPI 2.0 integratet.
On Ryzen board I get BSOD 0x7E (C0000005,..)
which I think belongs to PIC mode (no APIC in Bios for XP).
But there is still hope, that this kind of acpi.sys
supports in future ALL boards with full ACPI support,
APIC and multiprocessors, because Vista do this
Dietmar



diderius6 has attached files to this post
#488 diderius6 I just test this acpi.sys on ASUS PRIME A320M-C R2 for XP SP3 install
with AMD 9600 cpu.
Here I get other BSOD 0xA5( 0x0000000D,..)
interesting, this I never had before
Dietmar

0xA5 (0x0000000D, Parameter2, Parameter3, Parameter4):

There are many objects that must be defined in the ACPI namespace, and one or more of these was not found. This error generally occurs if either the _HID or _ADR object is missing. An _ADR is used to define the address of a device on its parent bus. The _ADR is a static address that defines slot numbers for devices that reside on any number of bus types, including EISA, floppy, IDE controller, IDE channel, PCI, PCMCIA, and CardBus. The _HID contains objects that supply the operating system with Plug and Play hardware ID for a device. Technically, these objects are optional, but they absolutely must be present to describe any device that is enumerated by an ACPI driver.

EDIT: With my own modified acpi.sys (with changes at 3 places) I get known BSOD 0XA5 (0x2001,..)
which again means: The problem is only PIC mode support from Bios! So, also on this board the same happens
as on all AM4 boards, that I tested. But the acpi.sys 5048 from Vista does not show this BSOD, so I think it is the right way.
#489 infuscomus ⇗ @diderius6

try loading a different DSDT .aml file using grub2 - maybe that a320m-c R1.0 BIOS with the old _PIC function?
#490 diderius6 ⇗ @infuscomus
Yes, something like that may work.
I think, it is not an Acpi related problem.
But this does not make it easier.
We need to find out,
what is different in boot Vista on AMD systems
compared with the XP SP3 with acpi.sys from Vista 5048
Dietmar
#491 infuscomus ⇗ @diderius6

we could patch extra functions into XP ntoskrnl to match vista ACPI dependencies?
#492 diderius6 ⇗ @infuscomus

The problem via this way is, that there are a lot of other functions
and also new dependencies to other files for acpi.sys in Vista,
as I have to see.
Today my programer tl866ii plus arrives
and first of all I try to reanimate my asrock fatal1ty ab350 gaming k4 board.

Interesting, if on a working Vista (with full Acpi support)
the acpi.sys there can be changed against the one from post 487 and works
Dietmar
#493 diderius6 Report about the Epromer tl866ii plus:
First I update internal flash and software.
On USB 3 it crashes often.
On USB2 works, but slow.
I am not able to programm a Bios Chip 25q128fwsq with this Epromer
without errors. I think, the 3 Bios Chips, that I have, are all killed.
Need to buy new
Dietmar

PS: The Bios chip insoldered in Board is not recogniced and cant be programed.
Only when the Bios Chip is direct connected to the Epromer, it is identified correct.
No possibilities to change anything in the Epromer, for example Voltage.

EDIT: After I erased a lot of times the 25q128fwsq Bios chip,
fill it with random numbers, erase again, I was able to program this chip with the epromer tl866ii plus
and veryfy it after direct and again with Winhex without any errors.
This works only, when the Bios chip is direct connected to the epromer via socket,
no cable(!). The tl866ii plus is the only epromer I know, which works for this chip.
#494 infuscomus ⇗ @diderius6

maybe something like this might work?

⇗ https://www.ebay.com/itm/SPI-and-I2C-Fla...M-/290587546215

The following contents have been linked to this post:
#495 Lost_N_BIOS ⇗ @diderius6 - I am not sure about tl866ii programmers, if it works same as $2 CH341A programmers, but you can use other software with the CH341A programmer instead of the standard one, and for the chip you mentioned W25Q128FW you need to use ASProgrammer.
Also, if your programmer does not support voltage changes, then yes you would need 1.8V adapter like this, since that is 1.65-1.95V chip - ⇗ https://www.ebay.com/itm/202046860676

The following contents have been linked to this post:

 

Page 34

#496 diderius6 ⇗ @Lost_N_BIOS

This 1.8V adapter does not work, also not with ASProgrammer on CH341A.
It just shows FF FF everywhere,
Dietmar
#497 diderius6 I think, the problem in the 25Q128FWSQ
are really the 1.8 Volt.
I even cant erase the whole chip.
But when I use the 1.8 version of the TOOL,
I can erase everything.
The 1.8 ver. of the tool does not know anything about 1.8 V,
so I think it uses 3.3 V.
And only this works,
Dietmar
#498 diderius6 Yesssaa,
I erase the 25Q128FWSQ chip
(without any adaptor, only the ch341a programer)
with CH341A Programmer 1.18 and after
check for blank with CH341A Programmer 1.18. All blank.
Again I check for blank with ASProgrammer on pur CH341A for Bios Chip W25Q128FW_1.8V (WINBOND).
All blank.
Then I program via ASProgrammer on pur CH341A for Bios Chip W25Q128FW_1.8V (WINBOND).
After this I read again the Bioschip and compare with my file.
For the very first time, Winhex shows 100% identic
Dietmar
#499 infuscomus ⇗ @diderius6

I am trying the grub2 method for ACPI

What are the tables that ACPI uses? - I have DSDT, what other tables are there?

I used
acpi --load-only /a320cr1.aml

then boot XP setup - no more A5 BSOD, but freeze on "Setup is starting windows"
#500 infuscomus how can I extract RSDT/XSDT from a BIOS/UEFI image?
#501 diderius6 Yes, I have done this, crazy to find in Bios file.
It is easy from a running compi with iasl or RW everything.
At the moment I have a lot of work,
from Wednesday I have more time
Dietmar
#502 infuscomus trying to replace DSDT with grub2 - got this error - ideas?



infuscomus has attached images to this post  ⇗ P_20190519_170143.jpg
#503 infuscomus ⇗ @diderius6

is this the only BIOS modification necessary for programmable interrupt controller to work?
or is more necessary?

Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA

}
Else
{
DBG8 = 0xAC
}

PICM = Arg0
}
#504 diderius6 ⇗ @infuscomus

I am not sure, if it is only a problem in the DSDT table on Bios from AM4 boards.
May be, the problem comes from another table,
which is loaded during boot also.
I think this, because MPS multiprocessor works
without any ACPI, meaning XP even does not load
the DSDT table
Dietmar
#505 infuscomus ⇗ @diderius6

I'm not so sure, MPS on my ab350 gaming K4 freezes on "Setup is Starting Windows"
#506 diderius6 ⇗ @infuscomus

"I'm not so sure, MPS on my ab350 gaming K4 freezes on "Setup is Starting Windows" "
Yes, for me is exact the same.
The only chance to see why this happens is a windbg session,
from a working XP SP3 with hal and ntoskrnl for MPS multiprocessor,
Dietmar

PS: This can also be done, when you install a XP SP3 "Standard PC" on ab350 gaming K4
and in boot.ini you make a line with hal and ntoskrnl for MPS.
#507 infuscomus ⇗ @diderius6

can the advanced programmable interrupt controller be fixed without fixing ACPI?
#508 diderius6 ⇗ @infuscomus

When we find out, why this happens, yes.
In 3 days I will test this with windbg
Dietmar
#509 infuscomus ⇗ @diderius6

I noticed something in txtsetup.sif

[hal]
486c_up        = hal.dll     ,2,hal.dll
acpipic_up     = halacpi.dll ,2,hal.dll
e_isa_up       = hal.dll     ,2,hal.dll
mps_up         = halapic.dll ,2,hal.dll
mps_mp         = halmps.dll  ,2,hal.dll
syspro_mp      = halsp.dll   ,2,hal.dll
acpiapic_up    = halaacpi.dll,2,hal.dll
acpiapic_mp    = halmacpi.dll,2,hal.dll

[Hal.Load]
486c_up        = hal.dll
acpipic_up     = halacpi.dll
e_isa_up       = hal.dll
mps_up         = halapic.dll
mps_mp         = halapic.dll
syspro_mp      = hal.dll
acpiapic_mp    = halaacpi.dll
acpiapic_up    = halaacpi.dll

maybe MPS freezes because txtsetup.sif in txtmode loads halapic.dll for uniprocessor instead of halmps.dll for multiprocessor?
#510 diderius6 ⇗ @infuscomus
This is really strange.
I noticed, that there is a table in Bios, which configures APIC mode (needed for multiprocessor)
but I do not know their name. Because Vista 32 bit can be installed on the Asrock Ryzen board,
there is a way.
For to test this, install a "Standard PC" XP on the Asrock board.
And make an extra line in boot.ini
for to change hal.dll and ntoskrnl from "Standard PC" to "MPS Muliprocessor".
When it hangs also, with Windbg you can find the reason
Dietmar

 

Page 35

#511 infuscomus ⇗ @diderius6

programmable interrupt controller is connected to PCI standard ISA bridge - is this normal?
#512 diderius6 ⇗ @infuscomus,
yes this is PIC mode (only 16 IRQ).
The same happens during install of XP SP3
on the Asrock Ryzen board.
Something went wrong, so that XP tries to install PIC mode.
I have never seen this before.
It has nothing to do with ACPI,
because this error is gone when you install "Acpi-PC" (is in PIC mode)
Dietmar
#513 infuscomus ⇗ @diderius6

programmable interrupt controller is connected to PCI standard ISA bridge in windows 10 too

maybe XP ISA bridge driver is causing this problem?
#514 diderius6 ⇗ @infuscomus
When ACPI is enabled, XP forget about the MPTABLE.
This may be the reason, why Vista works.
So, if there is an error in this MPTABLE, with using of ACPI it never comes to the light.
⇗ https://community.osr.com/discussion/249...pic-lying-to-me
⇗ https://coreboot.coreboot.narkive.com/XG...brios-mouse-fix
Dietmar
#515 infuscomus ⇗ @diderius6

by MPTABLE do you mean MADT table?
#516 diderius6 ⇗ @infuscomus
I did a search for "apic" in Bios with the UEFI-Tool.
A *.raw entry I do not find via "apic" search.
So, I have no idea, which table sets the correct apic values
for MPS multiprocessor
Dietmar

PS: I am quiet sure, that it is an error in Bios. Bios for Ryzen can not handle MPS multiprocessor.

In Linux we have for kernel configuration

pirq=           [SMP,APIC] Manual mp-table setup
                       See Documentation/x86/i386/IO-APIC.txt.

EDIT: I just find that:

⇗ https://lore.kernel.org/patchwork/patch/742964/

The APIC ids provided by ACPI are not required to be the same as the
>    initial APIC id which can be retrieved by CPUID. The APIC ids provided
>    by ACPI are those which are written by the BIOS into the APIC. The
>    initial id is set by hardware and can not be changed. The hardware
>    provided ids contain the real hardware package information.
>
>    Especially AMD sets the effective APIC id different from the hardware id
>    as they need to reserve space for the IOAPIC ids starting at id 0.
>
>    As a consequence those machines trigger the currently active firmware
>    bug printouts in dmesg, These are obviously wrong.
>
#517 diderius6 Yes, I was right:
With RW everything on working XP SP3 (Standard PC) on the Ryzen Asrock board
I get, when I click MPS (is entry for table there, not in ACPI):

MP Configuration Table not found!

Dietmar

PS: This is the very first Bios for me, without an MPSTABLE.
#518 infuscomus ⇗ @diderius6

Does the XP friendly Z390 motherboard still have an MPSTABLE?
#519 diderius6 ⇗ @infuscomus
I do not know, but I will have a look at. On the Asus X Apex z370 board I can install MPS multiprocessor.

The big problem for XP on Ryzen board is,
that you cant enable APIC mode, only PIC with 16 IRQs.

For to test this, I leave everything as before on XP SP3 on
Asrock Ryzen board. I only change hal.dll against halapic.dll.
This means, no MPS, no ACPI is asked for,
only "Standard PC" with one cpu but APIC ("Standard PC" has PIC mode nativ with hal.dll).
And with APIC (halapic.dll) the PC hangs with blinking cursor, exact as the situation is during install
Dietmar
#520 infuscomus ⇗ @diderius6

if you replace in DSDT Table? no change?

Method (_PIC, 1, NotSerialized) // _PIC: Interrupt Model
{
If (Arg0)
{
DBG8 = 0xAA

}
Else
{
DBG8 = 0xAC
}

PICM = Arg0
}
#521 diderius6 ⇗ @infuscomus
With "Standard PC" the DSDT table is not loaded.
I make a try to install the uniata driver.
It installs, but then tells, not enough resources left (error 12)
even I disable nearly all in device manager.
The reason, why this happens may be also because only 16 IRQs
are free in PIC mode and if the driver used something like for example IRQ 22,
it will not work
Dietmar
#522 diderius6 This is interesting
"The IRQ issue, as it turns out, originates at the chipset, rather than the CPU. While running AMD's chipsets A320 and B350 in PIC mode (versus APIC mode), the interrupt mode could not be set to level, which is needed to share IRQ's among several devices. In addition, while running in the edge mode, we discovered that the signal levels seemed to be inverted. This led to the loss of IRQ's and consequently, the driver was not receiving any reply to its device commands.

Of course we have contacted AMD to inform them of our findings. At this time, we are awaiting their response. We will keep you updated. Stay tuned!"
#523 infuscomus ⇗ @diderius6

I meant - if you replace the _PIC method in DSDT table does it enter Advanced PIC mode?
#524 diderius6 The DSDT table is just not loaded, complete ignored in "Standard PC"
Dietmar
#525 infuscomus ⇗ @diderius6

Have you tried "ACPI multiprocessor" option in XP setup after replacing _PIC in DSDT Table?
If you did, does it fix A5 BSOD?

 

Page 36

#526 diderius6 ⇗ @infuscomus
yes, when you succeed with "ACPI multiprocessor" ,
the problem with APIC may be just overridden.
This is what I think, what Vista 32 bit is doing.
I make a try with the modified acpi.sys from Vista 5048,
which I post here and connect to a Windbg session
from an XP SP3 with full Acpi support from an AM3+ board
Dietmar

EDIT: Now I have a full XP SP3 (from an AM3+ board)
with extra boot.ini entries

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=nt1.exe /HAL=hal1.dll
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /KERNEL=ntoskrnl.exe /HAL=hal.dll

First is full Multiprocessor Acpi and second is "Standard PC" PIC modus, one cpu, no Acpi.

Second entry works as "Standard PC".

First gives BSOD 0x7E C0000005 and acpi.sys ist there ,even the modified acpi.sys 5048 from Vista.

0xC0000005: STATUS_ACCESS_VIOLATION indicates a memory access violation
occurred.

yepp, this has to be solved,
Dietmar
#527 infuscomus ⇗ @diderius6

do you get C0000005 error with server 2003 acpi.sys too?
#528 diderius6 Yes. It is the problem with APIC, I am quite sure.

But take a look at this:
XP on Ryzen, with Acpi enabled and without at the same time,
such fun is only possible in XP
Dietmar

#529 infuscomus ⇗ @diderius6

After XP Microsoft unified the HAL, so for Vista and later - ACPI-only - no other option
#530 infuscomus ⇗ @diderius6

there is a new function in windows 7 ntoskrnl - HvlWriteApicCommandRegister
#531 diderius6 I set up a windbg session.
For ACPI multiprocessor I get
EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%08lx referenced memory at 0x%08lx.
Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher  übertragen.

Dietmar
#532 diderius6
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 May 26 20:48:12.281 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
Built by: 2600.xpsp.080413-2111
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Sun May 26 20:48:15.078 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 810A6000->8290AFFF
Sun May 26 20:48:15.078 2019 (UTC + 2:00):
Sun May 26 20:48:15.093 2019 (UTC + 2:00): MM: Disabling large pages for all ranges due to overlap
Sun May 26 20:48:20.968 2019 (UTC + 2:00):
*** Fatal System Error: 0x0000007e
(0xC0000005,0xB7F75088,0xB84C2E8C,0xB84C2B88)

Sun May 26 20:48:21.015 2019 (UTC + 2:00): 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 May 26 20:48:21.203 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
.........................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck 7E, {c0000005, b7f75088, b84c2e8c, b84c2b88}

*** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
Probably caused by : ACPI.sys ( ACPI+e088 )

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

nt!RtlpBreakWithStatusInstruction:
8052b5dc 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: b7f75088, The address that the exception occurred at
Arg3: b84c2e8c, Exception Record Address
Arg4: b84c2b88, Context Record Address

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

*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0

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:
ACPI+e088
b7f75088 ff5010 call dword ptr [eax+10h]

EXCEPTION_RECORD: b84c2e8c -- (.exr 0xffffffffb84c2e8c)
ExceptionAddress: b7f75088 (ACPI+0x0000e088)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000010
Attempt to read from address 00000010

CONTEXT: b84c2b88 -- (.cxr 0xffffffffb84c2b88)
eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
ACPI+0xe088:
b7f75088 ff5010 call dword ptr [eax+10h] ds:0023:00000010=????????
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: 00000000

EXCEPTION_PARAMETER2: 00000010

READ_ADDRESS: 00000010

FOLLOWUP_IP:
ACPI+e088
b7f75088 ff5010 call dword ptr [eax+10h]

BUGCHECK_STR: 0x7E

DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE

LOCK_ADDRESS: 8055b560 -- (!locks 8055b560)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x8055b560
Thread Count : 1
Thread address: 0x8a8b9788
Thread wait : 0xbf

LAST_CONTROL_TRANSFER: from 804f8df9 to 8052b5dc

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
b84c30bc b7f9614d 8a8ccd80 b84c30e4 b84c30f4 ACPI+0xe088
b84c30e8 b7f9bddf b7f91940 b84c3104 e101128c ACPI+0x2f14d
b84c316c b7f95d80 e14c852c b84c31bc b7f91940 ACPI+0x34ddf
b84c3180 b7f9be5a b7f91940 b84c31bc e101128c ACPI+0x2ed80
b84c319c 80596117 b7f91940 00000009 b84c31bc ACPI+0x34e5a
b84c31d8 80597cd1 e14c84d8 00000000 8055b060 nt!IopBootAllocation+0x5f
b84c321c 80598602 00000004 e14c84d8 e1436430 nt!IopAllocateBootResourcesInternal+0x65
b84c323c 8069dcbc 00000004 8a8ccd80 e1436430 nt!IopAllocateBootResources+0x34
b84c325c 8058f193 00000004 8a8ccd80 e1436430 nt!IopReportBootResources+0x3c
b84c328c 80591f4d 8a8dbad8 800000a8 00000000 nt!PiQueryAndAllocateBootResources+0xe7
b84c337c 8059222b 8a8dbad8 00000000 00000000 nt!PipProcessNewDeviceNode+0xab5
b84c35d0 804f68d3 8a881dd8 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
b84c3614 804f6b78 00000000 00000000 800916b8 nt!PipDeviceActionWorker+0xad
b84c362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
b84c3690 80699f70 80085000 b84c36ac 00034000 nt!IopInitializeBootDrivers+0x376
b84c3838 806983d3 80085000 00000000 8a8b9788 nt!IoInitSystem+0x712
b84c3dac 805cff64 80085000 00000000 00000000 nt!Phase1Initialization+0xac7
b84c3ddc 805460de 8069790c 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: ACPI+e088

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 424d8208

STACK_COMMAND: .cxr 0xffffffffb84c2b88 ; kb

FAILURE_BUCKET_ID: 0x7E_ACPI+e088

BUCKET_ID: 0x7E_ACPI+e088

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

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: b7f75088, The address that the exception occurred at
Arg3: b84c2e8c, Exception Record Address
Arg4: b84c2b88, Context Record Address

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

*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0
*** No owner thread found for resource 8055b4e0

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:
ACPI+e088
b7f75088 ff5010 call dword ptr [eax+10h]

EXCEPTION_RECORD: b84c2e8c -- (.exr 0xffffffffb84c2e8c)
ExceptionAddress: b7f75088 (ACPI+0x0000e088)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000010
Attempt to read from address 00000010

CONTEXT: b84c2b88 -- (.cxr 0xffffffffb84c2b88)
eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
ACPI+0xe088:
b7f75088 ff5010 call dword ptr [eax+10h] ds:0023:00000010=????????
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: 00000000

EXCEPTION_PARAMETER2: 00000010

READ_ADDRESS: 00000010

FOLLOWUP_IP:
ACPI+e088
b7f75088 ff5010 call dword ptr [eax+10h]

BUGCHECK_STR: 0x7E

DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE

LOCK_ADDRESS: 8055b560 -- (!locks 8055b560)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x8055b560
Thread Count : 1
Thread address: 0x8a8b9788
Thread wait : 0xbf

LAST_CONTROL_TRANSFER: from 804f8df9 to 8052b5dc

STACK_TEXT:
WARNING: Stack unwind information not available. Following frames may be wrong.
b84c30bc b7f9614d 8a8ccd80 b84c30e4 b84c30f4 ACPI+0xe088
b84c30e8 b7f9bddf b7f91940 b84c3104 e101128c ACPI+0x2f14d
b84c316c b7f95d80 e14c852c b84c31bc b7f91940 ACPI+0x34ddf
b84c3180 b7f9be5a b7f91940 b84c31bc e101128c ACPI+0x2ed80
b84c319c 80596117 b7f91940 00000009 b84c31bc ACPI+0x34e5a
b84c31d8 80597cd1 e14c84d8 00000000 8055b060 nt!IopBootAllocation+0x5f
b84c321c 80598602 00000004 e14c84d8 e1436430 nt!IopAllocateBootResourcesInternal+0x65
b84c323c 8069dcbc 00000004 8a8ccd80 e1436430 nt!IopAllocateBootResources+0x34
b84c325c 8058f193 00000004 8a8ccd80 e1436430 nt!IopReportBootResources+0x3c
b84c328c 80591f4d 8a8dbad8 800000a8 00000000 nt!PiQueryAndAllocateBootResources+0xe7
b84c337c 8059222b 8a8dbad8 00000000 00000000 nt!PipProcessNewDeviceNode+0xab5
b84c35d0 804f68d3 8a881dd8 00000000 00000000 nt!PipProcessDevNodeTree+0x16b
b84c3614 804f6b78 00000000 00000000 800916b8 nt!PipDeviceActionWorker+0xad
b84c362c 8069d0ee 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x118
b84c3690 80699f70 80085000 b84c36ac 00034000 nt!IopInitializeBootDrivers+0x376
b84c3838 806983d3 80085000 00000000 8a8b9788 nt!IoInitSystem+0x712
b84c3dac 805cff64 80085000 00000000 00000000 nt!Phase1Initialization+0xac7
b84c3ddc 805460de 8069790c 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: ACPI+e088

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 424d8208

STACK_COMMAND: .cxr 0xffffffffb84c2b88 ; kb

FAILURE_BUCKET_ID: 0x7E_ACPI+e088

BUCKET_ID: 0x7E_ACPI+e088

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

#533 diderius6 Interesting, if this an error in some AM4 chipsets:

"The IRQ issue, as it turns out, originates at the chipset, rather than the CPU. While running AMD's chipsets A320 and B350 in PIC mode (versus APIC mode), the interrupt mode could not be set to level, which is needed to share IRQ's among several devices. In addition, while running in the edge mode, we discovered that the signal levels seemed to be inverted. This led to the loss of IRQ's and consequently, the driver was not receiving any reply to its device commands."

This would mean, that on other AM4 chipsets this APIC error (compi stays in PIC mode) not appears, for example

A/B300
X300
X370
B450
X470

Would be nice, to hear about acpi results for XP SP3 boot on those platforms
Dietmar

PS: With my modified acpi.sys from XP SP3 I get the error: Acpi tries to enable PIC mode, but fails. Because this is a B350 chipset, it may be just true.
#534 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #533
This would mean, that on other AM4 chipsets this APIC error (compi stays in PIC mode) not appears, for example

A/B300
X300
X370
B450
X470


The chipsets are very similar, I would assume same result on the B400 series as with B300 series
#535 diderius6 I just notice,
that no version of Vista can be installed on
Asrock fatal1ty ab350 gaming k4.
It tells: "compi not ACPI conform"

Dietmar

PS: Now I am sure, that it is a bug in the chipset B350 and /or in its Bios.
XP can only be installed there, because it can be done in PIC mode for one cpu (Standard PC).
I try a lot of Vista BETA versions, allways the same. If a beta version starts to install Vista (Longhorn)
few moment later comes BSOD 0x7E c0000005 acpi.sys error.
The problem is just, that Bios offers only PIC mode (16 IRQs) and not APIC mode (24 Irqs).
#536 infuscomus ⇗ @diderius6

any luck installing windows 7?
#537 diderius6 ⇗ @infuscomus

I cant install Win7 32 bit on MBR on Asrock fatal1ty ab350 gaming k4 via original DVD (from 2009, no service pack at all).
Compi shows on reboot error c0000007. I use Ryzen 1700 with 8 cores 16 threads.
But using the files from another compi works with full ACPI and Hyperthreading as you can see on photo.
This is astonishing, how legacy Win7 32 bit (non UEFI) manage the PIC modus from this Bios.
May be, it takes only very basics information from Bios
and builds everything else by itself
Dietmar

#538 infuscomus ⇗ @diderius6

can we copy APIC from AM3 or FM2+ system BIOS and apply to AM4?
#539 diderius6 ⇗ @infuscomus
I read a lot about PIC and APIC mode in Bios.
As far as I see, nobody else succeed to build a XP,
with both "Standard PC" and "Acpi Multiprocessor" at the same time.
I read, that somebody, who builds embedded PC s for XP was looking like crazy for such a solution.
I dont understand, where the switch between PIC and APIC mode is in Bios. May be its just one value of a variable, Arg0 (?)
which can be hacked.
Some BIOS are on a black list and XP always install PIC modus even Bios offers (faulty) APIC mode.
Somebody told, that the MPS multiprocessor table is a good test, if a BIOS works in APIC mode.
I agree, but on this Bios we have no MPS
Dietmar

PS: Interesting if there is a MPS table on any AM4 Bios. Just install RW everything and click on MPS.
On Asrock fatal1ty ab350 gaming k4 there is none. But may be on other chipsets for AM4 there is.
And I also have no idea, where this table is in Bios located.
#540 infuscomus ⇗ @diderius6

in XP unfriendly DSDT on ab350 gaming k4

           Device (SBRG)
           {
               Name (_ADR, 0x00140003)  // _ADR: Address
               Device (PIC)
               {
                   Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
                   Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                   {
                       IO (Decode16,
                           0x0020,             // Range Minimum
                           0x0020,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x00A0,             // Range Minimum
                           0x00A0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IRQNoFlags ()
                           {2}
                   })
               }

Device PIC is part of SBRG?

compare XP friendly


               Device (PIC)
               {
                   Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
                   Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                   {
                       IO (Decode16,
                           0x0020,             // Range Minimum
                           0x0020,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x00A0,             // Range Minimum
                           0x00A0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IRQNoFlags ()
                           {2}
                   })
               }

close bracket?
possible solution?

           Device (SBRG)
           {
               Name (_ADR, 0x00140003)  // _ADR: Address
           }

               Device (PIC)
               {
                   Name (_HID, EisaId ("PNP0000") /* 8259-compatible Programmable Interrupt Controller */)  // _HID: Hardware ID
                   Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
                   {
                       IO (Decode16,
                           0x0020,             // Range Minimum
                           0x0020,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x00A0,             // Range Minimum
                           0x00A0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IRQNoFlags ()
                           {2}
                   })
               }

maybe?

 

Page 37

#541 diderius6 ⇗ @infuscomus
I found the Hexpattern, where _MP_ is recogniced.
It is 5F4D505F.
Via this way I found the MP table in Bios from Apex X board.
It is located in Bios in  ACPI  Section_PE32_image_ACPI
Dietmar

PS: Via this way, all Bios from other AM4 chipsets can be tested for  _MP_  table.
I just test this. The PRIME-X470-PRO-ASUS-4602 Bios also has no _MP_ table.

EDIT: The 8259-compatible Programmable Interrupt Controller is the part for PIC mode.
But where is the same for APIC?

⇗ https://habr.com/en/post/446312/
⇗ https://wiki.osdev.org/IOAPIC
⇗ https://wiki.osdev.org/MADT
#542 diderius6 Yesssssa, I find the cause of all evel in APIC for XP in Bios FACP table
Signature	"FACP"
Length 0x00000114 (276)
Revision 0x06 (6)
Checksum 0xC1 (193)
OEM ID "ALASKA"
OEM Table ID "A M I "
OEM Revision 0x01072009 (17244169)
Creator ID "AMI "
Creator Revision 0x00010013 (65555)
Firmware Control 0xDC6E0D80 - FACS
DSDT Address 0xDC31A1E8 - DSDT
Interrupt Mode 0x00 (0) - Dual PIC
PM Profile 0x01 (1)
SCI Interrupt 0x0009 (9)
SMI Port 0x000000B2 (178)
ACPI Enable 0xA0 (160)
ACPI Disable 0xA1 (161)
S4 Request 0x00 (0) - Not supported
PSTATE_CNT 0x00 (0)
PM1a_EVT_BLK 0x00000800 (2048)
PM1b_EVT_BLK 0x00000000 (0) - Not supported
PM1a_CNT_BLK 0x00000804 (2052)
PM1b_CNT_BLK 0x00000000 (0) - Not supported
PM2_CNT_BLK 0x00000000 (0) - Not supported
PM_TMR_BLK 0x00000808 (2056)
GPE0_BLK 0x00000820 (2080)
GPE1_BLK 0x00000000 (0) - Not supported
PM1_EVT_LEN 0x04 (4)
PM1_CNT_LEN 0x02 (2)
PM2_CNT_LEN 0x01 (1)
PM_TMR_LEN 0x04 (4)
GPE0_BLK_LEN 0x08 (8)
GPE1_BLK_LEN 0x00 (0)
GPE1_BASE 0x00 (0)
CST_CNT 0x00 (0)
P_LVL2_LAT 0x0065 (101) - C2 state not supported
P_LVL3_LAT 0x03E9 (1001) - C3 state not supported
FLUSH_SIZE 0x0400 (1024)
FLUSH_STRIDE 0x0010 (16)
DUTY_OFFSET 0x01 (1)
DUTY_WIDTH 0x03 (3)
DAY_ALRM 0x0D (13)
MON_ALRM 0x00 (0) - Month alarm not supported
CENTURY 0x32 (50)
IAPC_Boot_Arch 0x03 0x00
Reserved 0x00 (0)
Flags 0x0003C5A5
WBINVD 1 - WBINVD instruction fully supported
WBINVD_Flush 0 - WBINVD instruction not for sleep states (Don't care if WBINVD=1)
PROC_C1 1 - C1 power state: all processors
P_LVL2_UP 0 - C2 power state: UP system only
PWR_BUTTON 0 - Power button supported as fixed feature
SLP_BUTTON 1 - Sleep button not support or handled by ASL code
FIX_RTC 0 - Fixed register support RTC wake
RTC_S4 1 - RTC wakeup support: S1, S2, S3, S4
TMR_VAL_EXT 1 - 32bit PM Timer
DCK_CAP 0 - Docking not supported
RESET_REG_SUP 1 - Reset Register supported
SEALED_CASE 0 - System is not sealed
HEADLESS 0 - Not headless mode
CPU_SW_SLP 0 - Normal method to write SLP_TYPx
PCI_EXP_WAK 1 - PM1 block support PCIE wakeup status/enable bits
USE_PLATFORM_CLOCK 1 - OSPM use HPET (if exist) or ACPI PM Timer
S4_RTC_STS_VALID 1 - RTC_STS flag is valid when resume from S4
REMOTE_POWER_ON_CAPABLE 1 - System compatible with remote power on
FORCE_APIC_CLUSTER_MODEL 0 - Cluster destination model not required
FORCE_APIC_PHYSICAL_DESTINATION_MODE 0 - Physical destination mode not required
RESET_REG IO: 0xB2, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Undefined
RESET_VALUE 0xBE (190)
Reserved 0x00 0x00 0x00
X_FIRMWARE_CTRL 0x0000000000000000
X_DSDT 0x00000000DC31A1E8
X_PM1a_EVT_BLK IO: 0x800, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Word
X_PM1b_EVT_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
X_PM1a_CNT_BLK IO: 0x804, BitWidth: 0x10 (16), BitOffset: 0x00 (0), AccessSize: Word
X_PM1b_CNT_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Word
X_PM2_CNT_BLK IO: 0x0, BitWidth: 0x8 (8), BitOffset: 0x00 (0), AccessSize: Byte
X_PM_TMR_BLK IO: 0x808, BitWidth: 0x20 (32), BitOffset: 0x00 (0), AccessSize: Dword
X_GPE0_BLK IO: 0x820, BitWidth: 0x40 (64), BitOffset: 0x00 (0), AccessSize: Byte
X_GPE1_BLK IO: 0x0, BitWidth: 0x0 (0), BitOffset: 0x00 (0), AccessSize: Byte
SLEEP_CONTROL Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined
SLEEP_STATUS Memory: 0x0, BitWidth: 0x0 (0), BitOffset: 0x0 (0), AccessSize: Undefined


Crazy, so the Bios from Asrock fatal1ty ab350 gaming k4 is really a PIC mode Bios, like 30 years ago
Dietmar
#543 diderius6 This can be hacked, like I did with the timer and s4e method:
Before
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\ALASKA\A_M_I_\01072009]
"00000000"=hex:46,41,43,50,14,01,00,00,06,c1,41,4c,41,53,4b,41,41,20,4d,20,49,\
20,00,00,09,20,07,01,41,4d,49,20,13,00,01,00,80,0d,6e,dc,e8,a1,31,dc,00,01,\
09,00,b2,00,00,00,a0,a1,00,00,00,08,00,00,00,00,00,00,04,08,00,00,00,00,00,\
00,00,00,00,00,08,08,00,00,20,08,00,00,00,00,00,00,04,02,01,04,08,00,00,00,\
65,00,e9,03,00,04,10,00,01,03,0d,00,32,03,00,00,a5,c5,03,00,01,08,00,00,b2,\
00,00,00,00,00,00,00,be,00,00,00,00,00,00,00,00,00,00,00,e8,a1,31,dc,00,00,\
00,00,01,20,00,02,00,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,\
00,01,10,00,02,04,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,00,\
01,08,00,01,00,00,00,00,00,00,00,00,01,20,00,03,08,08,00,00,00,00,00,00,01,\
40,00,01,20,08,00,00,00,00,00,00,01,00,00,01,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00

after
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\HARDWARE\ACPI\FADT\ALASKA\A_M_I_\01072009]
"00000000"=hex:46,41,43,50,14,01,00,00,06,c1,41,4c,41,53,4b,41,41,20,4d,20,49,\
20,00,00,09,20,07,01,41,4d,49,20,13,00,01,00,80,0d,6e,dc,e8,a1,31,dc,01,01,\
09,00,b2,00,00,00,a0,a1,00,00,00,08,00,00,00,00,00,00,04,08,00,00,00,00,00,\
00,00,00,00,00,08,08,00,00,20,08,00,00,00,00,00,00,04,02,01,04,08,00,00,00,\
65,00,e9,03,00,04,10,00,01,03,0d,00,32,03,00,00,a5,c5,03,00,01,08,00,00,b2,\
00,00,00,00,00,00,00,be,00,00,00,00,00,00,00,00,00,00,00,e8,a1,31,dc,00,00,\
00,00,01,20,00,02,00,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,\
00,01,10,00,02,04,08,00,00,00,00,00,00,01,00,00,02,00,00,00,00,00,00,00,00,\
01,08,00,01,00,00,00,00,00,00,00,00,01,20,00,03,08,08,00,00,00,00,00,00,01,\
40,00,01,20,08,00,00,00,00,00,00,01,00,00,01,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00

Dietmar
#544 infuscomus ⇗ @diderius6

so in FACP table

Interrupt Mode 0x00 (0) - Dual PIC

should be

Interrupt Mode 0x01

is this correct?
#545 diderius6 ⇗ @infuscomus
Yes.

Interrupt Mode 0x00 (0) - Dual PIC  -->  Interrupt Mode 0x01 (1) - Multiple APIC

When you read, how APIC works, you see, that each cpu core builds an own local Apic.
And all together, the chipset with integrated apic controller (!) makes a working (or not working) Apic from it.
So, I am not sure, if this is a symptom in FACP or the cure:)).
Until know, I do not find the location of FACP in Bios.
When you look for string "FACP" with Uefi-Tool you get some adresses.
But how the table facp is build from it, I dont know.
The hack in Bios would be simple
Dietmar
#546 infuscomus ⇗ @diderius6

my guess is FACP is located in Section_PE32_image_ACPI_ACPI_body.efi

I think XSDT is there too

I don't know how to extract the FACP from the EFI module though
#547 diderius6 I succeed to install USB2.0 and full USB 3.1 support on the Asrock fatal1ty ab350 gaming k4
for XP SP3
Dietmar

#548 infuscomus ⇗ @diderius6

which driver version did you use for USB 3.0/3.1?
#549 infuscomus ⇗ @diderius6

i'm not 100% sure, butyou may find this useful?
Windows Vista ACPI information, incl. advice on common problems in ACPI implementations
⇗ http://download.microsoft.com/download/5...CPA002_WH06.ppt

edit: according to this presentation, you need a checked build of acpi.sys to load ACPI tables from registry?
#550 diderius6 ⇗ @infuscomus
There are nice tips for to work with windbg, especially on BSOD 0x7E.

About USB3.1 on the AMD Asrock board:
First I copy all USB XP SP1 files (see attach down here) to folder windows\system32\drivers on AMD XP SP3.
Then from device manager I install USB 3.1 files, first xhci, then, when windows ask for it, the hub driver
Dietmar

EDIT: No need for checked build of acpi.sys (I have for XP, but does not help anything).
XP always reads dsdt, facp tables from registry.
What may be different with checked acpi.sys is,
that this driver ONLY looks at registry, while normal XP acpi.sys reads the
entries in registry, which are always loaded new from Bios on next boot.
So, like with the Microsoft tool, you can make an order list of entries
for dsdt, facp in registry, newest files are loaded then.



diderius6 has attached files to this post
#551 infuscomus ⇗ @diderius6

Thanks for the USB drivers.

I recall you saying that server 2003 acpi.sys had ACPI 2.0 words compared to XP ACPI 1.0 words

so can checked server 2003 acpi.sys with ACPI 2.0 words help diagnose the problem?

p.s I assume acpi.sys 5048 is an unchecked version?
#552 infuscomus ⇗ @diderius6

do you have a copy of debug ntkrnlmp.exe for XP?

I have found server 2003 version but not XP version
#553 diderius6 ⇗ @infuscomus
Here it is,
englisch debug version XP SP3 32 bit ntkrnlmp.exe
Dietmar



diderius6 has attached files to this post
#554 diderius6 Hi,
I am happy, when all AMD Ryzen users can make a quick test via rw-everything,
if there is a MPS table on their board.
For this, just click MPS on top of the RW-everything window
Dietmar
#555 diderius6 May be a Linux installation on the Asrock fatal1ty ab350 gaming k4
can give more information about the not working APIC mode. Any help using diagnostic tools in Linux is welcome.

Yesterday I booted this board write protect with an XP from an AM3+ board.
Again the 0x7E 0xc0000005 error ACPI.sys error (I use the modified 5048 acpi.sys, which works perfect on intel boards.)
This is strange, because the FACP and DSDT table are now read from the
AM3+ board, because of writeprotect. This would mean: The BSOD happens not because of broken Bios.

More and more I come to the conclusion,
that the APIC controller in the B320 and B350 AMD chipsets has an error
Dietmar

EDIT: May be this problem with APIC is related to 32 bit (adress room),
        and because of this, there is no support for legacy Win7 32 bit for Ryzen.
        I saw computers with B320 or B350 chipset with Ryzen cpu, which fails during install Win7 32 bit via Acpi.sys error.
        It depends not on the ryzen cpu, I tested.

 

Page 38

#556 infuscomus ⇗ @diderius6

Thanks for XP checked ntkrnlmp

server 2003 checked acpi.sys calls missing function not in XP - DbgCommandString

damn
#557 diderius6 ⇗ @infuscomus

Here it is, original XP SP3 32 bit english acpi.sys debug version, until now not modified,
because big differences in normal acpi.sys version and debug

Dietmar



diderius6 has attached files to this post
#558 infuscomus ⇗ @diderius6

Thanks

regarding MPS table - can this be added into BIOS for AB350 gaming K4? or would MPS be unnecessary if we can make APIC work?
#559 diderius6 ⇗ @infuscomus
MPS table helps you to see at once,
if the compi can work in APIC mode.
Without MPS, you cant say nothing:)).
No real need for the MPS table,
but via MPS you can decide, wether it is an APIC versus PIC
problem or just something went wrong with ACPI.sys.
On the Asrock B350 board, for sure something went wrong with APIC,
and acpi.sys crashes in follow of only PIC mode (no multiprocessor)
Dietmar
#560 infuscomus ⇗ @diderius6

can you send me a full acpidump (all tables) of your XP friendly AM3+ board?

I don't have an AM3+ board of my own
#561 diderius6 ⇗ @infuscomus

Here it the acpidump, translated to human readable.
This Bios from AM3+  FX-8350 processor on MSI 760gma-p34 (fx) board (first version)
has an MPS table, in FACP you can see, that APIC mode is enabled
and really everything works nice in XP SP3, especially MPS multiprocessor and ACPI multiprocessor
Dietmar



diderius6 has attached files to this post
#562 diderius6 Waaaoh,
my idea about BSOD from acpi (no apic, only pic model) because of 32 bit is right.
Just in this moment I install legacy Vista 64 bit (very first version from 2007) on MBR.
Now it is clear, why there is no legacy Win7 32 bit support for the Asrock fatal1ty ab350 gaming k4 board
Dietmar
#563 infuscomus ⇗ @diderius6

Thanks,

was it just these 4 tables?

can i get the raw acpidump output file so it gives everything?

acpidump -o am3dump
#564 diderius6 ⇗ @infuscomus

acpidump looks only at registry and in registry hardware are only this 4 files.
rw-everything looks in Bios, but it crashes, because it does not like
acpi and nonacpi model at the same time
Dietmar
#565 infuscomus ⇗ @diderius6

OK, Thanks

do you know if the facp table is actually generated at boot or stored in BIOS?
#566 diderius6 ⇗ @infuscomus

The FACP table is build on boottime always new from XP (with an unknown algorithmus), during reading from Bios.
But you can fake the FACP table, because hal.dll of XP looks only in registry.
I have done this for the timer and the fake FACP table works.
Here with the Asrock board we have the problem,
that there is no FACP table build in Bios, because of no Acpi.
With some handwork, it is possible to build such a hardware entry in registry for ACPI for all the 4 tables by hand.
But the result would be the same BSOD 0x7E 0xC0000005
Dietmar

PS: At the moment I download Ubuntu 16.04 (32-bit),
     this is the last version for 32 bit support.
     I hope to get some more information, at which place the APIC mode crashes,
     as it depends on those 32 bit.
#567 infuscomus ⇗ @diderius6

there is also manjaro linux maintaining a 32-bit version if you want something more recent
#568 diderius6 Here ist the registry entry (under hardware) for all ACPI tables Vista 64 bit for the Asrock board.
On XP SP3 32 bit it should be 100% identic
Dietmar



diderius6 has attached files to this post
#569 diderius6 I just make a try with faked FACP chosing APIC model there (instead of PIC). This registry entry ACPI I added to working XP on the Asrock board.
I tested with acpidump, acpixtract, iasl -d there
ok, now APIC model is told there^^.
Shut it down. Then I copy everything to a write protected USB stick,
now really funs starts
Dietmar

EDIT: Still the same BSOD 0x7E 0xC0000005, brrr..
        So, it is a serious problem in 32 bit. Now I install Ubuntu 16, 32 bit on the Asrock board.
        I think, the problem with APIC mode will remain there.

OK, first message during install Ubuntu is: Unknown hardware..
One time starting Firefox, it crashes. Really stable OS, brrr...
Funny, together with crashed Firefox (in black and white, looks interesting^^), now Ubuntu 32 bit is updating:)).
I also downloaded Arch 32 Linux distro from march 2019
and MX Linux 32. We will see. Until now, I think Win95 is the better choice, crazy..
#570 diderius6 Ok, this is advantage in Ubuntu 32 bit after 30 min update on Asrock fatal1ty ab350 gaming k4^^




After total fail of Ubuntu
now next try with MX-Linux 32 bit from Mai 2019
Dietmar

EDIT: MX-Linux 32 bit: No crash of Firefox, no mouse, english keyboard (no german keyboard layout can be chosen) but sound and network, youtube works.
In the beginning there was a possibility to cancel Acpi. But at the moment I think all 8 core with 16 threads work
with Acpi on this Linux 32 bit version. Ok, clock wrong, micro letters on screen, no possibility to change this on screen..
Oho, my own password, which I have put in repeated, is now told to be wrong^^..arghhh
And take a look at the symbols, left down,..ok I try Arch Linux 32..



Arch Linux shows only commandline after boot. And when you look for installed hardware, system told: string empty..

Ok, for today its enough with Linux..
I want win95:))

 

Page 39

#571 infuscomus ⇗ @diderius6

⇗ https://linuxmint.com/download.php
try linux mint 32bit - xfce (easier to run, less resources)
#572 infuscomus ⇗ @diderius6

If Win95 doesn't work I know for sure Win98SE works as I have it installed
#573 diderius6 ⇗ @infuscomus

Thanks for the link for the Linux Mint 32bit xfce, I just downloaded it.

I take a closer look at the XP friendly DSDT from AM3+ compared with the DSDT from the Asrock board AM4.

In AM3+ DSDT we have in header
* Revision  0x01 **** 32-bit table (V1), no 64-bit math support

It is the compi from my daughter. She installed there Win10 64 bit, so this does not mean, that 64 bit OS do not work.
But vice versa is true, with the DSDT table of any(?) AM4 board big problems with 32 bit OS.

There exist also AM3+ boards (SABERTOOTH-990FX-R20-ASUS) with Acpi2.0 and working XP on it.

In header then is written  * Revision    0x02.

So, the problem with XP 32 bit depends not on the Revisions number.

Question is, if it enough to modify DSDT only to XP friendly

Dietmar
#574 infuscomus ⇗ @diderius6

can you change DSDT revision with registry mod and test?

or find the part in acpi.sys that checks DSDT revision?
#575 diderius6 ⇗ @infuscomus
There is no part in acpi.sys that checks DSDT version. This entry in DSDT is only for human.
acpi.sys stupid reads DSDT loaded to ram and crashes or not
Dietmar

PS: Question is, if with any new DSDT table XP 32 bit can work in APIC mode on AM4 chipset or not.
#576 infuscomus ⇗ @diderius6

you can force iasl to produce revision 1 math from original disassembled revision 2 table

iasl -r1 revision2to1.dsl
#577 diderius6 ⇗ @infuscomus
This is a nice tip iasl -r1 revision2to1.dsl,
until now I get an 1 error message
when I try, without writing,#
where this error is
Dietmar
#578 diderius6 ⇗ @infuscomus

Yessa,
I succeed with it.
Now it becomes really interesting
Dietmar



diderius6 has attached files to this post
#579 infuscomus ⇗ @diderius6

is this DSDT from AB350 GamingK4 (BIOS 5.40) - converted to revision 1?
#580 diderius6 ⇗ @infuscomus

yessss:))

And here are the belonging *.aml files.
They are very different from each other, compare with Winhex shows
more than 20000 places different.
So, may be we are on the right way
Dietmar



diderius6 has attached files to this post
#581 infuscomus ⇗ @diderius6

the presence of CreateQWordField wont cause problems?
#582 diderius6 ⇗ @infuscomus

I think not.
But this we will see in next BSOD^^

I am going to flash this DSDT on my new Asrock board,
big risk, but no fun without risk^^

Dietmar
#583 infuscomus ⇗ @diderius6

Good luck,

If this DSDT does not work you can try an earlier version in BIOS 3.30 for AB350 Gaming K4 that does not have CreateQWordField in it
#584 diderius6 Hm, strange things happen.
I first read out the Bios chip on the Asrock board with tl866ii plus,
25u12873f.
mx25u12835f is found via tl866ii plus
with the identic chip ID 0xc22538.
Before the Bios chip was recogniced,
I have to put out cpu, cmos battery and ram.
Then I make 2 copies of the Bios chip and compare them.
They are to 100% identic.
Then I compare them with the read out from the Bios chip made with
Universal BIOS Backup ToolKit 2.0.exe.
They are different, hm..
The tool just ordered some blocks in Bios for boot devices different, as I can see with Beyond Compare2.
Then I change in the Bios (read out made with Universal BIOS Backup ToolKit 2.0.exe)
the DSDT file vers 2->vers 1.
I read those DSDT files out again, all ok.
Then I erase the Bios chip, flash with modded DSDT and verify it after.
All seems ok.
After putting cpu, cmos battery and ram in again,
compi starts.
But now comes the most crazy thing:
With rw-everything looking for DSDT table I was told vers 2
and nothing has changed.
Now I think, there is some kind of write protect for this Bios chip.
But the tl866ii plus told nothing about this, strange
Dietmar
#585 infuscomus ⇗ @diderius6

maybe try AFUDOS tool to flash modded BIOS?

reference guide
⇗ https://puissanceled.com/vrac/Bios_modding/EN.html

 

Page 40

#586 diderius6 Now comes the mostmost crazy:
I read out again whole Bios with the  Universal BIOS Backup ToolKit 2.0.exe.
And from this read out I extract with Uefi tool
the DSDT table.
And the most most crazy is,
the DSDT table has changed to version 1, no doubt.
But what does rw-everything tell then?
From where it gots its infomation???
For sure not from the real BIOS
Dietmar

PS: I add the new read out from Universal BIOS Backup ToolKit 2.0.exe.
This means, the crazy flash procedure has had success.
But may be to do this with the AFUDOS tool is more elegant.
Anyway, the way I did it works.



diderius6 has attached files to this post
#587 diderius6 Waaaoooh, with the new DSDT table I can install Vista 32 bit on the Asrock fatal1ty ab350 gaming k4!!!
What a BIG step forward
Dietmar
#588 infuscomus ⇗ @diderius6

thats good news!

any luck with XP?
#589 diderius6 ⇗ @infuscomus

On Vista 5048 and on XP Acpi Multiprocessor
I still get the BSOD 0x7E 0xc0000005
Dietmar

PS: The MPS Multiprocessor also not works, because still no MPS table there.
But this is not importand for XP.
#590 infuscomus ⇗ @diderius6

do you get 7E BSOD with server 2003 SP2 acpi.sys?
#591 diderius6 ⇗ @infuscomus

I tested Win server 2003 SP2 for itself.
It gives BSOD 0xA5 0x11 0x08 as usual.
For me is at the moment the most important,
if APIC mode works now, this I am just testing with XP and halapic.dll
Dietmar

EDIT: APIC mode still does not work. And because of this no ACPI too.
The problem in this is, that the BSOD because of APIC happens so early, that windbg is not awaken.

Vista 32 bit overcomes this problem in some way, but how?
#592 infuscomus ⇗ @diderius6

there is also still the BIOS 3.30 DSDT to try without CreateQWordField
#593 diderius6 ⇗ @infuscomus

The BSOD because of unknown words from ACPI2.0 is other.
But who knows:))
Dietmar
#594 infuscomus ⇗ @diderius6

try it anyway, see what happens
#595 diderius6 ⇗ @infuscomus

I just tried the afudos methode.
But there comes

46 - Error: Problem getting flash information.

"Error 46: Problem Getting Flash Information, it's because you aren't using afudos."
Yes, the flash program here for Asrock board is another.

Ok,
I make try the hard way as before,
I just have Bios vers. 3.30 mod ready with DSDT table vers1 for 32 bit

Dietmar
#596 infuscomus ⇗ @diderius6

46 - Error: Problem getting flash information.

did you use /gan switches?

afudos modbios.rom /gan
#597 diderius6 ⇗ @infuscomus
Yes, I use this switch but the afudos program does not work at all for the Asrock board.
There has to be another program (may be with the same name "Afudos" but from other manufacturer) for to flash the Asrock board.
Interesting, in Bios 3.30 for the Asrock board there is in FACP APIC mode enabled.
So, there is a big BREAK in Bios before and after 3.30 Bios for this Board.
Vista 32 bit likes this, you can install it at once.
But XP APIC does not work.
Ok, now I am going to flash DSDT table with vers 1 32 Bit
Dietmar
#598 diderius6 ⇗ @infuscomus

From where you know this switch and are there other important switches for iasl?
iasl -r1 revision2to1.dsl

Dietmar
#599 infuscomus ⇗ @diderius6

from iasl -h help

 -r <revision>       Override table header Revision (1-255)
#600 diderius6 ⇗ @infuscomus
Ok, compi survived second crazy flash operation.
Bios is now 3.30 with rev1 DSDT table.
Now rw-everything told also rev 1 in DSDT table
and APIC mode in FACP.
But XP still crashes with the same BSOD 0x7E 0xc0000005
and APIC does not work in XP, only PIC with 16 IRQs
Dietmar

PS: Now this is the 32 bit friendliest Asrock fatal1ty ab350 gaming k4 board ever,
you can install all systems only XP 32 bit not, until now:))!



diderius6 has attached files to this post

 

Page 41

#601 infuscomus ⇗ @diderius6

maybe we need to look at changing the revisions for the other tables?

just a guess, not sure

edit: APIC table maybe?
⇗ https://wiki.osdev.org/MADT
#602 diderius6 ⇗ @infuscomus

Today I think half of the work for full XP is done.
XP SP3 looks now like HYPER Win98SE,
nvme Optane works, just everything and this with one cpu and one thread,
because APIC not works
Dietmar




EDIT: Even boot XP SP3 from the nvme Optane disk as only device connected to the Asrock board works.
I put for this ntoskrnl.exe and hal.dll (PIC mode) in windows\system32 and in boot.ini of the Optane boot device
I rename them to nt1.exe and hal1.dll, waaoh.

#603 diderius6 ⇗ @infuscomus
I make a try to change the rev number of the APIC (same as MADT) table.
But this time it does not work.
Always rev3 is written in header no matter if you change this to rev1 or rev2
and the table stays to 100% identic
Dietmar
#604 infuscomus ⇗ @diderius6

as a last resort you could try replacing entire DSDT with a known XP compatible?

in this case an ASRock 970A-G3 motherboard



infuscomus has attached files to this post
#605 diderius6 ⇗ @infuscomus

Oh, I do not give up so quick:)).
I noticed a strange thing:
When I install Vista 32 bit on the AM3+ board,
the driver for the Asmedia 106x SATA harddisk was found at once on the Vista CD.
But when I install Vista 32 bit to the Asrock board,
Vista aks for this driver for the harddisk even it has the identic Asmedia 106x chip! No USB at all works on the Asrock board during install of Vista, no PS/2 mouse.

This means: No hardware is identified at all on the Asrock board.

The Bios from the Asrock board cant show all its hardware correct to Vista or XP.
This may be the fault of the chipset B350, who knows.

Hm, what can they change on Vista, that this gives NOW (former versions of Vista give) not the BSOD 0x7E 0xc0000005?
Vista learned, to survive with such a crazy situation. (By the way, I think this was the reason for the complete fail of Ubuntu.
In the very first boot stage Ubuntu tells: Unknown hardware (not unknown CPU or something like, whole hardware cant be identified)).

I come to the idea, that they change something in hal.dll.
XP cant help itself very good, so it disables everything and goes to PIC mode (blind for all hardware on the Asrock board).
For Vista was the same, but it survives with this blindness because of more error tolerant hal.dll
Dietmar

PS: I will test this today.
#606 diderius6 Yessa, I am just installing XP SP3 in APIC multiprocessor mode on the Asrock board
Dietmar

EDIT: XP uses multiprocessor ntoskrnl.exe and renamed hal.dll to halsp.dll.
But on next reboot it hangs, even XP is installed nearly complete. But this seems to be
the right way. From Vista, version 5342 does not show the BSOD 0x7E 0xc0000005,
but it hangs during installation.
#607 infuscomus ⇗ @diderius6

why is vista 32-bit not detecting hardware?

should we be using vista beta driver if vista release also has problems?
#608 diderius6 ⇗ @infuscomus

Good question.
On the Vista versions after 5048,
I always get no acpi.sys BSOD but it was told

Blinitializelibrary failed 0xc0000017

I do not know this error,
but for me its sound:
Unknown hardware
Dietmar
#609 infuscomus ⇗ @diderius6

acpi 5342 calls functions from ntoskrnl and hal that are not available in XP

maybe that is the reason for error?
#610 diderius6 ⇗ @infuscomus

No, you missunderstood me.
This where all the original Vista versions >5048,
which tells this error on the Asrock B350 board
Dietmar
#611 infuscomus ⇗ @diderius6

after acpi 5048 I can only get "acpi.sys is corrupted" error when i try to install XP
#612 diderius6 May be, acpi.sys just tries to read in reserved low memory.
FAULTING_IP:
ACPI+e088
b7f75088 ff5010 call dword ptr [eax+10h]

EXCEPTION_RECORD: b84c2e8c -- (.exr 0xffffffffb84c2e8c)
ExceptionAddress: b7f75088 (ACPI+0x0000e088)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000010
Attempt to read from address 00000010

CONTEXT: b84c2b88 -- (.cxr 0xffffffffb84c2b88)
eax=00000000 ebx=b84c30f4 ecx=8a8ccd80 edx=b84c3030 esi=b84c30e4 edi=00000000
eip=b7f75088 esp=b84c2f54 ebp=b84c30bc iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
ACPI+0xe088:
b7f75088 ff5010 call dword ptr [eax+10h] ds:0023:00000010=????????
Resetting default scope

Because it is always the same error 0x7E 0xc0000005
Later I will set up a checked version of XP SP3
with windbg and amli debugger for to see,
what is going on
Dietmar

PS: I think, with not modified Bios, Win7 32 bit also shows the same error Blinitializelibrary failed 0xc0000017.
Now, with APIC Bios 3.30 on Asrock B350 Win7 32 bit installs without any problem.

PPS: Or BSOD 0x7E 0xc0000005 happens, because we use more than 4 Gbyte ram and Xp does not like this on some motherboards? Needs to be tested.
#613 infuscomus ⇗ @diderius6

do you know where i can get a checked build of XP for myself?

I managed to find a 2003 checked build but not XP
#614 diderius6 ⇗ @infuscomus
I think, I used a normal English XP SP2 version
and succeed to update this to a full checked XP SP3 version only with a XP SP3 checked servicepack
Dietmar
#615 diderius6 When I set up checked XP SP3 on the Asrock B350 board,
I get now during "Multiprocessor Acpi" setup
BSOD 0x7E 0x80000003
Dietmar

EDIT: From Microsoft: If exception code 0x80000003 occurs, a hard-coded breakpoint or assertion was hit, but the system was started with the /NODEBUG switch.

⇗ https://answers.microsoft.com/en-us/wind...bf-13dc940cae63

 

Page 42

#616 diderius6 I set up debug modus via F8 and entry in boot.ini in checked XP SP3 setup during 2. phase of install (after reboot)
because even with  "Standard PC" the compi crashes.
A lot of times I get via debug the message: "Impossible values from Hal",
which means, XP SP3 cant work (good?) with the information of the Bios from Asrock B350
Dietmar

Sun Jun  2 22:11:32.015 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun  2 22:11:32.015 2019 (UTC + 2:00):
Sun Jun  2 22:11:32.109 2019 (UTC + 2:00): HAL: returning impossible range
Sun Jun  2 22:11:32.109 2019 (UTC + 2:00):
Sun Jun  2 22:11:32.250 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun  2 22:11:32.250 2019 (UTC + 2:00):
Sun Jun  2 22:11:32.343 2019 (UTC + 2:00): HAL: returning impossible range
Sun Jun  2 22:11:32.343 2019 (UTC + 2:00):
Sun Jun  2 22:11:32.468 2019 (UTC + 2:00): HalpGetValidPCIFixedIrq: BIOS did not assign an interrupt vector for the device
Sun Jun  2 22:11:32.468 2019 (UTC + 2:00):
Sun Jun  2 22:11:32.562 2019 (UTC + 2:00): HAL: returning impossible range


EDIT: Without debugger, XP SP3 debug version always crashs. With windbg it comes to desktop but slow. I want to use it for debugging acpi.sys, after I put halmacpi.dll and ntkrpamp.exe
to windows\system32 , a line in boot.ini and acpi.sys there also. But even now is clear: XP does not know, how to set IRQs
because missing information from Bios.



diderius6 has attached files to this post
#617 infuscomus ⇗ @diderius6

can XP handle IRQs like 0xFFFFFFF7 (-9) - IRQ of PCI\VEN_1022&DEV_7901 on windows 10


assuming we get APIC working
#618 diderius6 ⇗ @infuscomus

XP handles normal APIC, means 24 IRQs.
Yesterday it was a crazy work to install XP SP3 debug version "Standard PC" on the Asrock B350 board.
It lasts more than 2 hours.
And without debugger it always crashs because of not enough help, to
assign Irqs to devices, from Bios.

Today I make a full "Acpi Multiprocessor" install of this debug XP on the AM3+ XP friendly board.
Because it is not possible, to switch from a "Standard PC" installation to "Acpi Multiprocessor",
only vice versa
Dietmar
#619 infuscomus ⇗ @diderius6

the acpitbls.rar file you sent earlier - can you send a new copy as binary?

rw-everything -> save all as binary

I'd like to try grub2 method again with these tables and it is easier to work with binary
#620 diderius6 ⇗ @infuscomus
This installation is gone^^. Every day I install something new.
I just install Vista 32 bit on the AM3+ XP friendly board.
After, this will work on the Asrock Am4 board,
and I will send to you the tables
Dietmar

PS: With all the Vista versions, I have the one by one test, what goes wrong with XP.
#621 infuscomus ⇗ @diderius6

I made progress with grub2 method - also switched to AIO multiboot for newer grub2 version

after DSDT replace - different ACPI BSOD using xp sp3 acpi.sys

now

BSOD A5 0x03

previously

BSOD A5 0x11

ACPI 5048 new BSOD

BSOD A5 0x0D

#622 infuscomus ⇗ @diderius6

grub2 method is useful - it can replace DSDT and other ACPI tables without needing to flash BIOS

grab a USB stick and download AIO multiboot

⇗ https://www.aioboot.com/en/download/
#623 diderius6 ⇗ @infuscomus
Have you used the modified Acpi.sys 5048?

I have a really crazy problem:
After I install Vista 32 Bit (from 2007 original version)
on the AM3+ friendly board,
I try to start with this harddisk with fresh Vista 32 bit on it
the AM4 Asrock Ryzen B350 board.
But even the ASM106x driver works under XP SP3 for both boards,
this was not true for the original Vista driver.
I tried to manually install the driver in registry System\services
in CriticalDeviceDatabase and in PCI.
But even I can handle now Vista like XP (really funny, you can change registry between them, Vista is XP SP4(!))
Vista on the AM4 board crashes alswas, tolding me, I have to use chkdsk on the harddisk.
I can check during system start of Vista, that the ASM106x driver asahci32.sys is not loaded.

But while I write this, I come to the idea to install the XP driver ASM106x driver asahci32.sys on the running AM3+ board,
Dietmar

PS:
BSOD 0xA5 0x0000000D
0x0D

The ACPI extension that ACPI needs the object for

The (ULONG) name of the method that ACPI looked for

0: Base case

1: Conflict

ACPI could not find a required method or object in the namespace This bug check code is used if there is no _HID or _ADR present.

from ⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error
#624 infuscomus ⇗ @diderius6

yes, I tried the modified version first, I have not tried unmodified yet

ULONG name - from BSOD 0x4449555f DIU_ - or _UID - There are several of those in DSDT so i am not sure which one?

edit:
regarding vista 32 bit - have you tried using "load driver" and loading ASMedia 106x driver during install?
#625 diderius6 ⇗ @infuscomus

Yes, but the problem is, that Vista does not recognice any USB on the Asrock board.
Now I have a really funny situation:
On the XP friendly AM3+ is the Asm106x driver loaded under Vista 32 bit
and you can boot from.
But on the Asrock board, this driver is not loaded from the same Vista 32 bit.
This is crazy, there seems no ahci driver to be on the market,
which run under Vista 32 bit on the Asrock B350 board
Dietmar
#626 infuscomus ⇗ @diderius6

I think vista generic msahci.sys driver conforms to AHCI 1.0 specification - the new boards are AHCI 1.3 specification
^ I may be wrong about this

try integrating the ASMedia USB/AHCI drivers into boot.wim and install.wim images

⇗ https://community.spiceworks.com/how_to/...-a-usb-3-0-port
#627 diderius6 ⇗ @infuscomus
I make a try to install Vista 5048
direct from working XP on the Asrock board.
It starts installing, but on reboot it tolds

Blinitializelibrary failed 0xc0000017

This is the same message, that all Vista 32 bit versions tell me now when I direct install via DVD.
And before the same error message was told by Win7 32 bit, now not, I installed Win7 32 bit on the Asrock B350 Ryzen board.
No BSOD because of Acpi with Vista 5048.
I think this message means "unknown hardware"
but I am not sure
Dietmar

PS: All other, later Vista 32 bit told me during install from running XP: Compi not Acpi compliant.
#628 infuscomus ⇗ @diderius6

To make things easier I recommend you setup AIO multiboot on a USB stick so you can start swapping ACPI tables using grub2 - easier than BIOS flash

⇗ https://www.aioboot.com/en/download/
#629 diderius6 ⇗ @infuscomus

I see this and it is nice work!
But before cure you need diagnosis:)).

I read about the  0xc0000017 error,
that Windows wrote: Not enough memory for ramdisk.

So, all those errors seems to happen,
because every version of Windows does not know
how to manage the Bios information from the Asrock B350 board. Yesterday I got via Debugversion of XP
a lot of times the message, that the values, that hal.dll gives to OS, are impossible. XP enables because of this PIC mode.
When I see this, I looks like a miracle, that XP can run on this hardware
anyway
Dietmar

"BlInitializeLibrary failed XXX" error when you install or start an operating system on a 64-bit UEFI-based computer
Applies to: Windows 10, version 1809Windows Server 2019, all versionsWindows Server version 1709 and newer
Symptoms
When you try to install or start an operating system on a 64-bit UEFI-based computer, the system does not start, and you receive the following error message:

BlInitializeLibrary failed XXX

Note The error code could also be "0xc000009a" or "0xc0000001."
Cause

This problem occurs because the boot firmware on the computer generates lots of memory fragmentation.
Note Not all "BlInitializeLibrary failed XXX" errors are caused by this issue.


Workaround

We recommend that you do not let boot firmware create large amounts of fragmentation. Large memory fragmentation degrades the overall startup performance and causes problems.
More information

At the pre-boot stage, Windows Boot Manager sets the maximum number of global memory descriptor for a 64-bit UEFI system at 512. If the boot firmware creates a large amount of memory fragmentation, the memory descriptor count may exceed the set limit. This causes the "BlInitializeLibrary failed XXX" error.
Note This design applies only to the current operating system releases, including Windows 10, Windows Server 2016, and Windows Server 2012 R2. We do not guarantee that this design will apply to future versions.
#630 infuscomus ⇗ @diderius6

what is the equivalent function of BlInitializeLibrary for XP?

Do we need to patch ntldr (osloader.exe) to allow for more global memory descriptors?

to get osloader.exe - open ntldr in hex editor and look for MZ header and delete everything before it

 

Page 43

#631 diderius6 ⇗ @infuscomus

First I saw this BlInitializeLibrary on Win7 32 bit,
when I try to do a new install on the Asrock B350 board.
When I use a ready Win7 32 bit installation from another
compi, this does not happen. So it depends on, how
the Bios speaks to OS during installation. Using installation from other Bios
does not show this problem
Dietmar

PS: After changing the DSDT table to pur 32 bit and go to Bios 3.30 with APIC mode,
Win7 32 bit does not show this error any more during fresh install on the Asrock B350 board.
It has nothing to do with Acpi. Only, how Bios told OS, where which free memory for a device
has to be. XP goes out of this crazy situation using PIC mode with only 16 IRQs, nearly hard wired.
#632 diderius6 The error (not BSOD) Blinitializelibrary failed 0xc0000017
happens very early in bootprocess, about in 1. second when bootlader loads
Dietmar
#633 infuscomus ⇗ @diderius6

Blinitializelibrary failed - for Windows 7 or XP?

edit:
I found source code for win2k osloader -

in it i find

//   
// memory descriptor array size   
//   
#define MAX_DESCRIPTORS                                 60
#634 Mov AX, 0xDEAD
Zitat
Acpi tables "in-ram patcher" at boot time like Chameleon/Clover, solved


litle update to ¶ Windows XP SP3 32bit and modern PC parts (12)

#635 infuscomus ⇗ @Mov AX, 0xDEAD

I have run into a different error after loading an earlier DSDT table for AB350 Gaming K4 using grub2

.......... 0xA5 (0x02, X ,Y ,Z) conflict with E820 Memory list, solved (custom acpi.sys)

Can I please try your custom acpi.sys to see if it works?
#636 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #635

.......... 0xA5 (0x02, X ,Y ,Z) conflict with E820 Memory list, solved (custom acpi.sys)
Can I please try your custom acpi.sys to see if it works?

e820 fix: ¶ Windows XP SP3 32bit and modern PC parts (16)
#637 infuscomus whoops! - parameter 3 is 0x1 - so error actually is - ACPI cannot convert the BIOS' resource list into the proper format. This probably represents an error in the BIOS' list encoding procedure.



⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error
#638 infuscomus OK,

made some changes to DSDT table

now I think I have E820 error



⇗ @Mov AX, 0xDEAD ⇗ @diderius6
I looked for the hex values you referenced earlier to fix E820 but could not find exact hex value in either XP SP3, server 2003 or vista 5048 acpi.sys
#639 diderius6 I make a try with Vista 5048 on the XP friendly Am3+ board.
Again I get there this message Blinitializelibrary failed 0xc0000017.
So, it seems to be a problem for the bootloader
and not only in this Vista Version
Dietmar
#640 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #638

I looked for the hex values you referenced earlier to fix E820 but could not find exact hex value in either XP SP3, server 2003 or vista 5048 acpi.sys

check acpi.sys win xp sp3, size=187,776, ver 5.1.2600.5512 (xpsp.080413-2111)
#641 infuscomus ⇗ @Mov AX, 0xDEAD
Thanks,

is this function the same in server 2003 and vista 5048 acpi.sys?
#642 infuscomus ⇗ @diderius6

can you hex edit these XP boot loader files to sets the maximum number of global memory descriptors to 512?



infuscomus has attached files to this post
#643 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #642

can you hex edit these XP boot loader files to sets the maximum number of global memory descriptors to 512?

xp doesnt work with uefi(except winxp64+bootmgr), no mem descriptors, only short e820 list of mem regions.
only in case of very large e820 list, xp has problem
#644 infuscomus ⇗ @Mov AX, 0xDEAD

looking at win2k ntldr source code it uses memory descriptors
#645 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #644
@Mov AX, 0xDEAD
looking at win2k ntldr source code it uses memory descriptors

yes, uses, but only few, e820 is really short list, no need much descriptors to fit all regions

 

Page 44

#646 infuscomus ⇗ @Mov AX, 0xDEAD ⇗ @diderius6

So I bypassed E820 BSOD error with hex edit to acpi.sys - damn! 7E BSOD
#647 diderius6 ⇗ @infuscomus

Yes, this is the same, that happens to me. This is best until now, what you can reach for Acpi on the Asrock board.
Until now, it is absolut unclear, why this BSOD 7E happens, means Acpi.sys writes or looks in forbidden memory..
I also cant install a full XP SP3 debug version on the XP friendly AM3+ board.
Today I make a new try: I change the ram on the Asrock B350 board against 2*2Gbyte DDR4 ram.
Then I make a brandnew install of normal XP SP3 on the AM3+ board,
no extra drivers, only the Asm106x for harddsik.
This full Acpi XP I copie then to the Asrock board. There I change hal.dll, acpi.sys, ntoskrnl.exe against them from
the XP SP3 debug version and set up a windbg session
Dietmar
#648 diderius6 Diagnostic is on its way:)).. I put on normal XP SP3 change acpi.sys, halmacpi.dll, ntkrnlmp.exe to the XP SP3 DEBUG version and run windbg


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 (Thu Jun 6 19:27:18.937 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Thu Jun 6 19:27:21.718 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80A02000->80D8DFFF
Thu Jun 6 19:27:21.718 2019 (UTC + 2:00):
Thu Jun 6 19:27:21.734 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
Thu Jun 6 19:27:28.640 2019 (UTC + 2:00):
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

Thu Jun 6 19:27:28.640 2019 (UTC + 2:00):
Thu Jun 6 19:27:28.671 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

Thu Jun 6 19:27:28.671 2019 (UTC + 2:00):
Thu Jun 6 19:27:56.671 2019 (UTC + 2:00):
*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

Thu Jun 6 19:27:56.671 2019 (UTC + 2:00):
Thu Jun 6 19:27:56.703 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

Thu Jun 6 19:27:56.703 2019 (UTC + 2:00):
Thu Jun 6 19:28:08.343 2019 (UTC + 2:00): PS: Unhandled Kernel Mode Exception Pointers = 0xF789D9D4
Thu Jun 6 19:28:08.343 2019 (UTC + 2:00):
Thu Jun 6 19:28:08.359 2019 (UTC + 2:00): Code c0000005 Addr F7578561 Info0 00000000 Info1 00000010 Info2 00000010 Info3 00000000
Thu Jun 6 19:28:08.359 2019 (UTC + 2:00):
Thu Jun 6 19:28:08.390 2019 (UTC + 2:00):
*** Fatal System Error: 0x0000007e
(0xC0000005,0xF7578561,0xF789DE88,0xF789DB84)

Thu Jun 6 19:28:08.421 2019 (UTC + 2:00): 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 (Thu Jun 6 19:28:08.609 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
............................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck 7E, {c0000005, f7578561, f789de88, f789db84}

*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+113 )

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

nt!RtlpBreakWithStatusInstruction:
80ab9138 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: f7578561, The address that the exception occurred at
Arg3: f789de88, Exception Record Address
Arg4: f789db84, Context Record Address

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

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

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:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710 call dword ptr [edi+10h]

EXCEPTION_RECORD: f789de88 -- (.exr 0xfffffffff789de88)
ExceptionAddress: f7578561 (ACPI!AcpiArbCrackPRT+0x00000113)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000010
Attempt to read from address 00000010

CONTEXT: f789db84 -- (.cxr 0xfffffffff789db84)
eax=f789e008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8acca710 edi=00000000
eip=f7578561 esp=f789df50 ebp=f789e0a0 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
ACPI!AcpiArbCrackPRT+0x113:
f7578561 ff5710 call dword ptr [edi+10h] ds:0023:00000010=????????
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: 00000000

EXCEPTION_PARAMETER2: 00000010

READ_ADDRESS: 00000010

FOLLOWUP_IP:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710 call dword ptr [edi+10h]

BUGCHECK_STR: 0x7E

DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE

LOCK_ADDRESS: 80af1640 -- (!locks 80af1640)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x80af1640
Thread Count : 1
Thread address: 0x8acc5020
Thread wait : 0xdd

LAST_CONTROL_TRANSFER: from 80a30d41 to 80ab9138

STACK_TEXT:
f789e0a0 f75b865b 8acca710 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0x113
f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
f789e158 f75b7375 f75ae2a0 e100d1e4 f75ae2a0 ACPI!ArbBootAllocation+0x17b
f789e16c f75c8d89 f75ae2a0 e100d1e4 e100d1e4 ACPI!AcpiArbBootAllocation+0x4b
f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
f789e208 80b5e80b 00000004 e1552b68 e15261e8 nt!IopAllocateBootResourcesInternal+0xc5
f789e228 80d24c8b 00000004 8acca710 e15261e8 nt!IopAllocateBootResources+0x75
f789e24c 80b4753a 00000004 8acca710 e15261e8 nt!IopReportBootResources+0x65
f789e27c 80b4db93 8ac5fd48 80000248 00000001 nt!PiQueryAndAllocateBootResources+0x150
f789e36c 80b4e26d 8ac5fd48 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
f789e5c4 80a2cfb6 8ac8ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
f789e608 80a2d2c1 00000000 00000000 8007b060 nt!PipDeviceActionWorker+0xc4
f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
f789e830 80d1d940 80085000 00000000 8acc5020 nt!IoInitSystem+0x82d
f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: ACPI!AcpiArbCrackPRT+113

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 4802b4e5

STACK_COMMAND: .cxr 0xfffffffff789db84 ; kb

FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113

BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113

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

0: kd> lm
start end module name
80100000 80127780 HAL1 (deferred)
80a02000 80d8e000 nt (pdb symbols) c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
f740c000 f742bb00 fltMgr (deferred)
f742c000 f7441000 nvme (deferred)
f7441000 f7458880 SCSIPORT (deferred)
f7459000 f7470900 atapi (deferred)
f7471000 f7496a00 dmio (deferred)
f7497000 f74b5d80 ftdisk (deferred)
f7556000 f7566a80 pci (deferred)
f7567000 f75d5480 ACPI (pdb symbols) c:\symbols\acpi.pdb\F3A2E52867724F8EAB957EA99ABA93031\acpi.pdb
f75f7000 f7600300 isapnp (deferred)
f7607000 f7611580 MountMgr (deferred)
f7617000 f7624200 VolSnap (deferred)
f7627000 f7637000 asahci32 (deferred)
f7637000 f763fe00 disk (deferred)
f7647000 f7653180 CLASSPNP (deferred)
f7707000 f770d180 PCIIDEX (deferred)
f770f000 f7713d00 PartMgr (deferred)
f782e000 f7844880 KSecDD (deferred)
f7845000 f7856f00 sr (deferred)
f7857000 f7897000 storport (deferred)
f7897000 f789a000 BOOTVID (deferred)
f795a000 f7986980 NDIS (deferred)
f7987000 f7988b80 kdcom (deferred)
f7989000 f798a100 WMILIB (deferred)
f798b000 f798c700 dmload (deferred)
f7a35000 f7a4eb80 Mup (deferred)
f7a4f000 f7a4fd00 pciide (deferred)
f7b52000 f7bde600 Ntfs (deferred)
0: kd> !devnode 0 1
Dumping IopRootDeviceNode (= 0x8ac8ecc8)
DevNode 0x8ac8ecc8 for PDO 0x8ac8ee10
InstancePath is "HTREE\ROOT\0"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8e8b8 for PDO 0x8ac8ea18
InstancePath is "Root\ACPI_HAL\0000"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace2358 for PDO 0x8ace3830
InstancePath is "ACPI_HAL\PNP0C08\0"
ServiceName is "ACPI"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac37b08 for PDO 0x8acd2248
InstancePath is "ACPI\PNP0A08\0"
ServiceName is "pci"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac37630 for PDO 0x8ace8760
InstancePath is "ACPI\PNP0C0C\aa"
State = DeviceNodeDriversAdded (0x303)
Previous State = DeviceNodeInitialized (0x302)
DevNode 0x8ac37500 for PDO 0x8acc99a8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accacf8 for PDO 0x8ac364e8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accabc8 for PDO 0x8acd15c8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8acea310 for PDO 0x8acd0630
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8acea1e0 for PDO 0x8acd61b0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac88008 for PDO 0x8acd3248
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac881c8 for PDO 0x8ac36cd0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf450 for PDO 0x8acca190
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf320 for PDO 0x8accf6a0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf1f0 for PDO 0x8acd2f18
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf0c0 for PDO 0x8ac601d8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4e430 for PDO 0x8acd1ba8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4e300 for PDO 0x8ace11d0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4e1d0 for PDO 0x8ace10b0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4e0a0 for PDO 0x8ace2200
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fe78 for PDO 0x8ace20e0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fd48 for PDO 0x8acca710
InstancePath is "ACPI\AMDI0030\0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fc18 for PDO 0x8acca5f0
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8ac5fae8 for PDO 0x8acc9460
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8acd0008 for PDO 0x8acc9340
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8acd0468 for PDO 0x8acc9f18
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8acd0338 for PDO 0x8acc9df8
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8acd0208 for PDO 0x8ac37c68
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8ace7db0 for PDO 0x8ace7f10
InstancePath is "Root\dmio\0000"
ServiceName is "dmio"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace7b58 for PDO 0x8ace7cb8
InstancePath is "Root\ftdisk\0000"
ServiceName is "ftdisk"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace7900 for PDO 0x8ace7a60
InstancePath is "Root\LEGACY_ACPI\0000"
ServiceName is "ACPI"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStarted (0x308)
Problem = CM_PROB_DEVICE_NOT_THERE
DevNode 0x8ace76a8 for PDO 0x8ace7808
InstancePath is "Root\LEGACY_AFD\0000"
ServiceName is "AFD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace7418 for PDO 0x8ace7578
InstancePath is "Root\LEGACY_AMPA\0000"
ServiceName is "ampa"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace71c0 for PDO 0x8ace7320
InstancePath is "Root\LEGACY_ATAPI\0000"
ServiceName is "atapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ded8 for PDO 0x8ac8d038
InstancePath is "Root\LEGACY_BEEP\0000"
ServiceName is "Beep"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8dc38 for PDO 0x8ac8dd98
InstancePath is "Root\LEGACY_DMBOOT\0000"
ServiceName is "dmboot"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d9e0 for PDO 0x8ac8db40
InstancePath is "Root\LEGACY_DMLOAD\0000"
ServiceName is "dmload"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d788 for PDO 0x8ac8d8e8
InstancePath is "Root\LEGACY_FIPS\0000"
ServiceName is "Fips"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d4e0 for PDO 0x8ac8d640
InstancePath is "Root\LEGACY_GPC\0000"
ServiceName is "Gpc"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d288 for PDO 0x8ac8d3e8
InstancePath is "Root\LEGACY_HTTP\0000"
ServiceName is "HTTP"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6008 for PDO 0x8ac8d190
InstancePath is "Root\LEGACY_IPNAT\0000"
ServiceName is "IpNat"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6db0 for PDO 0x8ace6f10
InstancePath is "Root\LEGACY_IPSEC\0000"
ServiceName is "IPSec"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6b58 for PDO 0x8ace6cb8
InstancePath is "Root\LEGACY_KSECDD\0000"
ServiceName is "ksecdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6900 for PDO 0x8ace6a60
InstancePath is "Root\LEGACY_MNMDD\0000"
ServiceName is "mnmdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace66a8 for PDO 0x8ace6808
InstancePath is "Root\LEGACY_MOUNTMGR\0000"
ServiceName is "mountmgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6450 for PDO 0x8ace65b0
InstancePath is "Root\LEGACY_NDIS\0000"
ServiceName is "NDIS"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace61f8 for PDO 0x8ace6358
InstancePath is "Root\LEGACY_NDISTAPI\0000"
ServiceName is "NdisTapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ced8 for PDO 0x8ac8c038
InstancePath is "Root\LEGACY_NDISUIO\0000"
ServiceName is "Ndisuio"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8cc80 for PDO 0x8ac8cde0
InstancePath is "Root\LEGACY_NDPROXY\0000"
ServiceName is "NDProxy"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ca28 for PDO 0x8ac8cb88
InstancePath is "Root\LEGACY_NETBT\0000"
ServiceName is "NetBT"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c7d0 for PDO 0x8ac8c930
InstancePath is "Root\LEGACY_NULL\0000"
ServiceName is "Null"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c578 for PDO 0x8ac8c6d8
InstancePath is "Root\LEGACY_NVME\0000"
ServiceName is "nvme"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c320 for PDO 0x8ac8c480
InstancePath is "Root\LEGACY_PARTMGR\0000"
ServiceName is "PartMgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5008 for PDO 0x8ac8c228
InstancePath is "Root\LEGACY_PARVDM\0000"
ServiceName is "ParVdm"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5db0 for PDO 0x8ace5f10
InstancePath is "Root\LEGACY_PCIIDE\0000"
ServiceName is "PCIIde"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5b58 for PDO 0x8ace5cb8
InstancePath is "Root\LEGACY_RASACD\0000"
ServiceName is "RasAcd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5900 for PDO 0x8ace5a60
InstancePath is "Root\LEGACY_RDPCDD\0000"
ServiceName is "RDPCDD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace56a8 for PDO 0x8ace5808
InstancePath is "Root\LEGACY_TCPIP\0000"
ServiceName is "Tcpip"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5450 for PDO 0x8ace55b0
InstancePath is "Root\LEGACY_VGASAVE\0000"
ServiceName is "VgaSave"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace51f8 for PDO 0x8ace5358
InstancePath is "Root\LEGACY_VOLSNAP\0000"
ServiceName is "VolSnap"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8bed8 for PDO 0x8ac8b038
InstancePath is "Root\LEGACY_WANARP\0000"
ServiceName is "Wanarp"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8bc80 for PDO 0x8ac8bde0
InstancePath is "Root\MEDIA\MS_MMACM"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8ba28 for PDO 0x8ac8bb88
InstancePath is "Root\MEDIA\MS_MMDRV"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b7d0 for PDO 0x8ac8b930
InstancePath is "Root\MEDIA\MS_MMMCI"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b578 for PDO 0x8ac8b6d8
InstancePath is "Root\MEDIA\MS_MMVCD"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b320 for PDO 0x8ac8b480
InstancePath is "Root\MEDIA\MS_MMVID"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4008 for PDO 0x8ac8b228
InstancePath is "Root\MS_L2TPMINIPORT\0000"
ServiceName is "Rasl2tp"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4db0 for PDO 0x8ace4f10
InstancePath is "Root\MS_NDISWANIP\0000"
ServiceName is "NdisWan"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4b58 for PDO 0x8ace4cb8
InstancePath is "Root\MS_PPPOEMINIPORT\0000"
ServiceName is "RasPppoe"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4900 for PDO 0x8ace4a60
InstancePath is "Root\MS_PPTPMINIPORT\0000"
ServiceName is "PptpMiniport"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace46a8 for PDO 0x8ace4808
InstancePath is "Root\MS_PSCHEDMP\0000"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4450 for PDO 0x8ace45b0
InstancePath is "Root\MS_PSCHEDMP\0001"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace41f8 for PDO 0x8ace4358
InstancePath is "Root\MS_PSCHEDMP\0002"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8aed8 for PDO 0x8ac8a038
InstancePath is "Root\MS_PTIMINIPORT\0000"
ServiceName is "Raspti"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8ac80 for PDO 0x8ac8ade0
InstancePath is "Root\PCI_HAL\0000"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8aa28 for PDO 0x8ac8ab88
InstancePath is "Root\RDPDR\0000"
ServiceName is "rdpdr"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a7d0 for PDO 0x8ac8a930
InstancePath is "Root\RDP_KBD\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a578 for PDO 0x8ac8a6d8
InstancePath is "Root\RDP_MOU\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a320 for PDO 0x8ac8a480
InstancePath is "Root\SYSTEM\0000"
ServiceName is "swenum"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace3008 for PDO 0x8ac8a228
InstancePath is "Root\SYSTEM\0001"
ServiceName is "update"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace3db0 for PDO 0x8ace3f10
InstancePath is "Root\SYSTEM\0002"
ServiceName is "mssmbios"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
0: kd> !pcitree
PciFdoExtensionListHead forward pointer is NULL, list is empty
0: kd> pci
^ pass count must be preceeded by whitespace error in 'pci'
0: kd> !pci
PCI Segment 0 Bus 0
00:0 1022:1450.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge SubID:1849:1450
00:2 1022:1451.00 Cmd[0004:..b...] Sts[0010:c....] AMD Class:8:6:0 SubID:1022:1451
01:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
01:3 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x3-0xa
02:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:1 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0xb-0xb
04:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x11-0x11
08:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
08:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x12-0x12
14:0 1022:790b.59 Cmd[0403:im....] Sts[0220:.6...] AMD SMBus Controller SubID:1849:ffff
14:3 1022:790e.51 Cmd[000f:imb...] Sts[0220:.6...] AMD ISA Bridge SubID:1849:ffff
18:0 1022:1460.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:1 1022:1461.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:2 1022:1462.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:3 1022:1463.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:4 1022:1464.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:5 1022:1465.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:6 1022:1466.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:7 1022:1467.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
0: kd> acpi
*** ERROR: Module load completed but symbols could not be loaded for nvme.sys
*** ERROR: Module load completed but symbols could not be loaded for ftdisk.sys
*** ERROR: Module load completed but symbols could not be loaded for asahci32.sys
*** ERROR: Symbol file could not be found. Defaulted to export symbols for BOOTVID.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for kdcom.dll -
*** ERROR: Symbol file could not be found. Defaulted to export symbols for WMILIB.SYS -
*** ERROR: Module load completed but symbols could not be loaded for dmload.sys
*** ERROR: Module load completed but symbols could not be loaded for pciide.sys
Couldn't resolve error at 'cpi'
0: kd> !acpi
No export acpi found

#649 diderius6 May be the device HPET has to be deleted in DSDT:

    Device (HPET)
{
Name (_HID, EisaId ("PNP0103") /* HPET System Timer */) // _HID: Hardware ID
Name (CRS, ResourceTemplate ()
{
Memory32Fixed (ReadOnly,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y29)
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
})
Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((HPEN == One))
{
If ((OSVR >= 0x0C))
{
Return (0x0F)
}

HPEN = Zero
Return (One)
}

Return (One)
}

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
CreateDWordField (CRS, \HPET._Y29._BAS, HPTX) // _BAS: Base Address
CreateDWordField (CRS, \HPET._Y29._LEN, HPTY) // _LEN: Length
HPTX = HPTB /* \HPTB */
HPTY = HPTL /* \HPTL */
Return (CRS) /* \HPET.CRS_ */
}
}


Dietmar
#650 Mov AX, 0xDEAD
Zitat
edi=00000000
call dword ptr [edi+10h]


clasic nullpointer

#651 diderius6 ⇗ @Mov AX, 0xDEAD
Yes, I see this.
Question is, if there is no pointer at all for the IRQ devices build by ACPI on the Asrock B350 board,
or if the edi is just not loaded with it
Dietmar
#652 Mov AX, 0xDEAD edi must point to some struct with list of proc (like methods in c++)
wrong was before this call

*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518
#653 diderius6 But what can be done, to solve this?
Dietmar
#654 diderius6 Now, all 16 cores are identified via windbg and the first message is gone

*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512


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

Opened \\.\com1
Waiting to reconnect...
Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i
PS: Unhandled Kernel Mode Exception Pointers = 0xF789D9D4
Code c0000005 Addr F7578561 Info0 00000000 Info1 00000010 Info2 00000010 Info3 00000000

*** Fatal System Error: 0x0000007e
(0xC0000005,0xF7578561,0xF789DE88,0xF789DB84)

Connected to Windows XP 2600 x86 compatible target at (Thu Jun 6 21:58:23.375 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
Debug session time: Thu Jun 6 21:41:40.937 2019 (UTC + 2:00)
System Uptime: 0 days 0:00:03.562
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Thu Jun 6 21:58:25.109 2019 (UTC + 2:00): 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 (Thu Jun 6 21:58:25.187 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
............................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck 7E, {c0000005, f7578561, f789de88, f789db84}

*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+113 )

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

nt!RtlpBreakWithStatusInstruction:
80ab9138 cc int 3
0: kd> !pcitree
PciFdoExtensionListHead forward pointer is NULL, list is empty
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: f7578561, The address that the exception occurred at
Arg3: f789de88, Exception Record Address
Arg4: f789db84, Context Record Address

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

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

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:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710 call dword ptr [edi+10h]

EXCEPTION_RECORD: f789de88 -- (.exr 0xfffffffff789de88)
ExceptionAddress: f7578561 (ACPI!AcpiArbCrackPRT+0x00000113)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 00000000
Parameter[1]: 00000010
Attempt to read from address 00000010

CONTEXT: f789db84 -- (.cxr 0xfffffffff789db84)
eax=f789e008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8accab78 edi=00000000
eip=f7578561 esp=f789df50 ebp=f789e0a0 iopl=0 nv up ei ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010286
ACPI!AcpiArbCrackPRT+0x113:
f7578561 ff5710 call dword ptr [edi+10h] ds:0023:00000010=????????
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: 00000000

EXCEPTION_PARAMETER2: 00000010

READ_ADDRESS: 00000010

FOLLOWUP_IP:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710 call dword ptr [edi+10h]

BUGCHECK_STR: 0x7E

DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE

LOCK_ADDRESS: 80af1640 -- (!locks 80af1640)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x80af1640
Thread Count : 1
Thread address: 0x8acc5020
Thread wait : 0xe4

LAST_CONTROL_TRANSFER: from 80a30d41 to 80ab9138

STACK_TEXT:
f789e0a0 f75b865b 8accab78 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0x113
f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
f789e158 f75b7375 f75ae2a0 e15334c4 f75ae2a0 ACPI!ArbBootAllocation+0x17b
f789e16c f75c8d89 f75ae2a0 e15334c4 e15334c4 ACPI!AcpiArbBootAllocation+0x4b
f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
f789e208 80b5e80b 00000004 e156b878 e1541578 nt!IopAllocateBootResourcesInternal+0xc5
f789e228 80d24c8b 00000004 8accab78 e1541578 nt!IopAllocateBootResources+0x75
f789e24c 80b4753a 00000004 8accab78 e1541578 nt!IopReportBootResources+0x65
f789e27c 80b4db93 8ac8e6c0 80000234 00000001 nt!PiQueryAndAllocateBootResources+0x150
f789e36c 80b4e26d 8ac8e6c0 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
f789e5c4 80a2cfb6 8ac8ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
f789e608 80a2d2c1 00000000 00000000 8007b060 nt!PipDeviceActionWorker+0xc4
f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
f789e830 80d1d940 80085000 00000000 8acc5020 nt!IoInitSystem+0x82d
f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


SYMBOL_STACK_INDEX: 0

SYMBOL_NAME: ACPI!AcpiArbCrackPRT+113

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 4802b4e5

STACK_COMMAND: .cxr 0xfffffffff789db84 ; kb

FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113

BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113

Followup: MachineOwner
---------
  
#655 diderius6 I delete the Hpet device in DSDT,
flash Bios new,
but same BSOD 0x7E 0xc0000005
as before
Dietmar
#656 infuscomus ⇗ @diderius6

testing with grub2, i notice that if i use

acpi --no-ebda

I always get 7E BSOD

from grub2 documentation:
Normally, this command will replace the Root System Description Pointer (RSDP) in the Extended BIOS Data Area to point to the new tables. If the --no-ebda option is used, the new tables will be known only to GRUB, but may be used by GRUBs EFI emulation.

if I use command without --no-ebda

acpi /facp.dat /dsdt.dat

I get A5 BSOD

A5 0x02 or 0x0D

so maybe for 7E BSOD there is an error in Extended BIOS Data Area?
#657 diderius6 ⇗ @infuscomus

I think, it is a problem with all the timers for XP.

I read, that in Qemu they have the same BSOD with the Hpet timer.
⇗ https://patchwork.ozlabs.org/patch/312207/

And even more, in win7 is a conflict between the other both timers, using Irq 0 and Irq 8.

When I look at my XP without Acpi on the Asrock B350 board,
no timer at all(!) can be seen in the device list. The Irq 0 and Irq 8 are not used there.
So, may be the other both timers have to be deleted in DSDT also.
Until now, I have no other idea, why acpi not works
Dietmar
#658 infuscomus ⇗ @diderius6

are you able to get the same BSODs I get using grub2?
#659 diderius6 ⇗ @infuscomus
yes, my modded Bios for the Asrock fatal1ty ab350 gaming k4
is so good now, that I can use the normal acpi.sys from XP SP3.
I am quite sure, that the BSOD 0x7E 0xc0000005 comes from the Hpet clock.
Now I am on the way for next try.
In FACP, the bit for the Hpet timer is enabled.
This I try to set back to zero.
From my experiance from intel boards,
there are Bios with hard wired Hpet clocks.
But even in this case, because XP reads registry and not Bios for Acpi,
it is possible to fake the FACP table there
Dietmar

EDIT: Until now, in FACP there are the Hexvalues A5 85 03 00.
They need to be changed to A5 05 03 00.

EDIT2: I succeed to set the USE_PLATFORM_CLOCK 0 - OSPM may use HPET, ACPI PM Timer or internal Timer
and flash this Bios. This I test with RW-everything. But after this crazy hack still the BSOD 0x7E 0xc0000005.
#660 diderius6 All devices are set to Irq 0,
pcitree is empty. The pointer for Irqs is empty.


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 (Fri Jun 7 16:47:38.703 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Fri Jun 7 16:47:41.437 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80A02000->80D8DFFF
Fri Jun 7 16:47:41.437 2019 (UTC + 2:00):
Fri Jun 7 16:47:41.453 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
Fri Jun 7 16:47:48.312 2019 (UTC + 2:00):
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

Fri Jun 7 16:47:48.312 2019 (UTC + 2:00):
Fri Jun 7 16:47:48.328 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

Fri Jun 7 16:47:48.328 2019 (UTC + 2:00):
Fri Jun 7 16:48:14.250 2019 (UTC + 2:00):
*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

Fri Jun 7 16:48:14.250 2019 (UTC + 2:00):
Fri Jun 7 16:48:14.281 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

Fri Jun 7 16:48:14.281 2019 (UTC + 2:00):
Fri Jun 7 16:48:28.921 2019 (UTC + 2:00):
*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1333

Fri Jun 7 16:48:28.921 2019 (UTC + 2:00):
Fri Jun 7 16:48:28.937 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

Fri Jun 7 16:49:25.921 2019 (UTC + 2:00): Break instruction exception - code 80000003 (first chance)
*******************************************************************************
* *
* You are seeing this message because you pressed either *
* CTRL+C (if you run kd.exe) or, *
* CTRL+BREAK (if you run WinDBG), *
* on your debugger machine's keyboard. *
* *
* THIS IS NOT A BUG OR A SYSTEM CRASH *
* *
* If you did not intend to break into the debugger, press the "g" key, then *
* press the "Enter" key now. This message might immediately reappear. If it *
* does, press "g" and "Enter" again. *
* *
*******************************************************************************
nt!RtlpBreakWithStatusInstruction:
80ab9138 cc int 3
0: kd> lm
start end module name
80100000 80127780 HAL1 (deferred)
80a02000 80d8e000 nt (pdb symbols) c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
f740c000 f742bb00 fltMgr (deferred)
f742c000 f7441000 nvme (deferred)
f7441000 f7458880 SCSIPORT (deferred)
f7459000 f7470900 atapi (deferred)
f7471000 f7496a00 dmio (deferred)
f7497000 f74b5d80 ftdisk (deferred)
f7556000 f7566a80 pci (deferred)
f7567000 f75d5480 ACPI (deferred)
f75f7000 f7600300 isapnp (deferred)
f7607000 f7611580 MountMgr (deferred)
f7617000 f7624200 VolSnap (deferred)
f7627000 f7637000 asahci32 (deferred)
f7637000 f763fe00 disk (deferred)
f7647000 f7653180 CLASSPNP (deferred)
f7707000 f770d180 PCIIDEX (deferred)
f770f000 f7713d00 PartMgr (deferred)
f782e000 f7844880 KSecDD (deferred)
f7845000 f7856f00 sr (deferred)
f7857000 f7897000 storport (deferred)
f7897000 f789a000 BOOTVID (deferred)
f795a000 f7986980 NDIS (deferred)
f7987000 f7988b80 kdcom (deferred)
f7989000 f798a100 WMILIB (deferred)
f798b000 f798c700 dmload (deferred)
f7a35000 f7a4eb80 Mup (deferred)
f7a4f000 f7a4fd00 pciide (deferred)
f7b52000 f7bde600 Ntfs (deferred)
0: kd> !pcitree
PciFdoExtensionListHead forward pointer is NULL, list is empty
0: kd> pci
^ pass count must be preceeded by whitespace error in 'pci'
0: kd> !pci
PCI Segment 0 Bus 0
00:0 1022:1450.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge SubID:1849:1450
00:2 1022:1451.00 Cmd[0004:..b...] Sts[0010:c....] AMD Class:8:6:0 SubID:1022:1451
01:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
01:3 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x3-0xa
02:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:1 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0xb-0xb
04:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x11-0x11
08:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
08:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x12-0x12
14:0 1022:790b.59 Cmd[0403:im....] Sts[0220:.6...] AMD SMBus Controller SubID:1849:ffff
14:3 1022:790e.51 Cmd[000f:imb...] Sts[0220:.6...] AMD ISA Bridge SubID:1849:ffff
18:0 1022:1460.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:1 1022:1461.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:2 1022:1462.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:3 1022:1463.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:4 1022:1464.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:5 1022:1465.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:6 1022:1466.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:7 1022:1467.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
0: kd> !devnode 0 1
Dumping IopRootDeviceNode (= 0x8ac8ecc8)
DevNode 0x8ac8ecc8 for PDO 0x8ac8ee10
InstancePath is "HTREE\ROOT\0"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8e898 for PDO 0x8ac8e9f8
InstancePath is "Root\ACPI_HAL\0000"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace2358 for PDO 0x8ace3830
InstancePath is "ACPI_HAL\PNP0C08\0"
ServiceName is "ACPI"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac881c8 for PDO 0x8acc9b48
InstancePath is "ACPI\PNP0A08\0"
ServiceName is "pci"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac60d00 for PDO 0x8ace87b8
InstancePath is "ACPI\PNP0C0C\aa"
State = DeviceNodeDriversAdded (0x303)
Previous State = DeviceNodeInitialized (0x302)
DevNode 0x8ac60bd0 for PDO 0x8accf810
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac60aa0 for PDO 0x8acd31e8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4ecc0 for PDO 0x8acca190
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4eb90 for PDO 0x8ac760f8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4ea60 for PDO 0x8ac89130
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4e930 for PDO 0x8accfcc8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fea8 for PDO 0x8acc9620
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fd78 for PDO 0x8acd1c80
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fc48 for PDO 0x8ac39db0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac5fb18 for PDO 0x8ac391d8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4ae48 for PDO 0x8ac397d0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4ad18 for PDO 0x8ac396b0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4abe8 for PDO 0x8ac5f940
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4aab8 for PDO 0x8ac5f820
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8ac4a988 for PDO 0x8acd6038
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf008 for PDO 0x8acd61d0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf600 for PDO 0x8ace1038
InstancePath is "ACPI\AMDI0030\0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8accf4d0 for PDO 0x8ace11d0
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8accf3a0 for PDO 0x8ace2038
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8accf270 for PDO 0x8ace2200
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8accf140 for PDO 0x8ac88038
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8ace7db0 for PDO 0x8ace7f10
InstancePath is "Root\dmio\0000"
ServiceName is "dmio"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace7b58 for PDO 0x8ace7cb8
InstancePath is "Root\ftdisk\0000"
ServiceName is "ftdisk"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace7900 for PDO 0x8ace7a60
InstancePath is "Root\LEGACY_ACPI\0000"
ServiceName is "ACPI"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStarted (0x308)
Problem = CM_PROB_DEVICE_NOT_THERE
DevNode 0x8ace76a8 for PDO 0x8ace7808
InstancePath is "Root\LEGACY_AFD\0000"
ServiceName is "AFD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace7418 for PDO 0x8ace7578
InstancePath is "Root\LEGACY_AMPA\0000"
ServiceName is "ampa"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace71c0 for PDO 0x8ace7320
InstancePath is "Root\LEGACY_ATAPI\0000"
ServiceName is "atapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ded8 for PDO 0x8ac8d038
InstancePath is "Root\LEGACY_BEEP\0000"
ServiceName is "Beep"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8dc38 for PDO 0x8ac8dd98
InstancePath is "Root\LEGACY_DMBOOT\0000"
ServiceName is "dmboot"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d9e0 for PDO 0x8ac8db40
InstancePath is "Root\LEGACY_DMLOAD\0000"
ServiceName is "dmload"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d788 for PDO 0x8ac8d8e8
InstancePath is "Root\LEGACY_FIPS\0000"
ServiceName is "Fips"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d4e0 for PDO 0x8ac8d640
InstancePath is "Root\LEGACY_GPC\0000"
ServiceName is "Gpc"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8d288 for PDO 0x8ac8d3e8
InstancePath is "Root\LEGACY_HTTP\0000"
ServiceName is "HTTP"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6008 for PDO 0x8ac8d190
InstancePath is "Root\LEGACY_IPNAT\0000"
ServiceName is "IpNat"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6db0 for PDO 0x8ace6f10
InstancePath is "Root\LEGACY_IPSEC\0000"
ServiceName is "IPSec"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6b58 for PDO 0x8ace6cb8
InstancePath is "Root\LEGACY_KSECDD\0000"
ServiceName is "ksecdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6900 for PDO 0x8ace6a60
InstancePath is "Root\LEGACY_MNMDD\0000"
ServiceName is "mnmdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace66a8 for PDO 0x8ace6808
InstancePath is "Root\LEGACY_MOUNTMGR\0000"
ServiceName is "mountmgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace6450 for PDO 0x8ace65b0
InstancePath is "Root\LEGACY_NDIS\0000"
ServiceName is "NDIS"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace61f8 for PDO 0x8ace6358
InstancePath is "Root\LEGACY_NDISTAPI\0000"
ServiceName is "NdisTapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ced8 for PDO 0x8ac8c038
InstancePath is "Root\LEGACY_NDISUIO\0000"
ServiceName is "Ndisuio"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8cc80 for PDO 0x8ac8cde0
InstancePath is "Root\LEGACY_NDPROXY\0000"
ServiceName is "NDProxy"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8ca28 for PDO 0x8ac8cb88
InstancePath is "Root\LEGACY_NETBT\0000"
ServiceName is "NetBT"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c7d0 for PDO 0x8ac8c930
InstancePath is "Root\LEGACY_NULL\0000"
ServiceName is "Null"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c578 for PDO 0x8ac8c6d8
InstancePath is "Root\LEGACY_NVME\0000"
ServiceName is "nvme"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8c320 for PDO 0x8ac8c480
InstancePath is "Root\LEGACY_PARTMGR\0000"
ServiceName is "PartMgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5008 for PDO 0x8ac8c228
InstancePath is "Root\LEGACY_PARVDM\0000"
ServiceName is "ParVdm"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5db0 for PDO 0x8ace5f10
InstancePath is "Root\LEGACY_PCIIDE\0000"
ServiceName is "PCIIde"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5b58 for PDO 0x8ace5cb8
InstancePath is "Root\LEGACY_RASACD\0000"
ServiceName is "RasAcd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5900 for PDO 0x8ace5a60
InstancePath is "Root\LEGACY_RDPCDD\0000"
ServiceName is "RDPCDD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace56a8 for PDO 0x8ace5808
InstancePath is "Root\LEGACY_TCPIP\0000"
ServiceName is "Tcpip"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace5450 for PDO 0x8ace55b0
InstancePath is "Root\LEGACY_VGASAVE\0000"
ServiceName is "VgaSave"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ace51f8 for PDO 0x8ace5358
InstancePath is "Root\LEGACY_VOLSNAP\0000"
ServiceName is "VolSnap"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8bed8 for PDO 0x8ac8b038
InstancePath is "Root\LEGACY_WANARP\0000"
ServiceName is "Wanarp"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8ac8bc80 for PDO 0x8ac8bde0
InstancePath is "Root\MEDIA\MS_MMACM"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8ba28 for PDO 0x8ac8bb88
InstancePath is "Root\MEDIA\MS_MMDRV"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b7d0 for PDO 0x8ac8b930
InstancePath is "Root\MEDIA\MS_MMMCI"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b578 for PDO 0x8ac8b6d8
InstancePath is "Root\MEDIA\MS_MMVCD"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8b320 for PDO 0x8ac8b480
InstancePath is "Root\MEDIA\MS_MMVID"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4008 for PDO 0x8ac8b228
InstancePath is "Root\MS_L2TPMINIPORT\0000"
ServiceName is "Rasl2tp"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4db0 for PDO 0x8ace4f10
InstancePath is "Root\MS_NDISWANIP\0000"
ServiceName is "NdisWan"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4b58 for PDO 0x8ace4cb8
InstancePath is "Root\MS_PPPOEMINIPORT\0000"
ServiceName is "RasPppoe"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4900 for PDO 0x8ace4a60
InstancePath is "Root\MS_PPTPMINIPORT\0000"
ServiceName is "PptpMiniport"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace46a8 for PDO 0x8ace4808
InstancePath is "Root\MS_PSCHEDMP\0000"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace4450 for PDO 0x8ace45b0
InstancePath is "Root\MS_PSCHEDMP\0001"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace41f8 for PDO 0x8ace4358
InstancePath is "Root\MS_PSCHEDMP\0002"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8aed8 for PDO 0x8ac8a038
InstancePath is "Root\MS_PTIMINIPORT\0000"
ServiceName is "Raspti"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8ac80 for PDO 0x8ac8ade0
InstancePath is "Root\PCI_HAL\0000"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8aa28 for PDO 0x8ac8ab88
InstancePath is "Root\RDPDR\0000"
ServiceName is "rdpdr"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a7d0 for PDO 0x8ac8a930
InstancePath is "Root\RDP_KBD\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a578 for PDO 0x8ac8a6d8
InstancePath is "Root\RDP_MOU\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ac8a320 for PDO 0x8ac8a480
InstancePath is "Root\SYSTEM\0000"
ServiceName is "swenum"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace3008 for PDO 0x8ac8a228
InstancePath is "Root\SYSTEM\0001"
ServiceName is "update"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8ace3db0 for PDO 0x8ace3f10
InstancePath is "Root\SYSTEM\0002"
ServiceName is "mssmbios"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
0: kd> !amli ?

Help - ? [<Cmd>]
Clear Breakpoints - bc <bp list> | *
Disable Breakpoints - bd <bp list> | *
Enable Breakpoints - be <bp list> | *
List Breakpoints - bl
Set Breakpoints - bp <MethodName> | <CodeAddr> ...
Clear Event Log - cl
Request entering debugger- debugger
Dump Heap - dh [<Addr>]
Dump Event Log - dl
Dump Name Space Object - dns [[/s] [<NameStr> | <Addr>]]
Dump Data Object - do <Addr>
Dump Stack - ds [/v] [<Addr>]
Find NameSpace Object - find <NameSeg>
List All Contexts - lc
Display Nearest Method - ln [<MethodName> | <CodeAddr>]
Display Context Info. - r <Context>
Set Debugger Options - set [traceon | traceoff] [nesttraceon | nesttraceoff] [spewon | spewoff]
[lbrkon | lbrkoff] [errbrkon | errbrkoff] [verboseon | verboseoff]
[logon | logoff] [logmuton | logmutoff]
Unassemble AML code - u [<MethodName> | <CodeAddr>]

0: kd> !amli dl
0:00:03.437 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._UID
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._UID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.437 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.437 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.437 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.437 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.437 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.437 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._STA
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PCI0._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PWRB._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PWRB._UID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PWRB._UID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PWRB._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PWRB._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PWRB._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PWRB._UID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] SyncEvalObject IRQL= 0
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.453 [8acc5020] RestartContext Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.PWRB._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.453 [8acc5020] RunContext Context=8aaf3000
\_SB.PWRB._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.453 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._STA
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._UID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._UID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._UID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._UID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._STA
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._STA
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] SyncEvalObject IRQL= 0
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CRS
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._HID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._HID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] AsyncEvalObject IRQL= 0
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000

0:00:03.546 [8acc5020] RestartContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] InsertReadyQueue Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] EvaluateContext Context=8aaf3000
\_SB.GPIO._CID
QTh=0 QCt=0 QFg=00000000 pbOp=0

0:00:03.546 [8acc5020] RunContext Context=8aaf3000
\_SB.GPIO._CID
QTh=8acc5020 QCt=8aaf3000 QFg=00000000

0:00:03.546 [8acc5020] FinishedContext Context=8aaf3000 rc=0
QTh=0 QCt=0 QFg=00000000
  

 

Page 45

#661 infuscomus ⇗ @diderius6

grub2 method gets rid of 7E BSOD, but there are still A5 0x02 and 0x0D errors to fix
#662 diderius6 I found all this errors via Ida Pro in the Debug version of acpi.sys
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

They can be easy hacked, but what is the real underlying problem?
Is there a PciInterface in Bios or not?
In the Bios from the Asrock B350 board there is a switch "Hpet table".
It has no effekt for XP, if I enable or disable this.

I read, that the Hpet timer cant be disabled at all on the Ryzen boards
Dietmar
#663 infuscomus ⇗ @diderius6

I'm guessing that part of the problem is the Root System Description Pointer (RSDP) in the Extended BIOS Data Area
since replacing that when using grub2 makes the 7E BSOD go away
#664 diderius6 ⇗ @infuscomus

Here is my registry extract from all the Acpi tables from Win7 32 bit
from my Asrock fatal1ty ab350 gaming k4.
Under Win7 32 bit it works perfect
Dietmar

PS: I make a new try to install Vista 32 bit. Everything looks good, no comment about incompatible Acpi,
but at reboot after first install I get BSOD 0x7B.
It has nothing to do with the boot device. Vista 32 bit also dont like to run on the Asrock board (it has forced Acpi)
but Vista 64 bit works there.



diderius6 has attached files to this post
#665 infuscomus ⇗ @diderius6

So we need to figure out whatever windows 7 acpi.sys driver is doing to make it work?
#666 diderius6 I still find with RW-everything in the Hpet table this entry, even it is disabled in Bios:

Bit[15]=LegacyReplacement IRQ Routing Capable

With cpu-z (tools timers) I can see,
that in XP and Win7 the Hpet timer is empty. There are 3 clocks shown and work: ACPI, QPC, RTC (same in Win7 and XP).
So, may be really Hpet is the one and only reason for BSOD 0x7E 0xc0000005
Dietmar
#667 diderius6 ⇗ @infuscomus ⇗ @Mov AX, 0xDEAD

May be, you or Mov AX, 0xDEAD can load this Acpi tables, which I send to registry of this Asrock board B350
and this is all to make Acpi work in XP
Dietmar

PS: I think, Win7 has learned to survive with Hpet.
#668 infuscomus ⇗ @diderius6

so how do we properly disable HPET?
#669 diderius6 ⇗ @infuscomus

I dont know. The authors from qemu use the switch
-no-hpet

   Disable HPET support.

-acpitable [sig=str][,rev=n][,oem_id=str][,oem_table_id=str][,oem_rev=n] [,asl_compiler_id=str][,asl_compiler_rev=n][,data=file1[:file2]...]

   Add ACPI table with specified header fields and context from specified files. For file=, take whole ACPI table from the specified files, including all ACPI headers (possible overridden by other options). For data=, only data portion of the table is used, all header information is specified in the command line. If a SLIC table is supplied to QEMU, then the SLICs oem_id and oem_table_id fields will override the same in the RSDT and the FADT (a.k.a. FACP), in order to ensure the field matches required by the Microsoft SLIC spec and the ACPI spec.


Dietmar
#670 diderius6 Is it possible to install Qemu on Win7 32 bit
and install in this Qemu an Acpi XP SP3
Dietmar
#671 Mov AX, 0xDEAD
Zitat
Enable TCO Timer
(Enable/Disable TCO timer. When disabled, it disables PCH ACPI timer, and stops TCO timer)


this hidden bios option by default is disabled and break pm_timer, thanks to MB vendors :(

#672 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #668
so how do we properly disable HPET?

by default win doesnt use hpet, force disabling:
- remove hpet acpi table
- set status of device in dsdt to Zero, (method _sta)
#673 diderius6 ⇗ @Mov AX, 0xDEAD

How can single Acpi tables like hpet acpi table
been removed?
There is no *.raw entry for them in Bios, even not the table itself is listed there, I think needs an algorithmus to
build the pur table (also for example FACP)
Dietmar
#674 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #673

How can single Acpi tables like hpet acpi table
been removed?

rename header of table to HPEZ for example
but be ready to hang bios if it check for signature HPET
#675 infuscomus ⇗ @diderius6

I tested your DSDT export from windows 7 in XP - 7E BSOD

⇗ @Mov AX, 0xDEAD
Do you know to write ASL code? to at least make progress on solving A5 02 and 0D BSODs with grub2 method?

 

Page 46

#676 diderius6 ⇗ @infuscomus

I make next try:
With Uefi tool I found 6 places with ASCII HPET.
I will extract each of those 6 bodies, rename one by one there with Winhex HPET ->
HPEU HPEV HPEW HPEX HPEY HPEZ,
change body with Uefi tool
and flash whole Bios
Dietmar

⇗ https://ibb.co/vjmSYsc

EDIT: Funny, HPET table has now name HPEU in rw-everything,
but BSOD is still 0x7E 0xc0000005, grrr^^..
But the Hpet table is really killed. There stands now version 1 for the Hpeu table and
the possibility to change legacy Irqs is gone.
#677 diderius6 But still no timer is shown in device list of XP.
Irq 0 and Irq 8 are free.
And I see an UEFI table entry in rw-everything.
Has this been there before also(?)
Dietmar
#678 infuscomus ⇗ @diderius6

in rw-everything i see HPET table before

I empty HPET table and load empty with grub2 without DSDT - 7E BSOD

Because of results with grub2, I think the cause of 7E BSOD is in RSDP or EBDA area
#679 infuscomus ⇗ @Mov AX, 0xDEAD

are you any good at understanding ACPI code?
#680 diderius6 ⇗ @infuscomus
I also start to think, that the error is not in the DSDT table. But which table acpi.sys also reads???
This line from windbg
FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+113
means, that AcpiArbCrackPRT (I do not find any information about that pointer)
looks just at a wrong adress (10h reserved low memory, because edi is empty)
But at which adress this pointer has to look, the adress can be handcoded (edi+10h, change 10h against correct adress)
Dietmar
#681 infuscomus ⇗ @diderius6

can you find what the correct address is?
the address that windows 7 uses?
#682 diderius6 ⇗ @infuscomus
I just make a reread and I see,
that indeed only DSDT can make exact this crash:

"7. On QEMU, XP does indeed show the HPET alongside the TMR and RTC in
  its device tree, obviously without any IRQ resources under properties,
  since the only way it boots is if HPET._CRS doesn't include IRQNoFlags.

8. Windows 7, while it boots and runs fine when HPET._CRS contains
  IRQNoFlags, will show an unresolved IRQ conflict between the HPET and
  the RTC in the device tree. Commenting out IRQNoFlags from the RTC
  in QEMU does NOT solve that (still shows up as a conflict in the
  device tree).

9. I followed Igor's advice and ran a debug session, but unlike with
  ConcatenateResTemplate, XP didn't choke on AML byte code itself, but
  appears to die of a memory access violation:

    *** Fatal System Error: 0x0000007e (0x...)
    ...
    Probably caused by: ACPI.sys (ACPI!AcpiArbCrackPRT+113)

    80527bdc cc       int 3

  Poking around with various !amli debugger commands does not show
  anything AML-related as abnormal, so I think the problem is that
  either XP specifically expects the HPET._CRS buffer to be of a
  certain hardcoded size (which doesn't include any extra room for
  IRQNoFlags), or attempts to somehow process the values given via
  IRQNoFlags (0 and 8) in ways that cause it to then kill itself.

  Hard to tell without knowing more about XP internals (e.g., without
  XP kernel and/or acpi.sys source code).

At this point, conditionally inserting IRQNoFlags {0,8} only for OS X
sounds less of a hack and more like the right thing to do. I would be
comfortable using ConcatenateResTemplate since XP never gets a chance
to attempt to interpret that bytecode, which gets exercised only by
the _OSI("Darwin") branch. I tested this, and both XP and OSX seem
happy with it."

There is a problem with the timer. But when a single device (via DSDT) can make exact this crash,
may be another device, that XP not likes, can make this crash also.
So, my first idea after this is, to "delete via OSVR" in DSDT all devices with a given IRQNoFlags number
Dietmar
#683 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #682
Hard to tell without knowing more about XP internals (e.g., without
  XP kernel and/or acpi.sys source code).


There is the windows research kernel you can use on github
#684 diderius6 This would be a nice idea,
to set up a Qemu session,
give to Qemu the DSDT table from the Asrock fatal1ty ab350 gaming k4 board,
chose RYZEN processor
and install ACPI XP SP3.
Oh, so much hope, that the same BSOD 0x7E 0xc0000005 happens in Qemu,
than fun can start to find out which device in DSDT makes this BSDOD
Dietmar
#685 infuscomus ⇗ @diderius6

why QEMU over real hardware?
#686 diderius6 ⇗ @infuscomus
Because it is much easier with Qemu to change quick everything:)) and to see, that the error is NOT on your hardware.

Here comes my next try.
Please load the DSDT table for the Asrock B350 board
and see, if the BSOD 0x7E 0xc0000005 still happens.
I deleted everything about timer and Irqnoflags() with given numbers there.
May be, the APIC from the B350 chipset dies, when you give numbers for IRQ
Dietmar



diderius6 has attached files to this post
#687 infuscomus ⇗ @diderius6

I loaded you IRQnoflags DSDT into grub2 - BSOD A5 02



however, I get this same BSOD when loading unmodified smaller DSDT from BIOS 3.30 (in DsdtAsl)

with larger DSDT from BIOS 3.30 (in 7FD41B4B-42AE-47BA-BA77-87D3BD829E86)
I get BSOD A5 0D

#688 diderius6 ⇗ @infuscomus
Before you get with full DSDT and grub2 BSOD 0x7E 0xc0000005?
And now with my IRQnoflags DSDT into grub2 - BSOD A5 02
and you changed nothing other?
This would be a big step forward
Dietmar

EDIT: In this case my modified acpi.sys would solve this problem BSOD A5 02.
#689 infuscomus ⇗ @diderius6

with grub2 loading DSDT from BIOS 5.00 and 5.40 always 7E BSOD

I have not tried DSDT from BIOSs 4.30 to 4.90 or the Bridge BIOS 3.40

BIOS 3.30 is either A5 02 or A5 0D
#690 diderius6 ⇗ @infuscomus
I just flash this Bios with IRQnoflags DSDT to Asrock fatal1ty ab350 gaming k4 board,
same BSOD 0x7E 0xc0000005
as before
Dietmar

 

Page 47

#691 infuscomus ⇗ @diderius6

When you have the time, try AIO multiboot with grub2 method
#692 diderius6 ⇗ @infuscomus
The problem is, that I do not understand, what happens there.
With direct flash Bios to real hardware I understand чуть чуть :)).
Now all clocks and their Irqs are gone in Win7,
but cpu-z shows again all clocks working, only HPET not(!) listened.
Dietmar

EDIT: In XP SP3, also no clocks at all in device list, no IRQ 0 or 8 is used.
But the most crazy for me is, that the 3 timers, shown with cpu-z (tools timers)
shows them as working correct?!

ACPI               QPC               RTC
3.580 MHZ     1.193 MHZ       1.000KHZ

Dietmar

EDIT: This simple means, because DSDT table is not loaded for "Standard PC" that all the clocks
are elsewhere listed too.

EDIT2: XP (first, gold version) and XP SP1 show exact the same error: 0x7E 0xc0000005.
#693 infuscomus ⇗ @diderius6

can I try your modified acpi.sys for acpi A5 02 and 0D errors?
#694 diderius6 ⇗ @infuscomus

Here it is
Dietmar



diderius6 has attached files to this post
#695 infuscomus ⇗ @diderius6

Thanks,

unfortunately, no change - BSOD A5 02


Thanks anyway
#696 infuscomus ⇗ @diderius6 ⇗ @Mov AX, 0xDEAD

how do I interpret parameter2 to locate DSDT error? or am I going about it the wrong way?
#697 diderius6 ⇗ @infuscomus
I still think, the big problem is, that the Asrock B350 board
does not give a full APIC Irq list to XP. This may be an error in this chipset.
May be this is the real problem and not ACPI.

I just look, but a Qemu, special for Ryzen processors, is not out there until now.

With the wrong configured HPET timer (Irq 0 and Irq 8) you can get the same BSOD via windbg "acpi!acpiarbcrackprt+113"
as I have.
This means, that the DSDT table CAN be the reason.

Now I make a new try with deleted device "PIC" in DSDT (it gets Irq 2 there) and flash this Bios.
Not much hope, that this will change anything.
But not much devices are left in DSDT, which makes sense to be killed there.

After this, I do another way: I put the halapic.dll from Debug XP SP3 into XP and also ntkrnlmp.exe.
Then I look, what windbg tells EDIT: windbg tells nothing with halapic.dll, the BSOD happens so early (I think in halapic, just blinking cursor),
so that the debugger does not start
, brrr..
Dietmar
#698 infuscomus ⇗ @diderius6

I'm not sure, but this might help?

⇗ http://2012.zeronights.org/includes/docs/Oleksiuk.pdf

page 26
#699 diderius6 ⇗ @infuscomus
interesting:))

I have news: With deleted PIC device in DSDT,
XP does not want to start any longer in Acpi Multiprocessor mode, no(!) bluescreen, just reboot.
But as "Standard PC", everything works like before.
In my eyes this means: XP uses ALWAYS PIC mode
and this is forbidden for Acpi Multiprocessor
and because of this no valid pointer to PCI-Interface,
it just not exists
Dietmar

PS: That are interesting but bad news. Because it means, as long as XP can only enable PIC mode on the asrock board,
there will be no ACPI Multiprocessor for XP. The same happens to Vista 32 bit. Vista 64 and Win7 32bit generate their own
Irqs (as you can see on negative Irq numbers).

EDIT: This is wrong, what I wrote: I forget, that I have done \pcilock switch in boot.ini.
And only with this switch, compi boots new in Acpi Multiprocessor mode.
Without \pcilock in boot.ini, compi gives for Acpi Multiprocessor the same BSOD 0x7E 0xc0000005 as usual.
#700 infuscomus ⇗ @diderius6

XP apparently supports negative IRQs?

⇗ http://maxedtech.com/show-devices-by-irq-in-windows/

Devices that have positive (PCI) values are working in Line-based interrupts mode. Those that have negative (PCI) values are working in MSI (Message signaled interrupts) mode.
#701 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #699
EDIT: This is wrong, what I wrote: I forget, that I have done pcilock switch in boot.ini.
And only with this switch, compi boots new in Acpi Multiprocessor mode.


⇗ @diderius6

So you have multiprocessor and ACPI working on AB350? but not APIC?
#702 diderius6 ⇗ @infuscomus

I do not think, that something changed.
Still no correct Irqs for the pci devices
Dietmar


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

Opened \\.\com1
Waiting to reconnect...
Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

*** Assertion failed: pciInterface
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3518

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

*** Assertion failed: Thread->Tcb.KernelApcDisable == 0
*** Source File: d:\xpsp\base\ntos\ps\psdelete.c, line 1028

Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? t
t

*** Fatal System Error: 0x0000007f
(0x00000008,0x80042000,0x00000000,0x00000000)

Connected to Windows XP 2600 x86 compatible target at (Sun Jun 9 20:36:31.250 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
Debug session time: Sat Jun 8 20:36:11.015 2019 (UTC + 2:00)
System Uptime: 0 days 0:00:03.640
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Sun Jun 9 20:36:32.968 2019 (UTC + 2:00): 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 Jun 9 20:36:33.046 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
............................
Loading User Symbols
WARNING: Process directory table base DD5E0000 doesn't match CR3 00039000

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

Use !analyze -v to get detailed debugging information.

BugCheck 7F, {8, 80042000, 0, 0}

*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
Probably caused by : ntkrnlmp.exe ( nt!PspExitThread+3dc )

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

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

UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
Arg2: 80042000
Arg3: 00000000
Arg4: 00000000

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

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

BUGCHECK_STR: 0x7f_8

TSS: 00000028 -- (.tss 0x28)
eax=00000390 ebx=f789c210 ecx=f789c1fc edx=00000001 esi=f789c32c edi=00000078
eip=80acdf8a esp=f789be40 ebp=f789c1e0 iopl=0 nv up di ng nz na po nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010082
nt!_SEH_prolog+0x1a:
80acdf8a 53 push ebx
Resetting default scope

DEFAULT_BUCKET_ID: DRIVER_FAULT

PROCESS_NAME: System

LOCK_ADDRESS: 80af1640 -- (!locks 80af1640)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x80af1640
Thread Count : 1
Thread address: 0x8b0c5020
Thread wait : 0xe9

LAST_CONTROL_TRANSFER: from 80a30d41 to 80ab9138

ASSERT_DATA: pciInterface

ASSERT_FILE_LOCATION: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c at Line 3518

STACK_TEXT:
80ae33c0 80a30d41 00000003 80ae371c 00000000 nt!RtlpBreakWithStatusInstruction
80ae340c 80a319ac 00000003 00000000 00000000 nt!KiBugCheckDebugBreak+0x19
80ae37ec 80ad6907 0000007f 00000008 80042000 nt!KeBugCheck2+0x574
80ae37ec 80acdf8a 0000007f 00000008 80042000 nt!KiTrap08+0x48
f789c1e0 80ad5349 f789c1fc 00000000 f789c250 nt!_SEH_prolog+0x1a
f789c248 80ad5b11 f789c2d8 80ac10a1 badb0d00 nt!CommonDispatchException+0x4d
f789c248 80ac10a2 f789c2d8 80ac10a1 badb0d00 nt!KiTrap03+0xb9
f789c2d8 80ac10ec 00000001 f789c32c 00000078 nt!DebugService+0x1c
f789c2f4 80ab9243 f789c314 ffffffff 00000000 nt!DebugPrint+0x1c
f789c548 80ab93d8 80ab93b8 ffffffff 00000000 nt!vDbgPrintExWithPrefix+0x101
f789c564 80abad6c 80abac22 80abac1e 80bcb16c nt!DbgPrint+0x1a
f789c874 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0x82
f789c890 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789c93c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789c960 80bcc315 8b0c5020 c0000001 f789c990 nt!PspTerminateThreadByPointer+0x88
f789c980 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789c980 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789ca0c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789cd04 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789cd20 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789cdcc 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789cdf0 80bcc315 8b0c5020 c0000001 f789ce20 nt!PspTerminateThreadByPointer+0x88
f789ce10 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789ce10 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789ce9c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789d194 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789d1b0 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789d25c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789d280 80bcc315 8b0c5020 c0000001 f789d2b0 nt!PspTerminateThreadByPointer+0x88
f789d2a0 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789d2a0 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789d32c 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789d624 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789d640 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789d6ec 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789d710 80bcc315 8b0c5020 c0000001 f789d740 nt!PspTerminateThreadByPointer+0x88
f789d730 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789d730 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789d7bc 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789dab4 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789dad0 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789db7c 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789dba0 80bcc315 8b0c5020 c0000001 f789dbd0 nt!PspTerminateThreadByPointer+0x88
f789dbc0 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789dbc0 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789dc4c 80abadc0 fffffffe c0000001 00000000 nt!ZwTerminateThread+0x11
f789df44 80abae30 f75782b2 f7578286 00000dbe nt!RtlAssert2+0xd6
f789df60 f757852e f75782b2 f7578286 00000dbe nt!RtlAssert+0x18
f789e0a0 f75b865b 8b0d2d00 f789e0cc f789e0e0 ACPI!AcpiArbCrackPRT+0xe0
f789e0d4 f75c882d f75ae2a0 f789e0f0 f789e1a8 ACPI!AcpiArbAddAllocation+0x9f
f789e158 f75b7375 f75ae2a0 e19e6184 f75ae2a0 ACPI!ArbBootAllocation+0x17b
f789e16c f75c8d89 f75ae2a0 e19e6184 e19e6184 ACPI!AcpiArbBootAllocation+0x4b
f789e188 80b5d111 f75ae2a0 00000009 f789e1a8 ACPI!ArbArbiterHandler+0x1bd
f789e1c4 80b5e093 f789e1b8 00000000 80af1140 nt!IopBootAllocation+0xbb
f789e208 80b5e80b 00000004 e1a1c548 e1a04238 nt!IopAllocateBootResourcesInternal+0xc5
f789e228 80d24c8b 00000004 8b0d2d00 e1a04238 nt!IopAllocateBootResources+0x75
f789e24c 80b4753a 00000004 8b0d2d00 e1a04238 nt!IopReportBootResources+0x65
f789e27c 80b4db93 8b0881c8 80000240 00000001 nt!PiQueryAndAllocateBootResources+0x150
f789e36c 80b4e26d 8b0881c8 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d
f789e5c4 80a2cfb6 8b08ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd
f789e608 80a2d2c1 00000000 00000000 800809e8 nt!PipDeviceActionWorker+0xc4
f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND: kb

FOLLOWUP_IP:
nt!PspExitThread+3dc
80bcb644 8b9edc010000 mov ebx,dword ptr [esi+1DCh]

SYMBOL_STACK_INDEX: d

SYMBOL_NAME: nt!PspExitThread+3dc

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: nt

IMAGE_NAME: ntkrnlmp.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 4802b3ce

FAILURE_BUCKET_ID: 0x7f_8_nt!PspExitThread+3dc

BUCKET_ID: 0x7f_8_nt!PspExitThread+3dc

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

0: kd> !pcitree
PciFdoExtensionListHead forward pointer is NULL, list is empty
0: kd> !pci
PCI Segment 0 Bus 0
00:0 1022:1450.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge SubID:1849:1450
00:2 1022:1451.00 Cmd[0004:..b...] Sts[0010:c....] AMD Class:8:6:0 SubID:1022:1451
01:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
01:3 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x3-0xa
02:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
03:1 1022:1453.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0xb-0xb
04:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
07:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x11-0x11
08:0 1022:1452.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
08:1 1022:1454.00 Cmd[0007:imb...] Sts[0010:c....] AMD PCI-PCI Bridge 0->0x12-0x12
14:0 1022:790b.59 Cmd[0403:im....] Sts[0220:.6...] AMD SMBus Controller SubID:1849:ffff
14:3 1022:790e.51 Cmd[000f:imb...] Sts[0220:.6...] AMD ISA Bridge SubID:1849:ffff
18:0 1022:1460.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:1 1022:1461.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:2 1022:1462.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:3 1022:1463.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:4 1022:1464.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:5 1022:1465.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:6 1022:1466.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
18:7 1022:1467.00 Cmd[0000:......] Sts[0000:.....] AMD Host Bridge
0: kd> lm
start end module name
80100000 80127780 HAL1 (deferred)
80a02000 80d8e000 nt (pdb symbols) c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
f740c000 f742bb00 fltMgr (deferred)
f742c000 f7441000 nvme (deferred)
f7441000 f7458880 SCSIPORT (deferred)
f7459000 f7470900 atapi (deferred)
f7471000 f7496a00 dmio (deferred)
f7497000 f74b5d80 ftdisk (deferred)
f7556000 f7566a80 pci (pdb symbols) c:\symbols\pci.pdb\46927BAFB8E740B6B4BAC813675A82871\pci.pdb
f7567000 f75d5480 ACPI (pdb symbols) c:\symbols\acpi.pdb\F3A2E52867724F8EAB957EA99ABA93031\acpi.pdb
f75f7000 f7600300 isapnp (deferred)
f7607000 f7611580 MountMgr (deferred)
f7617000 f7624200 VolSnap (deferred)
f7627000 f7637000 asahci32 (deferred)
f7637000 f763fe00 disk (deferred)
f7647000 f7653180 CLASSPNP (deferred)
f7707000 f770d180 PCIIDEX (deferred)
f770f000 f7713d00 PartMgr (deferred)
f782e000 f7844880 KSecDD (deferred)
f7845000 f7856f00 sr (deferred)
f7857000 f7897000 storport (deferred)
f7897000 f789a000 BOOTVID (deferred)
f795a000 f7986980 NDIS (deferred)
f7987000 f7988b80 kdcom (deferred)
f7989000 f798a100 WMILIB (deferred)
f798b000 f798c700 dmload (deferred)
f7a35000 f7a4eb80 Mup (deferred)
f7a4f000 f7a4fd00 pciide (deferred)
f7b52000 f7bde600 Ntfs (deferred)
0: kd> !devnode 0 1
Dumping IopRootDeviceNode (= 0x8b08ecc8)
DevNode 0x8b08ecc8 for PDO 0x8b08ee10
InstancePath is "HTREE\ROOT\0"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08e898 for PDO 0x8b08e9f8
InstancePath is "Root\ACPI_HAL\0000"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e2358 for PDO 0x8b0e3830
InstancePath is "ACPI_HAL\PNP0C08\0"
ServiceName is "ACPI"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0600c0 for PDO 0x8b0e86c8
InstancePath is "ACPI\PNP0A08\0"
ServiceName is "pci"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e8420 for PDO 0x8b0d45c8
InstancePath is "ACPI\PNP0C0C\aa"
State = DeviceNodeDriversAdded (0x303)
Previous State = DeviceNodeInitialized (0x302)
DevNode 0x8b0e82f0 for PDO 0x8b04b798
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0caed8 for PDO 0x8b0c9670
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_1"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0cada8 for PDO 0x8b091038
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_2"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b087678 for PDO 0x8b0d2620
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_3"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b087548 for PDO 0x8b04e4c0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_4"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b04b008 for PDO 0x8b0478a0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_5"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b04b190 for PDO 0x8b0625c0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_6"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0ea280 for PDO 0x8b0624a0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_7"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0ea150 for PDO 0x8b0ca418
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_8"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0d2008 for PDO 0x8b0ca2f8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\_9"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0d2198 for PDO 0x8b0c9c88
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\10"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0e2008 for PDO 0x8b0c9b68
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\11"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0e21c0 for PDO 0x8b0d55b0
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\12"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0e1008 for PDO 0x8b0d5490
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\13"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0e11c0 for PDO 0x8b05ff18
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\14"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b088008 for PDO 0x8b05fdf8
InstancePath is "ACPI\AuthenticAMD_-_x86_Family_23_Model_1\15"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b0881c8 for PDO 0x8b0d2d00
InstancePath is "ACPI\AMDI0030\0"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
Problem = CM_PROB_NOT_CONFIGURED
DevNode 0x8b05f008 for PDO 0x8b0d2be0
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8b05f278 for PDO 0x8b076218
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8b05f148 for PDO 0x8b0760f8
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8b046c68 for PDO 0x8b060220
State = DeviceNodeUninitialized (0x301)
Previous State = Unknown State (0x0)
DevNode 0x8b0e7db0 for PDO 0x8b0e7f10
InstancePath is "Root\dmio\0000"
ServiceName is "dmio"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e7b58 for PDO 0x8b0e7cb8
InstancePath is "Root\ftdisk\0000"
ServiceName is "ftdisk"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e7900 for PDO 0x8b0e7a60
InstancePath is "Root\LEGACY_ACPI\0000"
ServiceName is "ACPI"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStarted (0x308)
Problem = CM_PROB_DEVICE_NOT_THERE
DevNode 0x8b0e76a8 for PDO 0x8b0e7808
InstancePath is "Root\LEGACY_AFD\0000"
ServiceName is "AFD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e7418 for PDO 0x8b0e7578
InstancePath is "Root\LEGACY_AMPA\0000"
ServiceName is "ampa"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e71c0 for PDO 0x8b0e7320
InstancePath is "Root\LEGACY_ATAPI\0000"
ServiceName is "atapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08ded8 for PDO 0x8b08d038
InstancePath is "Root\LEGACY_BEEP\0000"
ServiceName is "Beep"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08dc38 for PDO 0x8b08dd98
InstancePath is "Root\LEGACY_DMBOOT\0000"
ServiceName is "dmboot"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d9e0 for PDO 0x8b08db40
InstancePath is "Root\LEGACY_DMLOAD\0000"
ServiceName is "dmload"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d788 for PDO 0x8b08d8e8
InstancePath is "Root\LEGACY_FIPS\0000"
ServiceName is "Fips"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d4e0 for PDO 0x8b08d640
InstancePath is "Root\LEGACY_GPC\0000"
ServiceName is "Gpc"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d288 for PDO 0x8b08d3e8
InstancePath is "Root\LEGACY_HTTP\0000"
ServiceName is "HTTP"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6008 for PDO 0x8b08d190
InstancePath is "Root\LEGACY_IPNAT\0000"
ServiceName is "IpNat"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6db0 for PDO 0x8b0e6f10
InstancePath is "Root\LEGACY_IPSEC\0000"
ServiceName is "IPSec"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6b58 for PDO 0x8b0e6cb8
InstancePath is "Root\LEGACY_KSECDD\0000"
ServiceName is "ksecdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6900 for PDO 0x8b0e6a60
InstancePath is "Root\LEGACY_MNMDD\0000"
ServiceName is "mnmdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e66a8 for PDO 0x8b0e6808
InstancePath is "Root\LEGACY_MOUNTMGR\0000"
ServiceName is "mountmgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6450 for PDO 0x8b0e65b0
InstancePath is "Root\LEGACY_NDIS\0000"
ServiceName is "NDIS"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e61f8 for PDO 0x8b0e6358
InstancePath is "Root\LEGACY_NDISTAPI\0000"
ServiceName is "NdisTapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08ced8 for PDO 0x8b08c038
InstancePath is "Root\LEGACY_NDISUIO\0000"
ServiceName is "Ndisuio"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08cc80 for PDO 0x8b08cde0
InstancePath is "Root\LEGACY_NDPROXY\0000"
ServiceName is "NDProxy"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08ca28 for PDO 0x8b08cb88
InstancePath is "Root\LEGACY_NETBT\0000"
ServiceName is "NetBT"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c7d0 for PDO 0x8b08c930
InstancePath is "Root\LEGACY_NULL\0000"
ServiceName is "Null"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c578 for PDO 0x8b08c6d8
InstancePath is "Root\LEGACY_NVME\0000"
ServiceName is "nvme"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c320 for PDO 0x8b08c480
InstancePath is "Root\LEGACY_PARTMGR\0000"
ServiceName is "PartMgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5008 for PDO 0x8b08c228
InstancePath is "Root\LEGACY_PARVDM\0000"
ServiceName is "ParVdm"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5db0 for PDO 0x8b0e5f10
InstancePath is "Root\LEGACY_PCIIDE\0000"
ServiceName is "PCIIde"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5b58 for PDO 0x8b0e5cb8
InstancePath is "Root\LEGACY_RASACD\0000"
ServiceName is "RasAcd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5900 for PDO 0x8b0e5a60
InstancePath is "Root\LEGACY_RDPCDD\0000"
ServiceName is "RDPCDD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e56a8 for PDO 0x8b0e5808
InstancePath is "Root\LEGACY_TCPIP\0000"
ServiceName is "Tcpip"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5450 for PDO 0x8b0e55b0
InstancePath is "Root\LEGACY_VGASAVE\0000"
ServiceName is "VgaSave"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e51f8 for PDO 0x8b0e5358
InstancePath is "Root\LEGACY_VOLSNAP\0000"
ServiceName is "VolSnap"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08bed8 for PDO 0x8b08b038
InstancePath is "Root\LEGACY_WANARP\0000"
ServiceName is "Wanarp"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08bc80 for PDO 0x8b08bde0
InstancePath is "Root\MEDIA\MS_MMACM"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08ba28 for PDO 0x8b08bb88
InstancePath is "Root\MEDIA\MS_MMDRV"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b7d0 for PDO 0x8b08b930
InstancePath is "Root\MEDIA\MS_MMMCI"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b578 for PDO 0x8b08b6d8
InstancePath is "Root\MEDIA\MS_MMVCD"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b320 for PDO 0x8b08b480
InstancePath is "Root\MEDIA\MS_MMVID"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4008 for PDO 0x8b08b228
InstancePath is "Root\MS_L2TPMINIPORT\0000"
ServiceName is "Rasl2tp"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4db0 for PDO 0x8b0e4f10
InstancePath is "Root\MS_NDISWANIP\0000"
ServiceName is "NdisWan"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4b58 for PDO 0x8b0e4cb8
InstancePath is "Root\MS_PPPOEMINIPORT\0000"
ServiceName is "RasPppoe"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4900 for PDO 0x8b0e4a60
InstancePath is "Root\MS_PPTPMINIPORT\0000"
ServiceName is "PptpMiniport"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e46a8 for PDO 0x8b0e4808
InstancePath is "Root\MS_PSCHEDMP\0000"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4450 for PDO 0x8b0e45b0
InstancePath is "Root\MS_PSCHEDMP\0001"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e41f8 for PDO 0x8b0e4358
InstancePath is "Root\MS_PSCHEDMP\0002"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08aed8 for PDO 0x8b08a038
InstancePath is "Root\MS_PTIMINIPORT\0000"
ServiceName is "Raspti"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08ac80 for PDO 0x8b08ade0
InstancePath is "Root\PCI_HAL\0000"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08aa28 for PDO 0x8b08ab88
InstancePath is "Root\RDPDR\0000"
ServiceName is "rdpdr"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a7d0 for PDO 0x8b08a930
InstancePath is "Root\RDP_KBD\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a578 for PDO 0x8b08a6d8
InstancePath is "Root\RDP_MOU\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a320 for PDO 0x8b08a480
InstancePath is "Root\SYSTEM\0000"
ServiceName is "swenum"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e3008 for PDO 0x8b08a228
InstancePath is "Root\SYSTEM\0001"
ServiceName is "update"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e3db0 for PDO 0x8b0e3f10
InstancePath is "Root\SYSTEM\0002"
ServiceName is "mssmbios"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)


0: kd> !AcpiArbCrackPRT+0xe0
No export AcpiArbCrackPRT+0xe0 found
0: kd> devnode !AcpiArbCrackPRT+0xe0
Couldn't resolve error at 'evnode !AcpiArbCrackPRT+0xe0'
0: kd> !devnode !AcpiArbCrackPRT+0xe0
DevNode 0xf757852e for PDO 0x5a850f02
Parent 0x8dffa44d Sibling 0xff688d83 Child 0x83ffffff
InterfaceType 0xce8bd38a Bus Number 0x15fff88b
Duplicate PDO 0xe8f75ae3 InstancePath is ""
ServiceName is ""
TargetDeviceNotify List - f 0xc0840004 b 0x006a1775
State = Unknown State (0x8d50a945)
Previous State = Unknown State (0x8d50a845)
StateHistory[19] = Unknown State (0xa7505a1)
StateHistory[18] = Unknown State (0x45f62050)
StateHistory[17] = Unknown State (0xff53ffff)
StateHistory[16] = Unknown State (0xff68b5ff)
StateHistory[15] = Unknown State (0xf75ae4b0)
StateHistory[14] = Unknown State (0xa1a475ff)
StateHistory[13] = Unknown State (0x50a1458d)
StateHistory[12] = Unknown State (0x96a016a)
StateHistory[11] = Unknown State (0x2a7501a9)
StateHistory[10] = Unknown State (0x7d803075)
StateHistory[09] = Unknown State (0x1a87d80)
StateHistory[08] = Unknown State (0x5af)
StateHistory[07] = Unknown State (0xe9c00002)
StateHistory[06] = Unknown State (0x25b80a7d)
StateHistory[05] = Unknown State (0xc0851057)
StateHistory[04] = Unknown State (0xff5650ff)
StateHistory[03] = Unknown State (0xffff6885)
StateHistory[02] = Unknown State (0x8d50a445)
StateHistory[01] = Unknown State (0x8d50a345)
StateHistory[00] = Unknown State (0x8d50ab45)
Flags (0x0fc33b8c) DNF_HAL_NODE, DNF_REENUMERATE,
DNF_BOOT_CONFIG_RESERVED, DNF_NO_RESOURCE_REQUIRED,
DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_NON_STOPPED_REBALANCE,
DNF_LEGACY_DRIVER, DNF_HAS_PROBLEM,
DNF_DEVICE_GONE, DNF_LEGACY_RESOURCE_DEVICENODE,
DNF_ASYNC_START_NOT_SUPPORTED, DNF_ASYNC_ENUMERATION_NOT_SUPPORTED,
DNF_LOCKED_FOR_REBALANCE, DNF_UNINSTALLED,
DNF_NO_LOWER_DEVICE_FILTERS, DNF_NO_LOWER_CLASS_FILTERS
UserFlags (0x00055c85) DNUF_WILL_BE_REMOVED, DNUF_NEED_RESTART
Unknown flags 0x00055c80
CapabilityFlags (0xfef19be8) EjectSupported, DockDevice,
UniqueID, SilentInstall,
RawDeviceOK, SurpriseRemovalOK,
WakeFromD1, WakeFromD2,
NonDynamic, WarmEjectSupported
Unknown flags 0xfef00000
DisableableDepends = 1300496383 (from children)
Problem = Unknown problem (-1807354368)
  
#703 infuscomus ⇗ @diderius6

maybe try this flag in FACP table -

                     MSI Not Supported (V4) : 0

set it to 1
#704 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #700

XP apparently supports negative IRQs?

No, only line based irqs
#705 diderius6 ⇗ @infuscomus

I make a crazy try:
I delete nearly everything in DSDT,
compile and add this mini DSDT to Bios and flash.

Result:
No keyboard (even not in "Standard PC"), I cant go to Bios because no keyboard,
no mouse, no COM1, means no debugging, Standard PC XP SP3 works.

Acpi BSOD for Acpi Multiprocessor changes to
0x7B , which remembers me a lot at the behavior from Vista 32 bit on this Asrock B350 board.

So, the BSOD 0x7E 0xc0000005 seems to depend also(?) on DSDT
Dietmar

EDIT: Vista 32 bit setup shows : No Acpi compatible PC^^.

PS: Here is my mini DSDT:
/*
* Intel ACPI Component Architecture
* AML/ASL+ Disassembler version 20190405 (32-bit version)
* Copyright (c) 2000 - 2019 Intel Corporation
*
* Disassembling to symbolic ASL+ operators
*
* Disassembly of hackDSDT.raw, Fri Jun 07 09:09:50 2019
*
* Original Table Header:
* Signature "DSDT"
* Length 0x00005CA1 (23713)
* Revision 0x01 **** 32-bit table (V1), no 64-bit math support
* Checksum 0x2D
* OEM ID "ALASKA"
* OEM Table ID "A M I "
* OEM Revision 0x01072009 (17244169)
* Compiler ID "INTL"
* Compiler Version 0x20190405 (538510341)
*/
DefinitionBlock ("", "DSDT", 1, "ALASKA", "A M I ", 0x01072009)
{
External (APTS, MethodObj) // 1 Arguments
External (AWAK, MethodObj) // 1 Arguments

Name (ENTK, 0x87)
Name (EXTK, 0xAA)
Name (IO1B, 0x0280)
Name (IO1L, 0x10)
Name (IO2B, 0x0290)
Name (IO2L, 0x10)
Name (IO3B, 0x02A0)
Name (IO3L, 0x10)
Name (IO4B, 0x02B0)
Name (IO4L, 0x10)
Name (SP1O, 0x2E)
Name (IOES, Zero)
Name (PEBL, 0x04000000)
Name (ACPM, One)
Name (NBTS, 0x5000)
Name (CPVD, One)
Name (SMBB, 0x0B20)
Name (SMBL, 0x20)
Name (SMB0, 0x0B00)
Name (SMBM, 0x10)
Name (PMBS, 0x0800)
Name (PMLN, 0xA0)
Name (SMIO, 0xB2)
Name (GPBS, Zero)
Name (GPLN, Zero)
Name (APCB, 0xFEC00000)
Name (APCL, 0x1000)
Name (SPIB, 0xFEC10000)
Name (SPIL, 0x1000)
Name (HPTB, 0xFED00000)
Name (HPTL, 0x0400)
Name (WDTB, Zero)
Name (WDTL, Zero)
Name (GIOB, 0xFED81500)
Name (IOMB, 0xFED80D00)
Name (SSMB, 0xFED80200)
Name (CAFS, 0xBB)
Name (RXST, Zero)
Name (U3ST, Zero)
Name (UTDB, Zero)
Name (ASSB, Zero)
Name (AOTB, Zero)
Name (AAXB, Zero)
Name (PEHP, One)
Name (SHPC, Zero)
Name (PEPM, One)
Name (PEER, One)
Name (PECS, One)
Name (ITKE, Zero)
Name (PEBS, 0xF8000000)
Name (PELN, 0x04000000)
Name (SRSI, 0xB2)
Name (CSMI, 0x61)
Name (DSSP, Zero)
Name (FHPP, One)
Name (SMIA, 0xB2)
Name (SMIB, 0xB3)
Name (OFST, 0x35)
Name (TRST, 0x02)
Name (TCMF, Zero)
Name (TMF1, Zero)
Name (TMF2, Zero)
Name (TMF3, Zero)
Name (TTPF, One)
Name (DTPT, Zero)
Name (TTDP, Zero)
Name (TPMB, Ones)
Name (TPMC, Ones)
Name (TPMM, 0xFED40000)
Name (FTPM, Ones)
Name (PPIM, 0xFFFF0000)
Name (PPIL, 0xF0)
Name (AMDT, Zero)
Name (TPMF, Zero)
Name (PPIV, Zero)
Name (HIDK, "MSFT0001")
Name (HIDM, "MSFT0003")
Name (CIDK, 0x0303D041)
Name (CIDM, 0x030FD041)
Name (ATIS, 0xB0)
Name (MBEC, Zero)
Name (THPN, Zero)
Name (ALST, Zero)
Name (NBTP, 0xFEC30000)
Name (PICM, Zero)
}
  

 

Page 48

#706 infuscomus ⇗ @diderius6

OK,
So we start from scratch - then start adding things back into DSDT table until we run into either A5 or 7E BSOD?
#707 diderius6 ⇗ @infuscomus

Yes, this would be possible, but no mood for this at the moment.
I noticed, that the CPU definition went out from DSDT to SSDT.
But as far as I understand, acpi.sys reads ONLY DSDT
Dietmar
#708 diderius6 I make a new try.
I use the DSDT from the SABERTOOTH-990FX-R20-ASUS-2901.
It is a AM3+ XP friendly board.
In the DSDT the Hpet is handled correct and there are no Externals at all.
This DSDT I flash to Bios from Asrock B350 board.
Some things change, I think to better:
Vista 32 bit setup tells now: BSOD 0xA5 0x1000
which means:
0x1000 : ACPI_BIOS_USING_OS_MEMORY
ACPI had a fatal error when processing a memory operation region.
The memory operation region tried to map memory that has been
allocated for OS usage. The BSOD 0x7E 0xc0000005 happens with normal XP also,
meaning acpi.sys is writing and reading in system memory. Here is XP SP3 debug,

windbg with this DSDT:


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 (Mon Jun 10 01:26:40.187 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 (Service Pack 3) MP (16 procs) Checked x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
Debug session time: Mon Jun 10 01:26:50.812 2019 (UTC + 2:00)
System Uptime: 0 days 0:00:03.421
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Mon Jun 10 01:26:42.015 2019 (UTC + 2:00): 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 (Mon Jun 10 01:26:42.093 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
............................
Loading User Symbols
WARNING: Process directory table base DD5E0000 doesn't match CR3 00039000

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

Use !analyze -v to get detailed debugging information.

BugCheck 7F, {8, f7787d70, 0, 0}

*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
*** No owner thread found for resource 80af15c0
Probably caused by : ntkrnlmp.exe ( nt!PspExitThread+3dc )

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

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

UNEXPECTED_KERNEL_MODE_TRAP (7f)
This means a trap occurred in kernel mode, and it's a trap of a kind
that the kernel isn't allowed to have/catch (bound trap) or that
is always instant death (double fault). The first number in the
bugcheck params is the number of the trap (8 = double fault, etc)
Consult an Intel x86 family manual to learn more about what these
traps are. Here is a *portion* of those codes:
If kv shows a taskGate
use .tss on the part before the colon, then kv.
Else if kv shows a trapframe
use .trap on that value
Else
.trap on the appropriate frame will show where the trap was taken
(on x86, this will be the ebp that goes with the procedure KiTrap)
Endif
kb will then show the corrected stack.
Arguments:
Arg1: 00000008, EXCEPTION_DOUBLE_FAULT
Arg2: f7787d70
Arg3: 00000000
Arg4: 00000000

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

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

BUGCHECK_STR: 0x7f_8

TSS: 00000028 -- (.tss 0x28)
eax=00000390 ebx=f789c2cc ecx=f789c2b8 edx=00000001 esi=f789c3e8 edi=00000078
eip=80acdf8a esp=f789befc ebp=f789c29c iopl=0 nv up di ng nz na pe nc
cs=0008 ss=0010 ds=0023 es=0023 fs=0030 gs=0000 efl=00010086
nt!_SEH_prolog+0x1a:
80acdf8a 53 push ebx
Resetting default scope

DEFAULT_BUCKET_ID: DRIVER_FAULT

PROCESS_NAME: System

LOCK_ADDRESS: 80af1640 -- (!locks 80af1640)
NTSDEXTS: Unable to resolve ntdll!RtlCriticalSectionList
NTSDEXTS: Please check your symbols

PNP_TRIAGE:
Lock address : 0x80af1640
Thread Count : 1
Thread address: 0x8b0c5020
Thread wait : 0xd9

ASSERT_FILE_LOCATION: d:\xpsp\base\ntos\mm\iosup.c at Line 6745

LAST_CONTROL_TRANSFER: from 80a30d41 to 80ab9138

ASSERT_DATA: (Pfn1->u3.e2.ReferenceCount != 0) || ((Pfn1->u3.e1.Rom == 1) && (CacheType == MmCached))

STACK_TEXT:
f778ad10 80a30d41 00000003 f778b06c 00000000 nt!RtlpBreakWithStatusInstruction
f778ad5c 80a319ac 00000003 00000000 00000000 nt!KiBugCheckDebugBreak+0x19
f778b13c 80ad6907 0000007f 00000008 f7787d70 nt!KeBugCheck2+0x574
f778b13c 80acdf8a 0000007f 00000008 f7787d70 nt!KiTrap08+0x48
f789c29c 80ad5349 f789c2b8 00000000 f789c30c nt!_SEH_prolog+0x1a
f789c304 80ad5b11 f789c394 80ac10a1 badb0d00 nt!CommonDispatchException+0x4d
f789c304 80ac10a2 f789c394 80ac10a1 badb0d00 nt!KiTrap03+0xb9
f789c394 80ac10ec 00000001 f789c3e8 00000078 nt!DebugService+0x1c
f789c3b0 80ab9243 f789c3d0 ffffffff 00000000 nt!DebugPrint+0x1c
f789c604 80ab93d8 80ab93b8 ffffffff 00000000 nt!vDbgPrintExWithPrefix+0x101
f789c620 80abad6c 80abac22 80abac1e 80bcb16c nt!DbgPrint+0x1a
f789c930 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0x82
f789c94c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789c9f8 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789ca1c 80bcc315 8b0c5020 c0000001 f789ca4c nt!PspTerminateThreadByPointer+0x88
f789ca3c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789ca3c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789cac8 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789cdc0 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789cddc 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789ce88 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789ceac 80bcc315 8b0c5020 c0000001 f789cedc nt!PspTerminateThreadByPointer+0x88
f789cecc 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789cecc 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789cf58 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789d250 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789d26c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789d318 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789d33c 80bcc315 8b0c5020 c0000001 f789d36c nt!PspTerminateThreadByPointer+0x88
f789d35c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789d35c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789d3e8 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789d6e0 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789d6fc 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789d7a8 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789d7cc 80bcc315 8b0c5020 c0000001 f789d7fc nt!PspTerminateThreadByPointer+0x88
f789d7ec 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789d7ec 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789d878 80abadc0 fffffffe c0000001 8b0c6468 nt!ZwTerminateThread+0x11
f789db70 80abae30 80bcb16c 80bcb14c 00000404 nt!RtlAssert2+0xd6
f789db8c 80bcb644 80bcb16c 80bcb14c 00000404 nt!RtlAssert+0x18
f789dc38 80bcbd80 c0000001 00000000 8b0c5020 nt!PspExitThread+0x3dc
f789dc5c 80bcc315 8b0c5020 c0000001 f789dc8c nt!PspTerminateThreadByPointer+0x88
f789dc7c 80ad4718 fffffffe c0000001 00000030 nt!NtTerminateThread+0xc3
f789dc7c 80a3c7e1 fffffffe c0000001 00000030 nt!KiFastCallEntry+0x158
f789dd08 80abadc0 fffffffe c0000001 f798f0a0 nt!ZwTerminateThread+0x11
f789e000 80abae30 80a4a5aa 80a4a58a 00001a59 nt!RtlAssert2+0xd6
f789e01c 80a4a9c0 80a4a5aa 80a4a58a 00001a59 nt!RtlAssert+0x18
f789e088 f758abb3 00e000a0 00000000 00001000 nt!MmMapIoSpace+0x24c
f789e0a8 f758c4be 00e000a0 00001000 8b07b5a0 ACPI!MapPhysMem+0x46
f789e0c8 f75919a5 8b0dc000 00e000a0 00001000 ACPI!MapUnmapPhysMem+0x5b
f789e0f8 f759895b 8b0dc000 8b0dded8 8b0dded8 ACPI!OpRegion+0x131
f789e114 f758d34c 8b0dc000 8b0dded8 00000000 ACPI!ParseTerm+0x1c1
f789e13c f7590551 00000000 4556414c 8b0dc000 ACPI!RunContext+0x124
f789e164 f7590778 8b0dc000 00000000 f75ad4a8 ACPI!InsertReadyQueue+0x15c
f789e184 f758f5aa 8b0dc000 00000000 80000000 ACPI!RestartContext+0xb5
f789e1bc f75831d6 8b0dc000 f77971d8 000000d8 ACPI!SyncLoadDDB+0xb1
f789e1e0 f75c5bf1 f77971d8 f789e1fc 00000012 ACPI!AMLILoadDDB+0x164
f789e200 f75c5f4f 00000012 8b0e41f0 80ad38c0 ACPI!ACPIInitializeDDB+0x75
f789e214 f75c667e 80102a40 f75ae1a0 80102940 ACPI!ACPIInitializeDDBs+0x8f
f789e22c f7576303 8b0877e0 8b087660 00000000 ACPI!ACPIInitialize+0x22e
f789e260 f75c17fc 8b0877e0 00000000 f75c16c6 ACPI!ACPIInitStartACPI+0x71
f789e28c f75718ea 8b0877e0 8b089200 8b0877e0 ACPI!ACPIRootIrpStartDevice+0x136
f789e2c0 80a21c1b 8b0877e0 8b0892f0 8b0877e0 ACPI!ACPIDispatchIrp+0x1a0
f789e2d8 80b4f526 f789e348 8b0e2358 8b0e35d8 nt!IopfCallDriver+0x51
f789e304 80b4f66e 8b0877e0 f789e324 00000000 nt!IopSynchronousCall+0xf0
f789e34c 80a2c0e9 8b0e35d8 00000001 00000000 nt!IopStartDevice+0x82
f789e368 80b4e2e8 8b0e35d8 00000000 00000000 nt!PipProcessStartPhase1+0x9f
f789e5c4 80a2cfb6 8b08ecc8 00000000 00000000 nt!PipProcessDevNodeTree+0x238
f789e608 80a2d2c1 00000000 00000000 800809e8 nt!PipDeviceActionWorker+0xc4
f789e620 80d23f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b
f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x39b
f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34


STACK_COMMAND: kb

FOLLOWUP_IP:
nt!PspExitThread+3dc
80bcb644 8b9edc010000 mov ebx,dword ptr [esi+1DCh]

SYMBOL_STACK_INDEX: d

SYMBOL_NAME: nt!PspExitThread+3dc

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: nt

IMAGE_NAME: ntkrnlmp.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 4802b3ce

FAILURE_BUCKET_ID: 0x7f_8_nt!PspExitThread+3dc

BUCKET_ID: 0x7f_8_nt!PspExitThread+3dc

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

15: kd> !amli
Usage: amli <cmd> [arguments ...]
where <cmd> is one of the following:

Help - ? [<Cmd>]
Clear Breakpoints - bc <bp list> | *
Disable Breakpoints - bd <bp list> | *
Enable Breakpoints - be <bp list> | *
List Breakpoints - bl
Set Breakpoints - bp <MethodName> | <CodeAddr> ...
Clear Event Log - cl
Request entering debugger- debugger
Dump Heap - dh [<Addr>]
Dump Event Log - dl
Dump Name Space Object - dns [[/s] [<NameStr> | <Addr>]]
Dump Data Object - do <Addr>
Dump Stack - ds [/v] [<Addr>]
Find NameSpace Object - find <NameSeg>
List All Contexts - lc
Display Nearest Method - ln [<MethodName> | <CodeAddr>]
Display Context Info. - r <Context>
Set Debugger Options - set [traceon | traceoff] [nesttraceon | nesttraceoff] [spewon | spewoff]
[lbrkon | lbrkoff] [errbrkon | errbrkoff] [verboseon | verboseoff]
[logon | logoff] [logmuton | logmutoff]
Unassemble AML code - u [<MethodName> | <CodeAddr>]

15: kd> !amli lc
*Ctxt=ffffffff8b0dc000, ThID=ffffffff8b0c5020, Flgs=----R----, pbOp=fffffffff7797957, Obj=<null>

15: kd> !amli ln
fffffffff7797957
  
#709 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #708

I use the DSDT from the SABERTOOTH-990FX-R20-ASUS-2901.
It is a AM3+ XP friendly board.
In the DSDT the Hpet is handled correct and there are no Externals at all.
This DSDT I flash to Bios from Asrock B350 board.


- dsdt is not very portable on modern plarforms because uses hardcoded mem ranges, bios fill memory with values, windows read acpi code and read these memory, this is communication os<->bios. For portability need similar platform/chipset.
- dsdt (body.bin) from bios filesystem is template (on intel platform), final state produced by bios before os loading
example of template in dsdt:
Zitat
Name (PNVB, 0xFFFF0000)
Name (PNVL, 0xAA55)


final state:

Zitat
Name (PNVB, 0xCEF8D018) - dynamic adress filled by bios
Name (PNVL, 0x022E)

#710 diderius6 ⇗ @Mov AX, 0xDEAD

The problem is, to find any DSDT table from a compi with Ryzen platform,
which is XP friendly
Dietmar

PS: Do you think, it is possible to find out the hardcoded mem ranges of the Asrock fatal1ty ab350 gaming k4 board
and put them one by one into this DSDT table?
And I have another question: Do you think, that there exist a DSDT table for this Asrock board,
that starts XP with Acpi Multiprocessor mode? I mean, is it enough to edit DSDT table or is need to change other tables too?
For example I noticed, that the whole cpu definition now went out from DSDT to an SSDT table.
But as far as I know, acpi.sys looks ONLY at DSDT.
#711 diderius6 ⇗ @Mov AX, 0xDEAD

I change in the DSDT table of the Sabertooth board

   Name (PEBS, 0xE0000000)  ->  Name (PEBS, 0xF8000000)

   Name (PEBL, 0x10000000)  ->  Name (PEBL, 0x04000000)

The values on the right site are from Asrock B350 board.
Most of the NAME (..,) are identic.

Are there some other importand values, which need to fit via DSDT Asrock -> DSDT Sabertooth

Dietmar

EDIT: I changed this values in DSDT but exact the same BSOD as before.
#712 diderius6 From the Acpi 1.b (1999) specification:
ACPI is by nature more portable across operating systems and processors. ACPIs
command methods allow very flexible implementations of particular features.

Taking this word by word, it should be even possible to use a DSDT table from an Intel board for any AMD board
Dietmar

PS: What I do not understand is the difference between DSDT and SSDT tables.
acpi.sys reads only DSDT. But from yesterday I know, that not only acpi.sys is reading DSDT, strange enough.
Who reads the other tables?
#713 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #712

PS: What I do not understand is the difference between DSDT and SSDT tables.
acpi.sys reads only DSDT. But from yesterday I know, that not only acpi.sys is reading DSDT, strange enough.
Who reads the other tables?

mssmbios reads ssdt, facp and other
nvidia driver reads ssdt

acpi.sys do some magic with ssdt too:
Zitat
mov  dword ptr [eax], 54445353h
#714 diderius6 Mov AX, 0xDEAD
"mssmbios reads ssdt"

is interesting, because the last module (lm) what is loaded before crash is always mssmbios
I can see it with windbg
Dietmar

PS: So, the real problem may be outside from DSDT!

acpi.sys do some magic with ssdt too:

   mov dword ptr [eax], 54445353h

From where you know this? And can it help?

EDIT: Aha, I found with Ida Pro in acpi.sys from XP SP3 "mov dword ptr [eax], 54445353h" and in Winhex there is written that it is from SSDT, cool.
And there is another place with SSDT in acpi.sys too.
PAGE:00036973      cmp     ecx, 54445353h

And also FACP, RSDT, XSDT, DSDT, SSDT.. oha, acpi.sys looks everywhere.
#715 diderius6 ⇗ @infuscomus

Can you also load another FACP table with your grub2 method before XP boots
instead of the FACP table from Bios?
May this is importand, because Acpi can also crash because of information
in other tables
Dietmar

PS: A short tutorial how to use this grub2 method would be nice.
#716 infuscomus ⇗ @diderius6

I can load a FACP table before DSDT with grub2
#717 diderius6 Today is a good day,
because I succeed to repair my first Asrock B350 board with hardware killed Bios Chip Winbond 25Q128FWSQ.
I desolder the Bios chip with a hot air desolder gun at 500 degree Celsius. Crazy part, look very good for your fingers!
Then I clean the 8 solder pins on the board (for the new Bios socket) careful off all solder with a Copper desoldering wire.
Clean clean clean again with a STANNOL X32-10I flux and cleaning pen.
As you can see, then I solder a socket for this Bios chip into the board.
Not with the crazy Hot Air gun, just with small normal soldering iron with normal 0.5mm solder wire.
Then I test all 8 pins for contact, put my new and also new flashed Bios Chip from Winbond via Epromer "tl866ii plus" in socket.
When I change the Ryzen 1700 cpu from the other Asrock board to this one, the chip fell down and bent pins, brrr.
Ok, after 20 min repair of bent pins
I start compi new
and here you can see nice result
Dietmar
PS: The socket with the Bios Chip is the white quadrat right down in the corner.

#718 infuscomus nice!
#719 diderius6 ⇗ @infuscomus

I would not recommend this procedure to everyone.
Many electronic devices I soldered years ago.
The white socket here has nearly zero sized legs but I found no better with fit into this board
Dietmar

PS: infuscomus, please write short Tutorial about grub2 and FACP load. Because even I can now easy put in and out the Bios chip,
the FACP table itself I cannot write direct to Bios, because I dont have the algoritmus for to put the changed FACP table back to Bios.
#720 infuscomus ⇗ @diderius6

I followed this guide to get AIO boot to prepare my USB drive

⇗ https://www.aioboot.com/en/how-to-use/

after i confirmed the drive was bootable I opened AIOcreator.exe on the USB drive - selected Integration tab, chose Windows XP, then pointed to my XP ISO

For ACPI

Copy the ACPI AML or DAT files to the root of the AIOboot USB drive

boot AIOboot USB drive

Press C to drop to grub2 command line

type desired commands
e.g.

acpi /facp.dat /dsdt.dat

Press ENTER

Press ESC to return to grub2 menu

Select Windows XP/2003 Setup

Select Windows XP Setup Boot Disk

XP Install as normal

 

Page 49

#721 diderius6 ⇗ @infuscomus

Thanks a lot!
Interesting, how XP decides, whether this is a Acpi friendly Bios or not.
Maybe, XP looks only in FACP for this.
Like on the Intel Asrock board I find out,
that XP writes also on the Asrock B350 ryzen board in the memory, which is reserved for the COM1 port,
even without Acpi
Dietmar
#722 infuscomus ⇗ @diderius6

I found on coreboot wiki



Windows XP or Server 2003 setup might fail with an error message such as:

"An unexpected error (805262864) occurred at line 1768 of d:\xpclient\base\boot\setup\arcdisp.c"

The value 805262864 varies, and is the physical address, in decimal, of one of the ACPI tables.

The error message is displayed when a 1024 dword page table array used by setupldr runs out of space.

This table is used for mapping various physical addresses, such as those of ACPI tables (a separate table identity maps the lower 16MB used by setupldr code and data). Setupldr only looks at ACPI tables (FACP) to determine make and model of the system. The make and model of the system is needed when setupldr scans the good/bad bios lists contained in txtsetup.sif. The good/bad bios lists are used to bypass installation of the ACPI enabled kernel on certain systems known to have ACPI problems. The code loop that scans the lists creates a new mapping each time it reads an ACPI table, and never frees mappings. The code uses FACP OEM ID to determine the system model. The code sequentially reads tables listed in the RSDT array until the FACP is found. Each read consumes one page table entry. If more that 4 tables precede the FACP in the RSDT array, the 1024 entry page table array will run out of space before the good/bad bios list processing completes.

BIOS can work around this Windows XP/Server 2003 limitation by placing the FACP early in the RSDT array.
#723 diderius6 ⇗ @infuscomus

I just found this via windbg on new/old Asrock board:))!

MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041)

May be this is the only reason, why we have no Acpi on XP on the Asrock B350 ryzen board
Dietmar
#724 diderius6 Be careful!!!

When you flash the Asrock B350 to the newest Bios Version 5.70,
you cant go back with normal Eflash via Bios on the Asrock 350 board:
There is written: Invalid file,
brrr..
Dietmar
#725 infuscomus ⇗ @diderius6

does your epromer still work around this?
#726 diderius6 ⇗ @infuscomus

Yessssaaa, flash back to Bios version 3.30 lasts only 2 min
because now Bios on socket
Dietmar
#727 diderius6 When you use Bios 3.30 on the Asrock B350 board,
XP SP3 boot from nvme device works.
On Bios 5.40 and 5.70 boot from nvme device for XP SP3 gives BSOD
Dietmar
#728 diderius6 This
MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041)
may be interesting.
"APIC" word in Hex is vice versa written 43 49 50 41.

With Bios 5.40 the !amli .. command shows everywhere Irq 2,
this is the Irq for the PIC model.
But all adresses for every Acpi device where filled with numbers, crash happens because Acpi in PIC mode does not work on a Multiprocessor System (needs Apic model).
So, in the DSDT table is the PIC model chosen on Bios 5.40.
On Bios 3.30 (with Apic model in FACP) nothing(?) is chosen in DSDT,
all ACPI devices are filled with 00000000 and all Irqs are 0
Dietmar
#729 diderius6 Does anybody know,
how to find the MADT table in Bios?
⇗ https://wiki.osdev.org/MADT

BIOS creates tables on boot

Table of contents (RSDT/XSDT), pointed to by RSDP

DSDT: AML bytecode and device tree

MADT: APIC table for SMP and interrupt routing

FADT: fixed features, superceded by DSDT in many cas

Dietmar
#730 diderius6 I am very happy, when somebody can explain this lines to me.
Does it mean, we can chose for ourselfes, if we use PIC or APIC method?
And if yes, how has APIC to be set here in which variable
Dietmar

PCI IRQ Routing (PIC vs. APIC mode)
If the _PIC control method is present, the _PRT method should return interrupt routing information based on the value _PIC was called with

Method(_PIC,1)
{
Store(Arg0, PICS)
}
Method(_PRT)
{
if (PICS)
{

}
else
{

}
}
_PIC(0)  => PIC Mode
_PIC(1)  => APIC Mode
#731 infuscomus ⇗ @diderius6

I'm sorry I'm not knowledgeable enough to be of much help for this


Ask around on hackintosh forums, they do DSDT hacking, maybe they can help?
#732 diderius6 I start to understand.
In the DSDT table are for every device 2 entries.
One for APIC mode and one for PIC mode.

In the DSDT of the Asrock B350 board

   Method (_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
   {
       If (Arg0)
       {
           \_SB.DSPI ()
           \_SB.PCI0.NAPE ()
           DBG8 = 0xAA
       }
       Else
       {
           DBG8 = 0xAC
       }

       PICM = Arg0
   }


When (from an unknown place set) Arg0=1, then APIC mode is enabled in DSDT, all devices use APIC.
Is Arg0=0 then the devices in DSDT table all use PIC mode.
This simple means, even without any ACPI, the DSDT and SSDT tables have to be read for to decide APIC or PIC mode.
This information is in Arg0.

Here if APIC mode, then set DBG8 = 0xAA
and for PIC mode DBG8 = 0xAC.
This variable DBG8 is not used in DSDT table, but seems to be needed at other place.

For APIC and for PIC mode, this information is now given via PICM = Arg0
to PICM, means APIC for PICM=1 , PIC for PICM=0
Dietmar

⇗ https://os.inf.tu-dresden.de/papers_ps/tr-atare-2009.pdf
⇗ https://uefi.org/sites/default/files/res..._2_A_Sept29.pdf
#733 infuscomus ⇗ @diderius6

I found old iasl compiler from 2005
and pdf



infuscomus has attached files to this post
#734 diderius6 Multiple APIC Description Table:
The Multiple APIC Description Table (APIC or MADT) is used on systems supporting the APIC to
describes the APIC implementation. Following the Multiple APIC Description Table is a
list of APIC structures that declare the APIC features of the machine.
This is from ACPI 1.b (XP).
Now it is clear: The Asrock fatal1ty ab350 gaming k4 does not support APIC
and because of this there is no MADT table.

But I think, ACPI for XP there is possible,
but needs a lot of handwork
Dietmar
#735 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #732

Here if APIC mode, then set DBG8 = 0xAA
and for PIC mode DBG8 = 0xAC.
This variable DBG8 is not used in DSDT table, but seems to be needed at other place.


DBG8 is I/O Port 80 (port for POST codes from ancient times), you can skip any operations with it
Zitat
OperationRegion (DEB0, SystemIO, 0x80, One)
Field (DEB0, ByteAcc, NoLock, Preserve)
{
DBG8, 8
}



Zitat
When (from an unknown place set) Arg0=1, then APIC mode is enabled in DSDT, all devices use APIC.
Is Arg0=0 then the devices in DSDT table all use PIC mode.
This simple means, even without any ACPI, the DSDT and SSDT tables have to be read for to decide APIC or PIC mode.
This information is in Arg0.


see apci spec, method _pic() called by OS to inform bios about needed pic mode.
i think method called by HAL.dll, because we have variation of it (pic, apic, apci+apic, mp+*, ...)
in your case if xp want apic, first call _pic(1), then call DSPI(), NAPE()
dspi does some magic with 0x0c00 port (amd specific port ?)

 

Page 50

#736 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #723

MAPIC - dumpFACS: Invalid Signature 0x00000000 != APIC_SIGNATURE (43495041)


APIC table presented in xsdt list ? in rsdt list too ? table is really empty ?
#737 diderius6 Bug Description

I'm on a Ryzen 1800X and Biostar B350GT5 on bionic kubuntu.

There are lots of AMD-Vi logged events and I get irq crashes or acpi hangups with a 'normal' boot. I got it to boot by disabling IOMMU in the BIOS and adding "iommu=soft" to the kernel booting options in grub.

linux can then detect everything properly (all cores) and I've had zero crashes. The only issue is that it's using software IOMMU which could have a performance penalty because it has to copy all the data of some PCI devices to sub 4G regions.

Alternatively it boots with the kernel option "acpi=off" but only detects a single core/thread.
#738 diderius6 ⇗ @Mov AX, 0xDEAD

The problem is,
that without acpi amli cant read correct the tables.
With rw-everything, even without ACPI and without APIC,
there is the MADT (APIC) table listened.
And because Win7 32 works with full Multiprocessor ACPI,
there must be an APIC list
but under XP it is impossible until now to read the APIC table.
I heard from GEODE and other embedded board manufactures,
who take a deep look in implementic the chipset local APIC for the B350 and B320,
that there may be errors between calling Level-triggered and Edge-triggered Irqs
Dietmar
#739 diderius6 1036 When IOMMU Interrupt Remapping Is Enabled the
Remapped TM (Trigger Mode) Bit Is Incorrectly Ignored
Description
When IOMMU interrupt remapping is enabled the remapped TM (trigger mode) bit in the IOMMU interrupt
remapping table entry is incorrectly ignored, and as a result all remapped interrupts will have TM=0 indicating
edge-triggered mode.
Potential Effect on System
Remapped interrupts with TM=1 indicating level-triggered mode will result in IO devices not receiving EOI
(end of interrupt).
Suggested Workaround
No workaround. Only use devices with edge-triggered interrupts.
Fix Planned
Yes
#740 diderius6 1043 IOMMU May Fail to Deliver an Interrupt or Incorrectly
Send an Interrupt to the Host OS
Description
IOMMU may fail to deliver an interrupt or incorrectly send an interrupt to the host OS under the following
conditions:
The vAPIC (Virtual Advanced Programmable Interrupt Controller) backing page is programmed in IRTE
(Interrupt Remapping Table Entry), and
GA (Guest Virtual APIC) mode is enabled.
Potential Effect on System
Unpredictable system behavior.
Suggested Workaround
System software may contain the workaround for this erratum.
Fix Planned
No fix planned
#741 diderius6 Bug Description

[Impact]
Gigabyte AM4 boards users cannot boot Ubuntu successfully.
Commit linux-gpio/fixes babdc22b0ccf4ef5a3075ce6e4afc26b7a279faf "pinctrl/amd: Use regular interrupt instead of chained" can fix the issue.

[Test Case]
All Gigabyte AM4 boards can reproduce the issue.
With the patch, the issue is resolved, per comment #170.

[Regression Potential]
Regression Potential is low. It limits to rather new AMD platform which has pinctrl-amd.
As the commit log says, use chained interrupt is not a good idea. Use regular interrupt is the correct way.

I also test the patch on an AMD laptop, where its touchpad depends on pinctrl-amd. No regression found.

Original bug report:
I'm trying to run ubuntu on Ryzen 1700x with Gigabyte GA-AB350-gaming-3 motherboard,
and it has a load of problems, starting with not being able to boot normally.

During normal boot, on 16.10 as well as 17.04 beta:
system doesn't boot normally, hangs with a lot of "unexpected irq trap at vector 07"
messages displayed.

Following advice from various places, I've tried:disable cpu freq governor and cpu handling in acpi settings

1. add "acpi=off" to boot params

That helps, allowing me to boot into recovery mode, though it leaves me with system seeing only one core, is really slow and still only boots in recovery mode.

2. Compile own kernel using 4.11.rc1 and disabling cpu freq governor and cpu handling in acpi settings. Boot with "quiet loglevel=3" option.

That gets me even further - system sees all cores now. Still only recovery mode though,
but its enough to get info for this bug report.

Some observed problems:

1. dmesg reports *a lot* of messages like this all the time:

[ 163.362068] ->handle_irq(): ffffffff87a7e090,
[ 163.362081] bad_chained_irq+0x0/0x40
[ 163.362089] ->handle_irq(): ffffffff87a7e090,
[ 163.362090] amd_gpio_irq_handler+0x0/0x200
[ 163.362090] ->irq_data.chip(): ffffffff88587e20,
[ 163.362090] ioapic_ir_chip+0x0/0x120
[ 163.362090] ->action(): ffffffff884601c0
[ 163.362091] IRQ_NOPROBE set
[ 163.362099] ->handle_irq(): ffffffff87a7e090,
[ 163.362099] amd_gpio_irq_handler+0x0/0x200
[ 163.362100] ->irq_data.chip(): ffffffff88587e20,
[ 163.362100] ioapic_ir_chip+0x0/0x120
[ 163.362101] ->action(): ffffffff884601c0

I've tried to redirect dmesg to a file, stopped after a short while, it generated 400M of those.

2. Systemd cannot start journald. Perhaps because it cannot cope with amount of kernel logs?

3. Looking at pci, I've noticed something called AMDI0040 (/sys/bus/acpi/devices/AMDI0040, path=_SB_.EMMC), among AMDI0010, AMDI0020, AMDI0030. Those however are mentioned in kernel source, kernel and google are completely silent about AMDI0040.

Phoronix tested ryzen using different motherboard, and it worked better (though not well),
so I suspect it is an issue with motherboard.
---
ApportVersion: 2.20.4-0ubuntu2
Architecture: amd64
DistroRelease: Ubuntu 17.04
InstallationDate: Installed on 2015-08-06 (581 days ago)
InstallationMedia: Kubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150728.1)
Package: linux (not installed)
ProcEnviron:
LANGUAGE=en_US:en
TERM=linux
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
Tags: zesty
Uname: Linux 4.11.0-rc1-custom x86_64
UnreportableReason: The running kernel is not an Ubuntu kernel
UpgradeStatus: Upgraded to zesty on 2017-03-03 (6 days ago)
UserGroups:

_MarkForUpload: True
#742 diderius6 Lukas Kahnert 2018-04-26 15:13:12 UTC

Created attachment 275599 [details]
Disassembled ACPI Table

I tried to get the touchscreen work for HP Envy x360(Ryzen 2500u) on current kernel and found out that the Interrupt for the GPIO driver get wrong detected and configured. Maybe a typical bug in the ACPI table from BIOS.
In ACPI Table the IRQ is defined as
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000007,
}

but in dmesg it prints
[    0.098531] ACPI: IRQ 7 override to edge, high

I just made a dirty hack to force "level, low" for this IRQ (and a change related to other bug) and the touchscreen works as expected.
But it needs a true fix in the hardware detection and configuration.
#743 diderius6 The device GPIO is also in the DSDT of the Asrock B350 board.
And there it comes together with AMDs own saying:
Only use devices with edge-triggered interrupts.
        Device (GPIO)
{
Name (_HID, "AMDI0030") // _HID: Hardware ID
Name (_CID, "AMDI0030") // _CID: Compatible ID
Name (_UID, Zero) // _UID: Unique ID
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, )
{
0x00000007,
}
Memory32Fixed (ReadWrite,
0xFED81500, // Address Base
0x00000400, // Address Length
)
})
Return (RBUF) /* \_SB_.GPIO._CRS.RBUF */
}

Method (_STA, 0, NotSerialized) // _STA: Status
{
If ((TSOS >= 0x70))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
#744 diderius6 May be this will work and that's all :))
{
Name (RBUF, ResourceTemplate ()
{
Interrupt (ResourceConsumer, Edge, ActiveHigh, Shared, ,, )
{
0x00000007,
}

Dietmar
#745 diderius6 I replace at 9 places (just all) in DSDT from Asrock B350

Level, ActiveLow,  => Edge, ActiveHigh,

and flash Bios.
But the BSOD is still the same 0x7E 0xc0000005 after
*** Assertion failed: PciInterfacesInstantiated
***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

But I think, we are on the right way.
I disabled IOMMU in Bios 3.30.
The problems are in Irqs
Dietmar
#746 diderius6 Win7 32 bit starts with the changed Irqs as normal.
I make with rw-everything a read out of all ACPI tables from the Asrock board B350.
And, at the end of the APIC table you can find the entry
Interrupt Source Override Structure
Type 0x02 (2)
Length 0x0A (10)
Bus 0x00 (0) - ISA
Source IRQ9
System Interrupt 0x00000009 (9)
Flags 0x000F
Polarity 0x03 - Active low
Trigger Mode 0x03 - Level triggered

Dietmar

PS: But I do not know, how to change this table in Bios to Edge, ActiveHigh



diderius6 has attached files to this post
#747 diderius6 I succeed to hack the APIC table,
so as wished with only Edge, ActiveHigh entries,
here for Irq 9.
Now, I look for somebody,
who can load this APIC (MADT) table up during boot of XP
Dietmar

EDIT: New file, checksum repaired.



diderius6 has attached files to this post
#748 diderius6 ⇗ @infuscomus

Make a try with this FACP
Dietmar



diderius6 has attached files to this post
#749 diderius6 Can the MADT table be loaded with the Microsoft asl.exe tool (vers. 4 from 2009)?

asl.exe /loadtable apic.aml

Dietmar

PS: You need to set the version of the table higher than before, if you want your new table loaded.
#750 infuscomus ⇗ @diderius6

I tried your APIC and FACP tables with grub2

instant restart, no BSOD

 

Page 51

#751 diderius6 ⇗ @infuscomus
Please try this new DSDT also.
I deleted all timers there and set all Irq to Edge ActiveHigh
Dietmar

PS: And make mix, 1 table, 2 tables, all 3 tables.



diderius6 has attached files to this post
#752 infuscomus ⇗ @diderius6

some tests

APIC only - instant restart
FACP only - 7E BSOD
DSDT only - arcdisp.c error - FACP must come before DSDT
FACP + DSDT - BSOD A5 0x02
APIC + any table - instant restart

edit:

Oh, you have 8 core processor right? I have 4 core - maybe your APIC is enabling processor cores i don't have

edit2:
maybe not
edited my own APIC, same result -instant restart
#753 diderius6 ⇗ @infuscomus
Thanks a lot for testing!
May be, that the APIC table cant be loaded via this way
Dietmar

PS: Yes, the Ryzen 1700, which I have, has 8 cores, 16 threads.
Today I will test the Microsoft way for upload ACPI tables via

asl /loadtable dsdt.aml

For this, I change the versionsnumber of the table +1.

Also I will try 2 other AM4 processors on the Asrock B350 board

AM4 Athlon X4 950 (this one has no integrated graphik)
AM4 A8 A8-9600
#754 infuscomus ⇗ @diderius6

This may eventually work- grub2 is loading APIC table at least

I made this APIC table - It freezes on "Setup is Starting Windows"



infuscomus has attached files to this post
#755 diderius6 ⇗ @infuscomus

I see,
that you use very old compiler.
Who knows..

I changed for you the IRQ mode there.

Compile it with the old compiler and try
Dietmar



diderius6 has attached files to this post
#756 diderius6 I loaded up all 3 new tables with the Microsoft tool asl.exe.
In each of the 3 tables tool asl.exe answeres, that table has correct
been overridden.
For me is the problem, that I cant prove this,
because rw-everything told always the same.
But may be rw-everything just cant read new tables.

Something changed to better:
windbg tells
0: kd> !acpiirqarb 
ACPI IRQ Arbiter: fffffffff75ae2a0 Extension: ffffffff8b04c0f8

Link nodes in use: (list head at 8b04c0f88b04c0f8 )

IRQ Hash Table (at ffffffffe19fe890 ):
0009 Count/temp: 00/01 Flags: (edge high) TempFlags(edge high)

Dietmar
#757 diderius6 Nice news:
BSOD 0x7E 0xc0000005 is complete gone.
I think, the strange device ACPI\PNP0A08-0
now gives the new BSOD 0xA5 0x02

Dietmar

EDIT: May be, ACPI\PNP0A08-0 has something to do with PciExpress.
#758 infuscomus ⇗ @diderius6

I edited APIC a bit more, no more freeze or restart, but I'm back to BSOD A5 02 where I started.



infuscomus has attached files to this post
#759 diderius6 I deleted

Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */)  // _HID: Hardware ID


in DSDT, set -r4 for the reversnr of this DSDT table and overload DSDT table new with asl.exe.
Even the asl.exe told, that the DSDT table has been succesfull overridden,
no prove for this.

Now the line
*** Assertion failed: PciInterfacesInstantiated
***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

appears again in windbg
Dietmar
#760 diderius6 ⇗ @infuscomus
Ok, I read whole "with new tables "Bios out.
The DSDT does not change at all,
so question remains, for what the Microsoft asl.exe is good..
Dietmar

EDIT: Oho, I make a mistake. The Bios tables are all as before.
BUT all the new ACPI tables are in some magic way stored in registry(!) of XP.
Until now, I do not find them there, but for sure they are, cool.
#761 diderius6 Here is the prove:
Registry without new tables gives via windbg
ACPI IRQ Arbiter:  fffffffff75ae2a0   Extension: ffffffff8b0d3520
Link nodes in use: (list head at 8b0d35208b0d3520 )
IRQ Hash Table (at ffffffffe19fe890 ):
0009 Count/temp: 00/01 Flags: (level low) TempFlags(level low)

And with new tables loaded via asl.exe in some magic way to registry (NOT(!) Bios)
0: kd> !acpiirqarb
ACPI IRQ Arbiter: fffffffff75ae2a0 Extension: ffffffff8b04c0f8
Link nodes in use: (list head at 8b04c0f88b04c0f8 )
IRQ Hash Table (at ffffffffe19fe890 ):
0009 Count/temp: 00/01 Flags: (edge high) TempFlags(edge high)

Dietmar
#762 infuscomus ⇗ @diderius6

which one gives A5 0x02 BSOD?
#763 diderius6 ⇗ @infuscomus

windbg told A5 0x02 BSOD because of
ACPI\PNP0A08-0

Only ACPI\PNP0A08 is listed in DSDT from the Asrock board,
it is in comment there written as PCIe device.

I take a look in the DSDT from the Am3+ Sabertooth board,
there this line with PNP0A08 does not exist.
And the AM3+ Sabertooth board DSDT is even on AM4 much more XP friendly
than the DSDT from Asrock B350
Dietmar
#764 infuscomus ⇗ @diderius6

XP Friendly

     Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A03") /* PCI Bus */)  // _HID: Hardware ID
           Name (_ADR, 0x00180000)  // _ADR: Address
           Method (^BN00, 0, NotSerialized)
           {
               Return (Zero)
           }

           Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number
           {
               Return (BN00 ())
           }
#765 diderius6 ⇗ @infuscomus

I can change with asl.exe from Microsoft ACPI tables
as much as I want.
I changed nearly everything, but always the message

*** Assertion failed: PciInterfacesInstantiated
***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

appears. The acpi.sys driver is loaded, is started
all seems ok but isnt

Dietmar

PS: I noticed, that the adress for the DSDT table in XP is a little bit different from Win7.
Apic table and FACP are identic in XP and Win7. In Win7 ACPI multiprocessor starts, in XP not.

Now I am sure, that the error is NOT in APIC or in FACP table.

 

Page 52

#766 diderius6 May be the problem is, that there is no XP driver
for the IOMMU device.
Can the option  "iommu=soft" also for XP be given
in grub before boot?
Dietmar
#767 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #765

*** Assertion failed: PciInterfacesInstantiated
***   Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512


proper init PciInterfacesInstantiated variable is in AcpiArbInitializePciRouting()
AcpiArbInitializePciRouting() do IRP request to self (i mean acpi.sys)
some handler inside acpi.sys do jobs with this request and return "not zero"
not zero mean variable still be zero and we skip calling magic "call    dword ptr [esi+8]"
#768 diderius6 ⇗ @Mov AX, 0xDEAD

I think I understand idea for hack:
AcpiArbInitializePciRouting() gives a value 0 back, when all is ok.
And after some work in acpi.sys this work gives a value (starting from 0) not 0.
If this work gives 0, we got BSOD.

But I do not find function AcpiArbInitializePciRouting() and its result.
I can only hack the work in acpi.sys, that the message *** Assertion failed: PciInterfacesInstantiated
is killed,
but then I get again BSOD 0x7E 0xc0000005,
because edi is empty. So, the pointer AcpiArbCrackPRT (I also dont find this word in acpi.sys) is still called

FAULTING_IP:
ACPI!AcpiArbCrackPRT+113
f7578561 ff5710          call    dword ptr [edi+10h]

I dont know, how to set the variable given from AcpiArbInitializePciRouting()  always = 0
Dietmar



diderius6 has attached files to this post
#769 infuscomus ⇗ @diderius6

could the problem be in pci.sys? or is pci.sys never called?
#770 diderius6 ⇗ @infuscomus

Where the real problem is lying in, I dont know, may be errors in Irq settings from chipset B350.
But may be, this can be hacked in acpi.sys.
At the moment I think about, how to change in acpi.sys the conditional jump

jnz     loc_21568  =>  jmp     loc_21568

This is not so easy as before, because this change means in HEX

0F 85 83 00 00 00 => ?? ?? ?? ?? ?? ??

Dietmar


PS: May be ?? ?? ?? ?? ?? ?? = EB 84 90 90 90 90
#771 infuscomus ⇗ @diderius6

where is jnz loc_21568?
is it in AcpiArbInitializePciRouting?
#772 diderius6 ⇗ @infuscomus

Look for Hex values in Debug Acpi.sys
02 0B C3 0F 85 83 00 00 00 80 3D

This is the right place I think, which we can hack.
The conditional jump has to become a forced jump
Dietmar
#773 infuscomus ⇗ @diderius6

in here?

#774 diderius6 ⇗ @infuscomus

This looks complete other than with Ida Pro, but it is the place, which I mean
Dietmar
#775 diderius6 ⇗ @infuscomus

I change

02 0B C3 0F 85 83 00 00 00 80 3D  =>
02 0B C3 E9 84 00 00 00 90 80 3D

now I test
Dietmar
#776 diderius6 First BSOD is gone, but now I get 0x7B, brrr

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 (Fri Jun 14 15:46:56.906 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible
Built by: 2600.xpsp.080413-2133
Machine Name:
Kernel base = 0x80a02000 PsLoadedModuleList = 0x80af5708
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Fri Jun 14 15:46:59.125 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80A02000->80D8DFFF
Fri Jun 14 15:46:59.125 2019 (UTC + 2:00):
Fri Jun 14 15:46:59.125 2019 (UTC + 2:00): MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F
Fri Jun 14 15:47:05.687 2019 (UTC + 2:00):
*** Assertion failed: IopInitHalResources == NULL
*** Source File: d:\xpsp\base\ntos\io\pnpmgr\pnpinit.c, line 1455

Fri Jun 14 15:47:05.687 2019 (UTC + 2:00):
Fri Jun 14 15:47:05.703 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? ii
ii

Fri Jun 14 15:47:05.703 2019 (UTC + 2:00):
Fri Jun 14 15:47:40.531 2019 (UTC + 2:00):
*** Assertion failed: IopInitReservedResourceList == NULL
*** Source File: d:\xpsp\base\ntos\io\pnpmgr\pnpinit.c, line 1456

Fri Jun 14 15:47:40.531 2019 (UTC + 2:00):
Fri Jun 14 15:47:40.546 2019 (UTC + 2:00): Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i
i

Fri Jun 14 15:47:40.546 2019 (UTC + 2:00):
Fri Jun 14 15:47:43.812 2019 (UTC + 2:00):
*** Fatal System Error: 0x0000007b
(0xF789E518,0xC0000034,0x00000000,0x00000000)

Fri Jun 14 15:47:43.843 2019 (UTC + 2:00): 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 (Fri Jun 14 15:47:43.984 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
...........................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck 7B, {f789e518, c0000034, 0, 0}

Probably caused by : ntkrnlmp.exe ( nt!IopMarkBootPartition+f5 )

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

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

INACCESSIBLE_BOOT_DEVICE (7b)
During the initialization of the I/O system, it is possible that the driver
for the boot device failed to initialize the device that the system is
attempting to boot from, or it is possible for the file system that is
supposed to read that device to either fail its initialization or to simply
not recognize the data on the boot device as a file system structure that
it recognizes. In the former case, the argument (#1) is the address of a
Unicode string data structure that is the ARC name of the device from which
the boot was being attempted. In the latter case, the argument (#1) is the
address of the device object that could not be mounted.
If this is the initial setup of the system, then this error can occur if
the system was installed on an unsupported disk or SCSI controller. Note
that some controllers are supported only by drivers which are in the Windows
Driver Library (WDL) which requires the user to do a custom install. See
the Windows Driver Library for more information.
This error can also be caused by the installation of a new SCSI adapter or
disk controller or repartitioning the disk with the system partition. If
this is the case, on x86 systems the boot.ini file must be edited or on ARC
systems setup must be run. See the "Advanced Server System Administrator's
User Guide" for information on changing boot.ini.
If the argument is a pointer to an ARC name string, then the format of the
first two (and in this case only) longwords will be:
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
That is, the first longword will contain something like 00800020 where 20
is the actual length of the Unicode string, and the next longword will
contain the address of buffer. This address will be in system space, so
the high order bit will be set.
If the argument is a pointer to a device object, then the format of the first
word will be:
USHORT Type;
That is, the first word will contain a 0003, where the Type code will ALWAYS
be 0003.
Note that this makes it immediately obvious whether the argument is a pointer
to an ARC name string or a device object, since a Unicode string can never
have an odd number of bytes, and a device object will always have a Type
code of 3.
Arguments:
Arg1: f789e518, Pointer to the device object or Unicode string of ARC name
Arg2: c0000034
Arg3: 00000000
Arg4: 00000000

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


DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0x7B

PROCESS_NAME: System

LAST_CONTROL_TRANSFER: from 80a30d41 to 80ab9138

STACK_TEXT:
f789e080 80a30d41 00000003 f789e3dc 00000000 nt!RtlpBreakWithStatusInstruction
f789e0cc 80a319ac 00000003 80085000 e10171f8 nt!KiBugCheckDebugBreak+0x19
f789e4ac 80a31f3d 0000007b f789e518 c0000034 nt!KeBugCheck2+0x574
f789e4cc 80d1e863 0000007b f789e518 c0000034 nt!KeBugCheckEx+0x1b
f789e634 80d240f6 80085000 00000000 80085000 nt!IopMarkBootPartition+0xf5
f789e684 80d201f1 80085000 f789e6a0 00034000 nt!IopInitializeBootDrivers+0x53e
f789e830 80d1d940 80085000 00000000 8b0c5020 nt!IoInitSystem+0x82d
f789edac 80bc761c 80085000 00000000 00000000 nt!Phase1Initialization+0xb12
f789eddc 80ad9b52 80d1ce2e 80085000 00000000 nt!PspSystemThreadStartup+0x34
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND: kb

FOLLOWUP_IP:
nt!IopMarkBootPartition+f5
80d1e863 8d85e0feffff lea eax,[ebp-120h]

SYMBOL_STACK_INDEX: 4

SYMBOL_NAME: nt!IopMarkBootPartition+f5

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: nt

IMAGE_NAME: ntkrnlmp.exe

DEBUG_FLR_IMAGE_TIMESTAMP: 4802b3ce

FAILURE_BUCKET_ID: 0x7B_nt!IopMarkBootPartition+f5

BUCKET_ID: 0x7B_nt!IopMarkBootPartition+f5

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

0: kd> !acpiinf
Sorry: Unable to get ACPI!AcpiInformation.
dumpAcpiInformation: Could not read ACPI!AcpiInformation
0: kd> !lm
No export lm found
0: kd> lm
start end module name
80100000 80127780 HAL1 (deferred)
80a02000 80d8e000 nt (pdb symbols) c:\symbols\ntkrnlmp.pdb\23BD599C4BEE49C0B7E2E3FD595D2ACB1\ntkrnlmp.pdb
f7412000 f7428880 KSecDD (deferred)
f7429000 f743af00 sr (deferred)
f743b000 f745ab00 fltMgr (deferred)
f745b000 f749b000 storport (deferred)
f749b000 f74b0000 nvme (deferred)
f74b0000 f74c7880 SCSIPORT (deferred)
f74c8000 f74df900 atapi (deferred)
f74e0000 f7505a00 dmio (deferred)
f7506000 f7524d80 ftdisk (deferred)
f75c5000 f75d5a80 pci (deferred)
f75f7000 f7600300 isapnp (deferred)
f7607000 f7611580 MountMgr (deferred)
f7617000 f7624200 VolSnap (deferred)
f7627000 f7637000 asahci32 (deferred)
f7637000 f763fe00 disk (deferred)
f7647000 f7653180 CLASSPNP (deferred)
f7707000 f770d180 PCIIDEX (deferred)
f770f000 f7713d00 PartMgr (deferred)
f7850000 f7869b80 Mup (deferred)
f786a000 f7896980 NDIS (deferred)
f7897000 f789a000 BOOTVID (deferred)
f7987000 f7988b80 kdcom (deferred)
f7989000 f798a100 WMILIB (deferred)
f798b000 f798c700 dmload (deferred)
f7a4f000 f7a4fd00 pciide (deferred)
f7b52000 f7bde600 Ntfs (deferred)
0: kd> !devnode 0 1
Dumping IopRootDeviceNode (= 0x8b08ecc8)
DevNode 0x8b08ecc8 for PDO 0x8b08ee10
InstancePath is "HTREE\ROOT\0"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08e8f0 for PDO 0x8b08ea50
InstancePath is "Root\ACPI_HAL\0000"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e2358 for PDO 0x8b0e3830
InstancePath is "ACPI_HAL\PNP0C08\0"
ServiceName is "ACPI"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e7db0 for PDO 0x8b0e7f10
InstancePath is "Root\dmio\0000"
ServiceName is "dmio"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e7b58 for PDO 0x8b0e7cb8
InstancePath is "Root\ftdisk\0000"
ServiceName is "ftdisk"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e7900 for PDO 0x8b0e7a60
InstancePath is "Root\LEGACY_ACPI\0000"
ServiceName is "ACPI"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e76a8 for PDO 0x8b0e7808
InstancePath is "Root\LEGACY_AFD\0000"
ServiceName is "AFD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e7450 for PDO 0x8b0e75b0
InstancePath is "Root\LEGACY_AMPA\0000"
ServiceName is "ampa"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e71f8 for PDO 0x8b0e7358
InstancePath is "Root\LEGACY_ATAPI\0000"
ServiceName is "atapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d008 for PDO 0x8b0e70c0
InstancePath is "Root\LEGACY_BEEP\0000"
ServiceName is "Beep"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08dc88 for PDO 0x8b08dde8
InstancePath is "Root\LEGACY_DMBOOT\0000"
ServiceName is "dmboot"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08da30 for PDO 0x8b08db90
InstancePath is "Root\LEGACY_DMLOAD\0000"
ServiceName is "dmload"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d7d8 for PDO 0x8b08d938
InstancePath is "Root\LEGACY_FIPS\0000"
ServiceName is "Fips"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d530 for PDO 0x8b08d690
InstancePath is "Root\LEGACY_GPC\0000"
ServiceName is "Gpc"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08d2d8 for PDO 0x8b08d438
InstancePath is "Root\LEGACY_HTTP\0000"
ServiceName is "HTTP"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6008 for PDO 0x8b08d1e0
InstancePath is "Root\LEGACY_IPNAT\0000"
ServiceName is "IpNat"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6db0 for PDO 0x8b0e6f10
InstancePath is "Root\LEGACY_IPSEC\0000"
ServiceName is "IPSec"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6b58 for PDO 0x8b0e6cb8
InstancePath is "Root\LEGACY_KSECDD\0000"
ServiceName is "ksecdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6900 for PDO 0x8b0e6a60
InstancePath is "Root\LEGACY_MNMDD\0000"
ServiceName is "mnmdd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e66a8 for PDO 0x8b0e6808
InstancePath is "Root\LEGACY_MOUNTMGR\0000"
ServiceName is "mountmgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e6450 for PDO 0x8b0e65b0
InstancePath is "Root\LEGACY_NDIS\0000"
ServiceName is "NDIS"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e61f8 for PDO 0x8b0e6358
InstancePath is "Root\LEGACY_NDISTAPI\0000"
ServiceName is "NdisTapi"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08ced8 for PDO 0x8b08c038
InstancePath is "Root\LEGACY_NDISUIO\0000"
ServiceName is "Ndisuio"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08cc80 for PDO 0x8b08cde0
InstancePath is "Root\LEGACY_NDPROXY\0000"
ServiceName is "NDProxy"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08ca28 for PDO 0x8b08cb88
InstancePath is "Root\LEGACY_NETBT\0000"
ServiceName is "NetBT"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c7d0 for PDO 0x8b08c930
InstancePath is "Root\LEGACY_NULL\0000"
ServiceName is "Null"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c578 for PDO 0x8b08c6d8
InstancePath is "Root\LEGACY_NVME\0000"
ServiceName is "nvme"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08c320 for PDO 0x8b08c480
InstancePath is "Root\LEGACY_PARTMGR\0000"
ServiceName is "PartMgr"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5008 for PDO 0x8b08c228
InstancePath is "Root\LEGACY_PARVDM\0000"
ServiceName is "ParVdm"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5db0 for PDO 0x8b0e5f10
InstancePath is "Root\LEGACY_PCIIDE\0000"
ServiceName is "PCIIde"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5b58 for PDO 0x8b0e5cb8
InstancePath is "Root\LEGACY_RASACD\0000"
ServiceName is "RasAcd"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5900 for PDO 0x8b0e5a60
InstancePath is "Root\LEGACY_RDPCDD\0000"
ServiceName is "RDPCDD"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e56a8 for PDO 0x8b0e5808
InstancePath is "Root\LEGACY_TCPIP\0000"
ServiceName is "Tcpip"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e5450 for PDO 0x8b0e55b0
InstancePath is "Root\LEGACY_VGASAVE\0000"
ServiceName is "VgaSave"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b0e51f8 for PDO 0x8b0e5358
InstancePath is "Root\LEGACY_VOLSNAP\0000"
ServiceName is "VolSnap"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08bed8 for PDO 0x8b08b038
InstancePath is "Root\LEGACY_WANARP\0000"
ServiceName is "Wanarp"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8b08bc80 for PDO 0x8b08bde0
InstancePath is "Root\MEDIA\MS_MMACM"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08ba28 for PDO 0x8b08bb88
InstancePath is "Root\MEDIA\MS_MMDRV"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b7d0 for PDO 0x8b08b930
InstancePath is "Root\MEDIA\MS_MMMCI"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b578 for PDO 0x8b08b6d8
InstancePath is "Root\MEDIA\MS_MMVCD"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08b320 for PDO 0x8b08b480
InstancePath is "Root\MEDIA\MS_MMVID"
ServiceName is "audstub"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4008 for PDO 0x8b08b228
InstancePath is "Root\MS_L2TPMINIPORT\0000"
ServiceName is "Rasl2tp"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4db0 for PDO 0x8b0e4f10
InstancePath is "Root\MS_NDISWANIP\0000"
ServiceName is "NdisWan"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4b58 for PDO 0x8b0e4cb8
InstancePath is "Root\MS_PPPOEMINIPORT\0000"
ServiceName is "RasPppoe"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4900 for PDO 0x8b0e4a60
InstancePath is "Root\MS_PPTPMINIPORT\0000"
ServiceName is "PptpMiniport"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e46a8 for PDO 0x8b0e4808
InstancePath is "Root\MS_PSCHEDMP\0000"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e4450 for PDO 0x8b0e45b0
InstancePath is "Root\MS_PSCHEDMP\0001"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e41f8 for PDO 0x8b0e4358
InstancePath is "Root\MS_PSCHEDMP\0002"
ServiceName is "PSched"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08aed8 for PDO 0x8b08a038
InstancePath is "Root\MS_PTIMINIPORT\0000"
ServiceName is "Raspti"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08ac80 for PDO 0x8b08ade0
InstancePath is "Root\PCI_HAL\0000"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08aa28 for PDO 0x8b08ab88
InstancePath is "Root\RDPDR\0000"
ServiceName is "rdpdr"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a7d0 for PDO 0x8b08a930
InstancePath is "Root\RDP_KBD\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a578 for PDO 0x8b08a6d8
InstancePath is "Root\RDP_MOU\0000"
ServiceName is "TermDD"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b08a320 for PDO 0x8b08a480
InstancePath is "Root\SYSTEM\0000"
ServiceName is "swenum"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e3008 for PDO 0x8b08a228
InstancePath is "Root\SYSTEM\0001"
ServiceName is "update"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e3db0 for PDO 0x8b0e3f10
InstancePath is "Root\SYSTEM\0002"
ServiceName is "mssmbios"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
DevNode 0x8b0e16d0 for PDO 0x8b088390
InstancePath is "Root\*PNP0501\1_0_17_0_0_0"
ServiceName is "Serial"
State = DeviceNodeInitialized (0x302)
Previous State = DeviceNodeUninitialized (0x301)
  
#777 infuscomus ⇗ @diderius6

does uniata driver or amd sata 1.2.1.321 driver fix 7B BSOD?
#778 diderius6 ⇗ @infuscomus, ⇗ @Mov AX, 0xDEAD

Yesssssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ,

I got it to work full XP SP3 ACPI Multiprocessor with Ryzen 1700 cpu

8 cpu cores, 16 Threads on the Asrock fatal1ty ab350 gaming k4 board

Dietmar

#779 infuscomus Awesome!

can you help me to do the same?
#780 diderius6 ⇗ @infuscomus
Yes, of course.
Few days ago, I take a look at the source code from Debug acpi.sys for XP SP3.
My problem there was, that I found 2 places for the messages, that windbg always
gives with
*** Assertion failed: PciInterfacesInstantiated
*** Source File: d:\xpsp\base\busdrv\acpi\driver\nt\irqarb.c, line 3512

But today in the morning I get message from ⇗ @Mov AX, 0xDEAD,
that the value 0 is stored only in 1 variable.
Rest is easy, tell XP that this is always 0
Dietmar

PS: I do not change anything in Bios. I do not load any extra Acpi table.
I only use my hacked acpi.sys (may be this can be done with the nondebug version of acpi.sys also)
and after your question about BSOD 0x7B I came to the idea to use my nvme device for boot,
thats all.





diderius6 has attached files to this post

 

Page 53

#781 infuscomus ⇗ @diderius6

I receive different 7E BSOD



are you sure you are running unmodified BIOS?
I'm on unmodified 5.40 bios (has CreateQwordField)
#782 diderius6 ⇗ @infuscomus

This message I know.
It depends on Bios settings.
Now I flash Bios 3.30 new,
for to make 100% sure,
that in Bios is nothing changed
Dietmar
#783 diderius6 ⇗ @infuscomus

I flashed Bios 3.30 new
Acpi Multiprocessor works
Dietmar

PS: Now I try 5.40 with bridge Bios 3.40.
5.70 I do not use, because NO way back via Bios updater!!!
#784 diderius6 ⇗ @infuscomus

Bios 3.40 works also.
Now I try 5.40
Dietmar
#785 infuscomus ⇗ @diderius6

5.40 has CreateQwordField, so you might need to make a patch for ACPI 5048
#786 diderius6 ⇗ @infuscomus

The problem is,
that nvme boot not works on Bios 5.40.
I try from normal harddisk
Dietmar

EDIT: From harddisk I get BSOD 0xA5 0x11,
this means Acpi cant be loaded,
so I need to look for to use my other acpi.sys drivers
Dietmar
#787 infuscomus ⇗ @diderius6

Can you patch non-debug XP or 2003 acpi.sys driver or would ACPI 5048 be the best driver?
#788 diderius6 ⇗ @infuscomus

For me,
best work my own modified acpi.sys from XP SP3.
But until now, I do not succeed to find the new hackplace in this file,
because no names as in debugversion and identical Hexvalues are not there
Dietmar
#789 diderius6 ⇗ @infuscomus

I get now Acpi Multiprocessor to work via normal harddisk at asm106x port.
Bios I flash back for this to vers. 3.30
Dietmar

PS: And how nice, irqs run up to 55.
#790 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #788
@infuscomus

For me,
best work my own modified acpi.sys from XP SP3.
But until now, I do not succeed to find the new hackplace in this file,
because no names as in debugversion and identical Hexvalues are not there
Dietmar


⇗ @diderius6
It's in AcpiArbCrackPRT correct?

Try Relyze disassembler, it shows names

⇗ https://www.relyze.com/download.html
#791 infuscomus ⇗ @diderius6

I think in ACPI 5048, using relyze, AcpiArbCrackPRT is func_0xDFEE
#792 diderius6 ⇗ @infuscomus

This version of Relyze does not work under XP
Dietmar
#793 infuscomus ⇗ @diderius6

do you have any PCs with newer windows to install Relyze disassembler onto?
#794 Mov AX, 0xDEAD
Zitat von ⇗ infuscomus im Beitrag ¶ #790

Try Relyze disassembler, it shows names


Names stored in PDB, without .pdb any disasm show only name of entry point
#795 infuscomus ⇗ @Mov AX, 0xDEAD

well, for whatever reason, Relyze always seems to give me function names (except in acpi.sys 5048)

 

Page 54

#796 diderius6 I have all the Symbols for acpi.sys
but Ida pro shows me no text, only for the debug version
Dietmar

EDIT: I put the acpi.pdb and the acpi.sys file in one folder
and force Ida Pro to use it, now I have text, as much as never before:))!

EDIT2: On the normal acpi.sys this hack seems not to work.

Dietmar
#797 infuscomus ⇗ @diderius6

There are lots of instances of _PciInterfacesInstantiated - do we need to jmp them all?
#798 diderius6 ⇗ @infuscomus

Good question.
Very evil structurated is normal acpi.sys.
The debug version of acpi.sys is clear.
And also funny: Because I have had very small text, not the variable
has been written in code from Ida Pro but only naked Hex with some comments for Debug version.
Because I was used to read this, it was much easier for me than now with
the soso much text via acpi.pdb for the normal acpi.sys
Dietmar



diderius6 has attached files to this post
#799 infuscomus ⇗ @diderius6

I think in non-debug XP acpi.sys

0000BD20  C2 75 4A 8D 55 8B 52 8D 55 8C 52

C2 75 4A 8D 55 8B 52 8D 55 8C 52 =>
C2 EB 4A 8D 55 8B 52 8D 55 8C 52

or in 5048

0000D440  D2 0B C2 75 4A 8D 55 8B 52 8D  

D2 0B C2 75 4A 8D 55 8B 52 8D  =>
D2 0B C2 EB 4A 8D 55 8B 52 8D  

what do you think?
#800 diderius6 ⇗ @infuscomus

I am not sure about. I make 2 different tries, both fail.
Last try was with change on the normal (german) acpi.sys

02 00 75 06 53 E8  => 02 00 75 00 53 E8  and at the same time also
0B C1 74 1D 38 0D => 0B C1 74 00 38 0D

Until the structure of this acpi.sys is not clear, a lot of try and error
we will have
Dietmar
#801 infuscomus ⇗ @diderius6

can you upload AML of your working XP DSDT too for me to try?
#802 infuscomus ⇗ @diderius6

So I just got a 7B BSOD with this acpi.sys 5048 on BIOS 5.40 - without DSDT patch

can you confirm the same result on your AB350 gaming K4 on 5.40?



infuscomus has attached files to this post
#803 diderius6 ⇗ @infuscomus
Here they are the Acpi tables, just fresh from running XP via acpidump, acpixtract
Dietmar



diderius6 has attached files to this post
#804 diderius6 ⇗ @infuscomus

Waaaooohh,
on Bios 3.30 it boots from asm106x harddisk,
Dietmar
PS: Now I try Bios 5.40.



Bios 3.40 works.
#805 infuscomus ⇗ @diderius6

BIOS 3.40 or 5.40?

any luck getting AMD SATA ports to work?
#806 diderius6 ⇗ @infuscomus





Nice, look at the Bios Version.

So, this is until now the best acpi.sys for XP SP3

Dietmar
#807 infuscomus ⇗ @diderius6

excellent!

for sata ASMedia asm106x - which driver version is best?

p.s now we should also fix amd sata too
#808 diderius6 Very easy, the one I send to you!



diderius6 has attached files to this post
#809 infuscomus ⇗ @diderius6

upload driver here please

edit: Thanks very much
#810 diderius6 ⇗ @infuscomus

In Bios 5.40 the network card works without problems.
But no nvme boot possible, no nvme as codevice. Uni-Ata not works. Dont install this, always installs itself wrong new on reboot, brrr..
I tested all drivers from Uni-Ata. So we have to wait for next version.

In Bios 3.30 problem with network card, can be fixed in DSDT,
just look, what they changed for the network card in 5.40 Bios. Uni-Ata not tested.

In Bios 5.40 is a conflict between Hpet and the other clocks, can be solved, just look at the DSDT from the Sabertooth board.

In Bios 3.30 this conflict with Hpet cant be seen, but I think it is there also.

When Standard PC changes to ACPI Multiprocessor, all
devices have to be recogniced new, because we change from PIC to APIC model.
When problems appear, just go via safe mode F8
or use windbg for to see, what is going on

Dietmar

 

Page 55

#811 infuscomus ⇗ @diderius6

can you run a debug session with uniata debug version to try and find the problem?

⇗ http://alter.org.ua/soft/win/uni_ata/BusMaster_v47a_Dbg.rar
#812 diderius6 ⇗ @infuscomus

On Bios 5.40 this uniata version was a fail.
But now I try on Bios 3.30
Dietmar
#813 diderius6 ⇗ @infuscomus

First I get now message

*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
***   Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480

This I have never seen before. It does not crash the compi.
I think it has to with the Irqs, how we call them
Dietmar
#814 infuscomus ⇗ @diderius6

so the uniata driver can not allocate an IRQ?

p.s I test with last official amd_sata 1.2.1.321 for XP/2k3 - 7B BSOD
#815 diderius6 ⇗ @infuscomus

I tested everything,
in Bios 5.40 the Uni-Ata driver
does not work
Dietmar



diderius6 has attached files to this post
#816 infuscomus ⇗ @diderius6

can you try force enabling registry hack?

⇗ http://alter.org.ua/soft/win/uni_ata/registry.php
#817 diderius6 ⇗ @infuscomus
As you can see,
the driver uniata is loaded but does not start
Dietmar

PS: This is Bios 3.30



diderius6 has attached files to this post
#818 infuscomus ⇗ @diderius6

I think force GeomType = 0x00000002 in registry
in debug log GeomType = 0xffffffff is hidden
#819 diderius6 ⇗ @infuscomus
Uni-ata driver crashes whole XP installation, brrr..
ok, I am going to install XP with acpi.sys 5048 new
Dietmar
#820 diderius6 I install XP fresh on the Asrock B350 board.
All is ok, survives reboot.
Only when loaded hacked acpi.sys XP cries,
file wrong..
hit "esc" and continue
Dietmar

#821 infuscomus ⇗ @diderius6

I ran into the same error of XP saying acpi.sys is wrong in a VM

I fixed checksum, OK now

remember to replace acpi.sys in driver.cab file as well



infuscomus has attached files to this post
#822 diderius6 ⇗ @infuscomus
Yes, this I just notice:
Crazy XP changed acpi.sys back to original version on last boot,
I hope that this is last time that I see BSOD 0x7E 0xc0000005 ^^
Dietmar

EDIT: Voila, there is XP SP3 with "ACPI Multiprocessor" fresh after direct installation on the Asrock B350 board.

#823 diderius6 Problem with network card and HPET timer is still there.
Now I make a try to upload the DSDT from 5.40 Bios
with asl.exe direct to registry and we will see
Dietmar
#824 infuscomus ⇗ @diderius6

you got the 7E BSOD because there is a backup copy of acpi.sys stored in driver.cab that setup ended up copying over
#825 diderius6 ⇗ @infuscomus

Yes.

The DSDT (now vers. 3 from Bios 5.40) table upload with asl.exe works:
On next boot I got BSOD 0xA5 0x11,
even I use acpi.sys 5048 modmod version
Dietmar

PS: So, I installed also again "Standard PC",
noticed, that network card there works fantastic, looks in dsdt table from 5.40 Bios.
Then I delete the DSDT table via boot to "Standard PC"

asl /loadtable -d dsdt.aml

and on next boot all is as before,
meaning no BSOD and problem with network card^^.

 

Page 56

#826 infuscomus ⇗ @diderius6

what error code does network card show?
#827 diderius6 ⇗ @infuscomus
No error code at all.
In device manager all is ok, but on task bar yellow exclamationmark.
I got very slow internetconnection, but get.
When I change this card against T-Link Pcie card,
this one works.
So, it depends on DSDT of the Asrockboard or maybe Bios settings.
Until now, I do not find the device name of the Realtek RTL8111GR
in the Asrock B350 board
any one an idea, how this device can be named in DSDT?
I compare DSDT from Bios 3.30 with DSDT from Bios 5.40 but the device for lan I do not find.
I look for nic, lan, eth,..
nothing
Dietmar

EDIT: In Bios I found one place with name Broadcom in it. I extract both from Bios 5.40 and from Bios 3.30. A compare with Winhex shows 100% identic.
Other users with the Asrock B350 board write about the same problem. With Bios 5.40 this is gone, I think via DSDT.

EDIT2: I found the reason for slow Internet: The networkcard has the same Irq 32 as the USB 3.1 hostcontroller
in Bios 3.30.

EDIT3: The TP-Link network card also shares Irq 32 and works good.
So, Irq sharing is not the reason for not work correkt of the RT card.
#828 infuscomus ⇗ @diderius6

now that we have working acpi.sys for XP on AMD Ryzen, is there a possibility of also achieving a working storahci.sys?
#829 diderius6 ⇗ @infuscomus
There exists an AMD driver for the AMD ahci drive.
This needs to be hacked for to work under XP also
Dietmar
#830 infuscomus ⇗ @diderius6

which driver are you referring to?
#831 diderius6 ⇗ @infuscomus
On the Fernando site,
as far as I remember, there was only one unsolved dependency to XP
Dietmar
#832 infuscomus ⇗ @diderius6

there are several versions of AMD driver, which version?
#833 infuscomus ⇗ @diderius6

storahci.sys has no missing dependencies, but it gives a different BSOD
#834 diderius6 I think, it is not for harddisk
Dietmar
#835 infuscomus ⇗ @diderius6

I attach debug versions of storahci and storport - can you load driver and debug?



infuscomus has attached files to this post
#836 diderius6 ⇗ @infuscomus

Both files have unsolved dependencies to ntoskrnl.exe
Dietmar
#837 infuscomus ⇗ @diderius6

only 1 missing

storahci.sys - depends on storport.sys only

storport.sys - missing KeTestSpinLock found in Server 2003 checked ntoskrnl.exe
#838 infuscomus ⇗ @diderius6

normal non-debug storahci.sys gives 7E BSOD
#839 infuscomus ⇗ @diderius6

are you able to debug why nvme driver fails on BIOS 5.40?
maybe it's related to why ahci fails?
#840 diderius6 ⇗ @infuscomus

I read, that edge Interrups are better than level Interrupts. AMD wrote the same about Ryzen.

But then I found this:
"

Consider the scenario where an interrupt IS shared by two devices with the following scenario:

   Device 1 requests service.
   The processor starts serving device 1.
           Device 2 requests service.
   Device 1 no longer requests service.
   The processor finishes serving device 1.
           The processor starts serving device 2.

Here device 1 will assert an interrupt request in step 1. It de-asserts that request in step 5, but the request remains asserted due to step 3.

Now in step 6, if level triggered requests are used, the processor will service the other device since the request level is still asserted. With edge triggered requests, nothing will happen because there will be no new "edge" to be detected. The request remained asserted throughout the scenario. This is a failure of the interrupt system.

This is why only level triggered interrupts, in general. may be shared.
"

Dietmar

 

Page 57

#841 infuscomus ⇗ @diderius6

how do we fix this?
#842 diderius6 ⇗ @infuscomus
The handle of Irqs is a problem of the B350 chipset. I think other AM4 boards too, because no normal XP there.
Only because of that we needed the new hack in acpi.sys.
Now I make a check by check, at which places windbg tells, that there is a problem with Irq.
Hm, how to make windbg search especially for this kind of errors, dont know,
I try.
At the moment we have no DEBUG acpi.sys,
which overcomes the BSODs 0xA5 together with 0x11, 0x02..
like acpi.sys 5048 modmod, last from you
Dietmar
#843 diderius6 ⇗ @infuscomus

First message from windbg about Irqs

*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
***   Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480

Dietmar

EDIT: "The documentation clearly says: This routine can only be called at IRQL
= PASSIVE_LEVEL.

Interrupts are disabled. This is the *equivalent* of running at IRQL
HIGH_LEVEL, without that nasty TPR programming."

sysload.c is in halmacpi.dll but the message may be in ntkrnlmp.exe or in acpi.sys (all debug versions) also.
⇗ https://sysinternals.d4rk4.ru/Informatio...SourceTree.html

'KeGetCurrentIrql() == PASSIVE_LEVEL',0  is in acpi.sys (debug version)

But I think, this message comes not from acpi.sys because in acpi.sys is written
loc_34D12: ; CODE XREF: .text:00034CF7 j
.text:00034D12 inc dword_56D34
.text:00034D18 call ds:KeGetCurrentIrql
.text:00034D1E test al, al
.text:00034D20 jz short loc_34D39
.text:00034D22 push 0
.text:00034D24 push 419h
.text:00034D29 push offset asc_4B070 ; "d:\\xpsp\\base\\busdrv\\acpi\\driver\\amlinew"...
.text:00034D2E push offset aKegetcurren_19 ; "KeGetCurrentIrql() == PASSIVE_LEVEL"
.text:00034D33 call ds:__imp_RtlAssert


EDIT2: This message comes from ntkrnlmp.exe, found it with Ida Pro
PAGE:005884F8 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
PAGE:005884F8
PAGE:005884F8 ; Attributes: bp-based frame
PAGE:005884F8
PAGE:005884F8 ; PVOID __stdcall MmGetSystemRoutineAddress@4(PUNICODE_STRING SystemRoutineName)
PAGE:005884F8 public _MmGetSystemRoutineAddress@4
PAGE:005884F8 _MmGetSystemRoutineAddress@4 proc near
PAGE:005884F8
PAGE:005884F8 var_20 = dword ptr -20h
PAGE:005884F8 var_18 = dword ptr -18h
PAGE:005884F8 var_10 = dword ptr -10h
PAGE:005884F8 var_8 = dword ptr -8
PAGE:005884F8 var_4 = dword ptr -4
PAGE:005884F8 SystemRoutineName= dword ptr 4
PAGE:005884F8 arg_4 = dword ptr 8
PAGE:005884F8
PAGE:005884F8 mov edi, edi
PAGE:005884FA push ebp
PAGE:005884FB mov ebp, esp
PAGE:005884FD sub esp, 20h
PAGE:00588500 push ebx
PAGE:00588501 push esi
PAGE:00588502 push edi
PAGE:00588503 call ds:__imp__KeGetCurrentIrql@0 ; __declspec(dllimport) KeGetCurrentIrql()
PAGE:00588509 xor esi, esi
PAGE:0058850B test al, al
PAGE:0058850D jz short loc_588524
PAGE:0058850F push esi
PAGE:00588510 push 1D38h
PAGE:00588515 push offset asc_5883F4 ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
PAGE:0058851A push offset aKegetcurren_50 ; "KeGetCurrentIrql() == PASSIVE_LEVEL"
PAGE:0058851F call _RtlAssert@16 ; RtlAssert(x,x,x,x)
PAGE:00588524
PAGE:00588524 loc_588524: ; CODE XREF: MmGetSystemRoutineAddress(x)+15 j
PAGE:00588524 push offset off_588438
PAGE:00588529 lea eax, [ebp+var_18]
PAGE:0058852C push eax
PAGE:0058852D mov [ebp+var_4], esi
PAGE:00588530 mov [ebp+var_8], esi
PAGE:00588533 call _RtlInitUnicodeString@8 ; RtlInitUnicodeString(x,x)
PAGE:00588538 push offset off_588454
PAGE:0058853D lea eax, [ebp+var_20]
PAGE:00588540 push eax
PAGE:00588541 call _RtlInitUnicodeString@8 ; RtlInitUnicodeString(x,x)
PAGE:00588546 jmp short loc_588554
PAGE:00588548 ; ---------------------------------------------------------------------------
PAGE:00588548
PAGE:00588548 loc_588548: ; CODE XREF: MmGetSystemRoutineAddress(x)+6C j
PAGE:00588548 push offset _MmShortTime
PAGE:0058854D push esi
PAGE:0058854E push esi
PAGE:0058854F call _KeDelayExecutionThread@12 ; KeDelayExecutionThread(x,x,x)
PAGE:00588554
PAGE:00588554 loc_588554: ; CODE XREF: MmGetSystemRoutineAddress(x)+4E j
PAGE:00588554 push 1
PAGE:00588556 push [ebp+arg_4]
PAGE:00588559 lea eax, [ebp+var_10]
PAGE:0058855C push eax
PAGE:0058855D call _RtlUnicodeStringToAnsiString@12 ; RtlUnicodeStringToAnsiString(x,x,x)
PAGE:00588562 test eax, eax
PAGE:00588564 jl short loc_588548
PAGE:00588566 mov eax, large fs:124h
PAGE:0058856C mov edi, eax
PAGE:0058856E mov eax, large fs:124h
PAGE:00588574 cmp edi, eax
PAGE:00588576 jz short loc_58858D
PAGE:00588578 push esi
PAGE:00588579 push 1D52h
PAGE:0058857E push offset asc_588464 ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
PAGE:00588583 push offset aCurrentthrea_4 ; "CurrentThread == KeGetCurrentThread ()"
PAGE:00588588 call _RtlAssert@16 ; RtlAssert(x,x,x,x)
PAGE:0058858D
PAGE:0058858D loc_58858D: ; CODE XREF: MmGetSystemRoutineAddress(x)+7E j
PAGE:0058858D dec dword ptr [edi+0D4h]
PAGE:00588593 push 1
PAGE:00588595 mov ebx, offset _PsLoadedModuleResource
PAGE:0058859A push ebx
PAGE:0058859B call _ExAcquireResourceSharedLite@8 ; ExAcquireResourceSharedLite(x,x)
PAGE:005885A0 mov esi, _PsLoadedModuleList
PAGE:005885A6 jmp short loc_5885EC
PAGE:005885A8 ; ---------------------------------------------------------------------------
PAGE:005885A8
PAGE:005885A8 loc_5885A8: ; CODE XREF: MmGetSystemRoutineAddress(x)+FA j
PAGE:005885A8 push 1
PAGE:005885AA lea eax, [esi+2Ch]
PAGE:005885AD push eax
PAGE:005885AE lea eax, [ebp+var_18]
PAGE:005885B1 push eax
PAGE:005885B2 call _RtlEqualUnicodeString@12 ; RtlEqualUnicodeString(x,x,x)
PAGE:005885B7 test al, al
PAGE:005885B9 jnz short loc_5885CE
PAGE:005885BB push 1
PAGE:005885BD lea eax, [esi+2Ch]
PAGE:005885C0 push eax
PAGE:005885C1 lea eax, [ebp+var_20]
PAGE:005885C4 push eax
PAGE:005885C5 call _RtlEqualUnicodeString@12 ; RtlEqualUnicodeString(x,x,x)
PAGE:005885CA test al, al
PAGE:005885CC jz short loc_5885EA
PAGE:005885CE
PAGE:005885CE loc_5885CE: ; CODE XREF: MmGetSystemRoutineAddress(x)+C1 j
PAGE:005885CE inc [ebp+var_4]
PAGE:005885D1 lea eax, [ebp+var_10]
PAGE:005885D4 push eax
PAGE:005885D5 push dword ptr [esi+18h]
PAGE:005885D8 call _MiFindExportedRoutineByName@8 ; MiFindExportedRoutineByName(x,x)
PAGE:005885DD test eax, eax
PAGE:005885DF mov [ebp+var_8], eax
PAGE:005885E2 jnz short loc_5885F4
PAGE:005885E4 cmp [ebp+var_4], 2
PAGE:005885E8 jz short loc_5885F4
PAGE:005885EA
PAGE:005885EA loc_5885EA: ; CODE XREF: MmGetSystemRoutineAddress(x)+D4 j
PAGE:005885EA mov esi, [esi]
PAGE:005885EC
PAGE:005885EC loc_5885EC: ; CODE XREF: MmGetSystemRoutineAddress(x)+AE j
PAGE:005885EC cmp esi, offset _PsLoadedModuleList
PAGE:005885F2 jnz short loc_5885A8
PAGE:005885F4
PAGE:005885F4 loc_5885F4: ; CODE XREF: MmGetSystemRoutineAddress(x)+EA j
PAGE:005885F4 ; MmGetSystemRoutineAddress(x)+F0 j
PAGE:005885F4 mov ecx, ebx
PAGE:005885F6 call @ExReleaseResourceLite@4 ; ExReleaseResourceLite(x)
PAGE:005885FB mov eax, large fs:124h
PAGE:00588601 cmp edi, eax
PAGE:00588603 jz short loc_58861B
PAGE:00588605 push 0
PAGE:00588607 push 1D84h
PAGE:0058860C push offset asc_5884AC ; "d:\\xpsp\\base\\ntos\\mm\\sysload.c"
PAGE:00588611 push offset aCurrentthrea_5 ; "CurrentThread == KeGetCurrentThread ()"
PAGE:00588616 call _RtlAssert@16 ; RtlAssert(x,x,x,x)
PAGE:0058861B
PAGE:0058861B loc_58861B: ; CODE XREF: MmGetSystemRoutineAddress(x)+10B j
PAGE:0058861B inc dword ptr [edi+0D4h]
PAGE:00588621 jnz short loc_588636
PAGE:00588623 lea eax, [edi+34h]
PAGE:00588626 cmp [eax], eax
PAGE:00588628 jz short loc_588636
PAGE:0058862A mov cl, 1
PAGE:0058862C mov byte ptr [edi+49h], 1
PAGE:00588630 call ds:__imp_@HalRequestSoftwareInterrupt@4 ; __declspec(dllimport) HalRequestSoftwareInterrupt(x)
PAGE:00588636
PAGE:00588636 loc_588636: ; CODE XREF: MmGetSystemRoutineAddress(x)+129 j
PAGE:00588636 ; MmGetSystemRoutineAddress(x)+130 j
PAGE:00588636 lea eax, [ebp+var_10]
PAGE:00588639 push eax
PAGE:0058863A call _RtlFreeAnsiString@4 ; RtlFreeAnsiString(x)
PAGE:0058863F mov eax, [ebp+var_8]
PAGE:00588642 pop edi
PAGE:00588643 pop esi
PAGE:00588644 pop ebx
PAGE:00588645 leave
PAGE:00588646 retn 4
PAGE:00588646 _MmGetSystemRoutineAddress@4 endp ; sp = 4
PAGE:00588646
PAGE:00588646 ; ---------------------------------------------------------------------------
PAGE:00588649 db 0CCh ; ¦
PAGE:0058864A asc_58864A db 'EX: Pageable code called at IRQL %d',0Ah,0
PAGE:0058864A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+21 o
PAGE:0058866F db 0
PAGE:00588670 db 0
PAGE:00588671 db 0
PAGE:00588672 asc_588672 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588672 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+35 o
PAGE:00588691 db 0
PAGE:00588692 asc_588692 db 'FALSE',0 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+3A o
PAGE:00588698 db 0
PAGE:00588699 db 0
PAGE:0058869A asc_58869A db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:0058869A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+B0 o
PAGE:005886B9 db 0
PAGE:005886BA aNameprefixNull db 'NamePrefix == NULL',0
PAGE:005886BA ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+B5 o
PAGE:005886CD db 0
PAGE:005886CE asc_5886CE db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:005886CE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+CA o
PAGE:005886ED db 0
PAGE:005886EE aLoadedbasename db 'LoadedBaseName == NULL',0
PAGE:005886EE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+CF o
PAGE:00588705 db 0
PAGE:00588706 asc_588706 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588706 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+10A o
PAGE:00588725 db 0
PAGE:00588726 aMmisaddressv_5 db 'MmIsAddressValid (MmSessionSpace) == TRUE',0
PAGE:00588726 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+10F o
PAGE:00588750 db 0
PAGE:00588751 db 0
PAGE:00588752 aInSessionSpace db 'in session space',0 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+22B o
PAGE:00588763 db 0
PAGE:00588764 db 0
PAGE:00588765 db 0
PAGE:00588766 asc_588766: ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+232 o
PAGE:00588766 unicode 0, < >,0
PAGE:0058876A aMmSysldrLoadin db 'MM:SYSLDR Loading %wZ (%wZ) %s',0Ah,0
PAGE:0058876A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+240 o
PAGE:0058878A asc_58878A db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:0058878A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+270 o
PAGE:005887A9 db 0
PAGE:005887AA asc_5887AA db 'CurrentThread == KeGetCurrentThread ()',0
PAGE:005887AA ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+275 o
PAGE:005887D1 db 0
PAGE:005887D2 asc_5887D2 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:005887D2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+2DC o
PAGE:005887F1 db 0
PAGE:005887F2 aAlreadyopenTru db 'AlreadyOpen == TRUE || NextEntry == &PsLoadedModuleList',0
PAGE:005887F2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+2E1 o
PAGE:0058882A aMmloadsystemim db 'MmLoadSystemImage: Pulled %wZ from kd',0Ah,0
PAGE:0058882A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+31E o
PAGE:00588851 db 0
PAGE:00588852 aMiloadimagesec db 'MiLoadImageSection: cannot open %wZ',0Ah,0
PAGE:00588852 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+380 o
PAGE:00588877 db 0
PAGE:00588878 db 0
PAGE:00588879 db 0
PAGE:0058887A asc_58887A db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:0058887A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+3B0 o
PAGE:00588899 db 0
PAGE:0058889A asc_58889A db 'CurrentThread == KeGetCurrentThread ()',0
PAGE:0058889A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+3B5 o
PAGE:005888C1 db 0
PAGE:005888C2 asc_5888C2 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:005888C2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+641 o
PAGE:005888E1 db 0
PAGE:005888E2 aAlreadyopenT_0 db 'AlreadyOpen == TRUE',0
PAGE:005888E2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+646 o
PAGE:005888F6 asc_5888F6 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:005888F6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+65B o
PAGE:00588915 db 0
PAGE:00588916 aLoadflagsMm_lo db 'LoadFlags & MM_LOAD_IMAGE_IN_SESSION',0
PAGE:00588916 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+660 o
PAGE:0058893B db 0
PAGE:0058893C db 0
PAGE:0058893D db 0
PAGE:0058893E asc_58893E db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:0058893E ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+674 o
PAGE:0058895D db 0
PAGE:0058895E aDatatableentry db 'DataTableEntry != NULL',0
PAGE:0058895E ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+679 o
PAGE:00588975 db 0
PAGE:00588976 asc_588976 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588976 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+690 o
PAGE:00588995 db 0
PAGE:00588996 aDatatableent_0 db 'DataTableEntry->LoadCount > 1',0
PAGE:00588996 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+695 o
PAGE:005889B4 db 0
PAGE:005889B5 db 0
PAGE:005889B6 aPppagepathassi db 'PpPagePathAssign FAILED for win32k.sys: %x',0Ah,0
PAGE:005889B6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+6DA o
PAGE:005889E2 asc_5889E2 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:005889E2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+717 o
PAGE:00588A01 db 0
PAGE:00588A02 aDatatableent_1 db 'DataTableEntry != NULL',0
PAGE:00588A02 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+71C o
PAGE:00588A19 db 0
PAGE:00588A1A aMmSessionDImag db 'MM: Session %d image %wZ is linked at a nonsharable address '
PAGE:00588A1A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+76D o
PAGE:00588A1A db '(%p)',0Ah,0
PAGE:00588A5C db 0
PAGE:00588A5D db 0
PAGE:00588A5E db 0
PAGE:00588A5F db 0
PAGE:00588A60 db 0
PAGE:00588A61 db 0
PAGE:00588A62 aMmImageWzHasBe db 'MM: Image %wZ has been moved to address (%p) by the system s'
PAGE:00588A62 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+77C o
PAGE:00588A62 db 'o it can run,',0Ah,0
PAGE:00588AAD db 0
PAGE:00588AAE db 0
PAGE:00588AAF db 0
PAGE:00588AB0 db 0
PAGE:00588AB1 db 0
PAGE:00588AB2 aButThisNeedsTo db ' but this needs to be fixed in the image for sharing to occu'
PAGE:00588AB2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+786 o
PAGE:00588AB2 db 'r.',0Ah,0
PAGE:00588AF2 aSysldr db 'SYSLDR',0 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+7A1 o
PAGE:00588AF9 db 0
PAGE:00588AFA db 4Dh ; M
PAGE:00588AFB db 4Dh ; M
PAGE:00588AFC db 3Ah ; :
PAGE:00588AFD db 73h ; s
PAGE:00588AFE db 79h ; y
PAGE:00588AFF db 73h ; s
PAGE:00588B00 db 6Ch ; l
PAGE:00588B01 db 6Fh ; o
PAGE:00588B02 db 61h ; a
PAGE:00588B03 db 64h ; d
PAGE:00588B04 db 20h
PAGE:00588B05 db 2Dh ; -
PAGE:00588B06 db 20h
PAGE:00588B07 db 4Ch ; L
PAGE:00588B08 db 64h ; d
PAGE:00588B09 db 72h ; r
PAGE:00588B0A db 52h ; R
PAGE:00588B0B db 65h ; e
PAGE:00588B0C db 6Ch ; l
PAGE:00588B0D db 6Fh ; o
PAGE:00588B0E db 63h ; c
PAGE:00588B0F db 61h ; a
PAGE:00588B10 db 74h ; t
PAGE:00588B11 db 65h ; e
PAGE:00588B12 db 49h ; I
PAGE:00588B13 db 6Dh ; m
PAGE:00588B14 db 61h ; a
PAGE:00588B15 db 67h ; g
PAGE:00588B16 db 65h ; e
PAGE:00588B17 db 20h
PAGE:00588B18 db 66h ; f
PAGE:00588B19 db 61h ; a
PAGE:00588B1A db 69h ; i
PAGE:00588B1B db 6Ch ; l
PAGE:00588B1C db 65h ; e
PAGE:00588B1D db 64h ; d
PAGE:00588B1E db 20h
PAGE:00588B1F db 73h ; s
PAGE:00588B20 db 74h ; t
PAGE:00588B21 db 61h ; a
PAGE:00588B22 db 74h ; t
PAGE:00588B23 db 75h ; u
PAGE:00588B24 db 73h ; s
PAGE:00588B25 db 20h
PAGE:00588B26 db 25h ; %
PAGE:00588B27 db 6Ch ; l
PAGE:00588B28 db 78h ; x
PAGE:00588B29 db 0Ah
PAGE:00588B2A db 0
PAGE:00588B2B db 0
PAGE:00588B2C db 0
PAGE:00588B2D db 0
PAGE:00588B2E db 4Dh ; M
PAGE:00588B2F db 4Dh ; M
PAGE:00588B30 db 3Ah ; :
PAGE:00588B31 db 73h ; s
PAGE:00588B32 db 79h ; y
PAGE:00588B33 db 73h ; s
PAGE:00588B34 db 6Ch ; l
PAGE:00588B35 db 6Fh ; o
PAGE:00588B36 db 61h ; a
PAGE:00588B37 db 64h ; d
PAGE:00588B38 db 20h
PAGE:00588B39 db 2Dh ; -
PAGE:00588B3A db 20h
PAGE:00588B3B db 52h ; R
PAGE:00588B3C db 65h ; e
PAGE:00588B3D db 73h ; s
PAGE:00588B3E db 6Fh ; o
PAGE:00588B3F db 6Ch ; l
PAGE:00588B40 db 76h ; v
PAGE:00588B41 db 65h ; e
PAGE:00588B42 db 49h ; I
PAGE:00588B43 db 6Dh ; m
PAGE:00588B44 db 61h ; a
PAGE:00588B45 db 67h ; g
PAGE:00588B46 db 65h ; e
PAGE:00588B47 db 52h ; R
PAGE:00588B48 db 65h ; e
PAGE:00588B49 db 66h ; f
PAGE:00588B4A db 65h ; e
PAGE:00588B4B db 72h ; r
PAGE:00588B4C db 65h ; e
PAGE:00588B4D db 6Eh ; n
PAGE:00588B4E db 63h ; c
PAGE:00588B4F db 65h ; e
PAGE:00588B50 db 73h ; s
PAGE:00588B51 db 20h
PAGE:00588B52 db 66h ; f
PAGE:00588B53 db 61h ; a
PAGE:00588B54 db 69h ; i
PAGE:00588B55 db 6Ch ; l
PAGE:00588B56 db 65h ; e
PAGE:00588B57 db 64h ; d
PAGE:00588B58 db 20h
PAGE:00588B59 db 73h ; s
PAGE:00588B5A db 74h ; t
PAGE:00588B5B db 61h ; a
PAGE:00588B5C db 74h ; t
PAGE:00588B5D db 75h ; u
PAGE:00588B5E db 73h ; s
PAGE:00588B5F db 20h
PAGE:00588B60 db 25h ; %
PAGE:00588B61 db 78h ; x
PAGE:00588B62 db 0Ah
PAGE:00588B63 db 0
PAGE:00588B64 db 0
PAGE:00588B65 db 0
PAGE:00588B66 asc_588B66 db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588B66 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BBE o
PAGE:00588B85 db 0
PAGE:00588B86 aMissingprocedu db 'MissingProcedureName == NULL',0
PAGE:00588B86 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BC3 o
PAGE:00588BA3 db 0
PAGE:00588BA4 db 0
PAGE:00588BA5 db 0
PAGE:00588BA6 aMissingproce_0 db 'MissingProcedureName %s',0Ah,0
PAGE:00588BA6 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+BEF o
PAGE:00588BBF db 0
PAGE:00588BC0 db 0
PAGE:00588BC1 db 0
PAGE:00588BC2 aMissingproce_1 db 'MissingProcedureName 0x%p',0Ah,0
PAGE:00588BC2 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x):loc_5898D4 o
PAGE:00588BDD db 0
PAGE:00588BDE aMissingdrivern db 'MissingDriverName %ws',0Ah,0
PAGE:00588BDE ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+C0D o
PAGE:00588BF5 db 0
PAGE:00588BF6 off_588BF6 dd offset loc_53005B+1 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+CCB o
PAGE:00588BFA db 79h ; y
PAGE:00588BFB db 0
PAGE:00588BFC db 73h ; s
PAGE:00588BFD db 0
PAGE:00588BFE db 74h ; t
PAGE:00588BFF db 0
PAGE:00588C00 db 65h ; e
PAGE:00588C01 db 0
PAGE:00588C02 db 6Dh ; m
PAGE:00588C03 db 0
PAGE:00588C04 db 52h ; R
PAGE:00588C05 db 0
PAGE:00588C06 db 6Fh ; o
PAGE:00588C07 db 0
PAGE:00588C08 db 6Fh ; o
PAGE:00588C09 db 0
PAGE:00588C0A db 74h ; t
PAGE:00588C0B db 0
PAGE:00588C0C db 0
PAGE:00588C0D db 0
PAGE:00588C0E unk_588C0E db 25h ; % ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+D09 o
PAGE:00588C0F db 77h ; w
PAGE:00588C10 db 73h ; s
PAGE:00588C11 db 25h ; %
PAGE:00588C12 db 77h ; w
PAGE:00588C13 db 5Ah ; Z
PAGE:00588C14 db 0
PAGE:00588C15 db 0
PAGE:00588C16 off_588C16 dd offset aHandleinfoSing+25h
PAGE:00588C16 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+D1F o
PAGE:00588C1A asc_588C1A db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588C1A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+DF3 o
PAGE:00588C39 db 0
PAGE:00588C3A aDatatableent_2 db 'DataTableEntry->LoadCount > 1',0
PAGE:00588C3A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+DF8 o
PAGE:00588C58 db 0
PAGE:00588C59 db 0
PAGE:00588C5A asc_588C5A db 'd:\xpsp\base\ntos\mm\sysload.c',0
PAGE:00588C5A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+E42 o
PAGE:00588C79 db 0
PAGE:00588C7A asc_588C7A db 'CurrentThread == KeGetCurrentThread ()',0
PAGE:00588C7A ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+E47 o
PAGE:00588CA1 db 0
PAGE:00588CA2 off_588CA2 dd offset loc_610060+3 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x):loc_589BAE o
PAGE:00588CA6 db 6Eh ; n
PAGE:00588CA7 db 0
PAGE:00588CA8 db 6Eh ; n
PAGE:00588CA9 db 0
PAGE:00588CAA db 6Fh ; o
PAGE:00588CAB db 0
PAGE:00588CAC db 74h ; t
PAGE:00588CAD db 0
PAGE:00588CAE db 20h
PAGE:00588CAF db 0
PAGE:00588CB0 db 66h ; f
PAGE:00588CB1 db 0
PAGE:00588CB2 db 69h ; i
PAGE:00588CB3 db 0
PAGE:00588CB4 db 6Eh ; n
PAGE:00588CB5 db 0
PAGE:00588CB6 db 64h ; d
PAGE:00588CB7 db 0
PAGE:00588CB8 db 0
PAGE:00588CB9 db 0
PAGE:00588CBA off_588CBA dd offset loc_610066 ; DATA XREF: MmLoadSystemImage(x,x,x,x,x,x)+F8E o
PAGE:00588CBE db 69h ; i
PAGE:00588CBF db 0
PAGE:00588CC0 db 6Ch ; l
PAGE:00588CC1 db 0
PAGE:00588CC2 db 65h ; e
PAGE:00588CC3 db 0
PAGE:00588CC4 db 64h ; d
PAGE:00588CC5 db 0
PAGE:00588CC6 db 20h
PAGE:00588CC7 db 0
PAGE:00588CC8 db 74h ; t
PAGE:00588CC9 db 0
PAGE:00588CCA db 6Fh ; o
PAGE:00588CCB db 0
PAGE:00588CCC db 20h
PAGE:00588CCD db 0
PAGE:00588CCE db 6Ch ; l
PAGE:00588CCF db 0
PAGE:00588CD0 db 6Fh ; o
PAGE:00588CD1 db 0
PAGE:00588CD2 db 61h ; a
PAGE:00588CD3 db 0
PAGE:00588CD4 db 64h ; d
PAGE:00588CD5 db 0
PAGE:00588CD6 db 0
PAGE:00588CD7 db 0
PAGE:00588CD8 db 0CCh ; ¦
PAGE:00588CD9 db 0CCh ; ¦
PAGE:00588CDA db 0CCh ; ¦
PAGE:00588CDB db 0CCh ; ¦
PAGE:00588CDC db 0CCh ; ¦
PAGE:00588CDD db 0CCh ; ¦
PAGE:00588CDE
  
#844 infuscomus ⇗ @diderius6

for debugging
we could hack debug acpi.sys from server 2003 with the same hacks we used for 5048, but it will only work for server 2003
#845 diderius6 ⇗ @infuscomus
I think, Longhorn-Vista 5048 is server 2003.
May be, the acpi.sys 5048 modmod is enough for debugging
Dietmar
#846 diderius6 This are next error messages from windbg

*** Assertion failed: ((Timer)->Header.Type == TimerNotificationObject) || ((Timer)->Header.Type == TimerSynchronizationObject)
***   Source File: d:\xpsp\base\ntos\ke\timerobj.c, line 195

*** Assertion failed: (MemoryDescriptorList->MdlFlags & ( MDL_MAPPED_TO_SYSTEM_VA | MDL_SOURCE_IS_NONPAGED_POOL | MDL_PARTIAL_HAS_BEEN_MAPPED)) == 0
***   Source File: d:\xpsp\base\ntos\mm\iosup.c, line 3542

*** Assertion failed: (MemoryDescriptorList->MdlFlags & ( MDL_PAGES_LOCKED | MDL_PARTIAL)) != 0
***   Source File: d:\xpsp\base\ntos\mm\iosup.c, line 3546
#847 infuscomus ⇗ @diderius6

so there is a problem in ntoskrnl?
#848 diderius6 ⇗ @infuscomus

I do not know. For sure there is a problem with setting Irqs on AM4 boards.
The most crazy is, that with !MAPIC windbg told you, that it is empty,
even now with running XP Acpi Multiprocessor
Dietmar

PS: I found out, that Irq with "edge" setting has always exclusive Irq (means each device has its own Irq).
Irq with "level" setting can have share or exclusive Irq.
The most crazy things happen, when 2 devices share one Irq
and one of them is "edge" and the other "level", because this one with "edge"
thinks, there cant be another device with same Irq.
And I do not understand the message from ntkrnlmp.exe very early in boot process,
that

*** Assertion failed: KeGetCurrentIrql() == PASSIVE_LEVEL
*** Source File: d:\xpsp\base\ntos\mm\sysload.c, line 7480

This looks like, if the whole system after this runs without any Irqs.

EDIT: I know that certain operations can only be performed at IRQL PASSIVE_LEVEL.
Microsoft has this sample code of how to write to a file from a kernel driver:

if (KeGetCurrentIrql() != PASSIVE_LEVEL)
   return STATUS_INVALID_DEVICE_STATE;
#849 infuscomus ⇗ @diderius6

can we somehow force hardware to use "edge" IRQs?
#850 diderius6 ⇗ @infuscomus

In the DSDT table should (?) the hardwired devices from the board are listened.
For the hardwired networkcard RTL8111GR from the Asrock B350 board I do not find an device entry there!
And when you use another networkcard like the TP-Link, the Irq setting is described in their software I think.
So, I do not know, if this setting for Irq (level, edge) can be changed without problems for any hardware
Dietmar
#851 infuscomus ⇗ @diderius6

maybe BIOS 5.40 is using a newer network OpROM?
#852 infuscomus ⇗ @diderius6

also,
any luck with patching AMD AHCI driver 1.2.1.402?
we need to patch
PoUnregisterPowerSettingCallback
PoRegisterPowerSettingCallback
#853 diderius6 ⇗ @infuscomus
The broadcom is only at 1 place in Bios.
They are identic for 3.30 and 5.40 Bios.
Dietmar

PS: Now I have to work. Yes, to try patch for the AMD AHCI driver 1.2.1.402
would be possible way, but I dont know how hard it is.
May be it is enough just to delete this functions.
#854 infuscomus ⇗ @diderius6

I'm not sure how to properly delete a function

p.s I thought the network chip was a realtek?
#855 infuscomus ⇗ @diderius6

I made attempt to load AMD AHCI driver

first I attempted to load
amd_sata - from 1.2.1.402 with
amd_xata - from 1.2.1.321 - this resulted in 7F BSOD - Kernel Trap

next I try to patch out PoRegisterPowerSettingCallback PoUnregisterPowerSettingCallback from amd_xata.sys

uploaded if you want to test for yourself



infuscomus has attached files to this post

 

Page 58

#856 diderius6 ⇗ @infuscomus
It can be done with blackwingcat's PEMaker,
if those 2 functions do nothing importand else
Dietmar
#857 infuscomus ⇗ @diderius6

I attempted to load my modded 1.2.1.402 driver

7B BSOD

:(
#858 diderius6 ⇗ @infuscomus
Have you just deleted the 2 functions with blackwingcat's PEMaker
Dietmar
#859 infuscomus ⇗ @diderius6

I changed the dword ptr that calls the function and I redirect the imports PoRegisterPowerSettingCallback PoUnregisterPowerSettingCallback to DbgPrint
#860 infuscomus ⇗ @diderius6

I recall you mentioning mixing scsiport and storport on the same system is bad?
#861 diderius6 ⇗ @infuscomus
Have you done a dependency check with Dependency Walker?
No red is allowed there.
Yes, but now I know about scsiport and storport, that they can work at the same time
Dietmar
#862 infuscomus ⇗ @diderius6

yes, I checked with dependency walker - all green

check my attachment earlier for yourself if you do not believe me
#863 infuscomus ⇗ @diderius6

known working driver storahci - gives 7F BSOD - Kernel Trap - in XP

can this be debugged?
#864 diderius6 ⇗ @infuscomus
This storport 5.2.3790.3959  driver will not work together with nvme, because therefor you need storport vers. 5.2.3790.4173.
But maybe storport vers. 5.2.3790.4173 works with the storahci.sys driver.
In any case you need an storahci.inf for this.
Both need KeTestSpinLock function from ntoskrnl.exe, it is in WinServer2003
but not in XP kernel.
So, you have to cancel this KeTestSpinLock function or maximum it will work with WinServer2003
Dietmar
#865 infuscomus ⇗ @diderius6

If you have a WinServer2003 debug setup available, can you debug storahci?
#866 diderius6 ⇗ @infuscomus
Today and tomorrow I have a lot of work for school because of examen.
Make a try, install windbg and test via WinServer debug storahci.
But for this you need registry entries or a working *.inf file
Dietmar
#867 infuscomus ⇗ @diderius6

good luck with your exams!

I think maybe this is the right .inf file? it contains reference to storahci (i could not find a storahci.inf)



infuscomus has attached files to this post
#868 diderius6 ⇗ @infuscomus

I think yes, but you have to add your Ven_&Dev_  id for your ahci controller to this *.inf file
Dietmar
#869 diderius6 ⇗ @infuscomus
In very short time we will have Storahci x86 and x64 for all AHCI controllers under XP
Dietmar
#870 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #869

In very short time we will have Storahci x86 and x64 for all AHCI controllers under XP


is this storahci from which os ?

 

Page 59

#871 diderius6 Win8
#872 infuscomus ⇗ @diderius6

I tried to patch pciidex.sys of windows 7 to work with XP, so that I would be able to use msahci.sys of windows 7 with XP (msahci of win7 detects all drives properly)

attempted patch of pciidex.sys result is BSOD 7F - 0D
0x0000000D -- An exception not covered by some other exception; a protection fault that pertains to access violations for applications

same BSOD as storahci.sys

maybe there is something in driver that prevents modification that we need to find?
#873 diderius6 ⇗ @infuscomus,  ⇗ @Mov AX, 0xDEAD

Here is storahci driver 32 and 64 bit.
Please test on your compi under XP / win2003

Dietmar

PS: I tested it on the Asrock Ryzen B350 board
    with ahci device VEN_1022 DEV_43B7, works, just nice!
Before installing the storahci driver, you need to copy by hand this storport.sys from nvme device to
folder windows\system32\drivers



diderius6 has attached files to this post
#874 infuscomus ⇗ @diderius6

I have a slightly newer version of 2003 storport 5.2.3790.4485

can I use this version? or I must use 5.2.3790.4173?



infuscomus has attached files to this post
#875 infuscomus ⇗ @diderius6

I've got only a SATA WD Green 120gb m.2 drive in m.2 slot and a separate JMicron card with non-ahci IDE BIOS for installation media connected to the motherboard and nothing else
(except some cables going to empty hot swap bays - should i remove these?)

I integrated storport.sys and storahci.sys and relevant HWIDs manually into txtsetup.sif and added storahci.reg entries into setupreg.hiv

boot into XP setup - 7B BSOD!! argh!!!

edit:
if i send you a copy of my installation media ISO can you check if i have integrated correctly?
#876 diderius6 ⇗ @infuscomus

About storport:
Kai Schtrom makes a check with Ida Pro,
which functions are needed. This was new to me,
because I always think, that Dependency Walker is enough.
But now I understand: Dependency Walker with only "green" is necessary
but not sufficient. The only version of storport that I know with all needed functions
is the storport.sys 5.2.3790.4173 which I sent here.
You can compare it with storport from Vista (has some more functions but also not all) and from Win7 (has all).
Have you tested the storahci, which I sent on your board
Dietmar

PS: The empty slots do nothing. May be, the signal is worse a little bit, but unimportand.
You can use my generic *.inf from Reactos with

[STORAHCI.NTx86]
%SATA_AHCI.DeviceDesc%=storahci_Inst, PCI\CC_010601; Standard SATA AHCI Controller

Next ist USB.

Why you try to make in first step installations media?
I think, if you do so, via txtsetup.oem or nlite it is easier.
Much more easy is to test new version of driver on working XP.
I always go this way, because so you have all possibilities to see,
what works and what not. Install windbg for this.
#877 diderius6 ⇗ @infuscomus

How do you correct checksum in acpi.sys 5048
for to make it XP installations friendly
Dietmar

PS: Can you install with this checksum correct checksum acpi.sys now normal via CD or *.iso file
XP on Ryzen without crying from XP, that acpi.sys is wrong?
#878 infuscomus ⇗ @diderius6

I use CFF explorer to fix the checksum

⇗ https://ntcore.com/?page_id=388

It fixes acpi.sys is wrong error (at least in a VM)
remember to replace acpi.sys in driver.cab too

I have not yet managed to do a successful install of XP on Ryzen - either A5 BSOD (solved) or 7B BSOD (not solved)
#879 diderius6 ⇗ @infuscomus

1.) Extract full content of XP CD to a folder.

2.) Change there in folder i386 acpi.sy_ against modded acpi.sy_ (compressed files with makecab.exe).

3.) Integrate with nlite the driver for asm106x, which I send.

If you have an XP SP3 installation. If other versions of XP, also integrate update pack to XP SP3.

Make winlite.iso.

Burn winlite.iso to CD and install on Ryzen board with a connected harddisk at asmedia 106x slot (first black in row of 4)
Dietmar
#880 infuscomus ⇗ @diderius6

OK,

Do you mind if I send you my modified installation ISO for you to check?

p.s if possible, I would like to install xp onto the m.2 sata drive
#881 diderius6 ⇗ @infuscomus
Test install on m.2 sata drive, I just make new txtsetup.oem for this
Dietmar

PS: You have to copy this version of storport.sys first into i386 installations folder also,
and again after first reboot, because crazy installation deleted it,
because XP does not have an own storport.sys.



diderius6 has attached files to this post
#882 infuscomus ⇗ @diderius6

Thanks,

I will test
#883 diderius6 ⇗ @infuscomus
I just test install XP SP3 with new txtsetup.oem on normal AMD sata slot (not asm106x),
works nice
Dietmar

PS: But I still get message, that acpi.sys is wrong.
It is not a big problem because of hit "Esc" on keyboard,
but how to make this acpi.sys that XP likes:)) it?

After 1. reboot I get message 0x7B, it is normal, because XP deleted storport.sys
in windows\system32\drivers
so you have to copy storport.sys there by hand again.
#884 infuscomus ⇗ @diderius6

I sent you an email with my XP installation media.

can you test it? see if it works for you?
let me know of any problems you find
#885 diderius6 ⇗ @infuscomus

I am just downloading,
slow, needs 30 min:)).
Then I compare it with Beyond Compare 2
and try to install.
I am 100% sure,
that we will have an XP SP3 installation,
which works on any compi and can be installed everywhere there,
I think even via COM1 port^^
Dietmar

 

Page 60

#886 diderius6 About the rtl8111gr network chip on the Asrock B350 motherboard.
I just see, that the chip on the TP-Link adapter is identic
to this one on the Asrock board.
Now I am sure, that it is a design error on the Asrock board.
With the same driver, the rtl8111gr works without problem
on another PCIe slot with the same IRQ 32
But it does not work as inbuild chip on Bios 3.30
Dietmar
#887 diderius6 ⇗ @infuscomus
Soso much drivers on this XP.iso.
I found the error:
You make a mistake in .SIF file for STORAHCI.
Why just dont use Nlite with txtsetup.oem which I sent?
Dietmar

PS: If I where you: Flash back to Bios 3.30.
Use a fresh XP install CD without this big amount of drivers.
Integrate acpi.sys and storport.sys by hand into setupfolder i386.
Dont change any entry in *.sif.
Use nlite for to integrate storahci, which I send here with txtsetup.oem.

EDIT: I think, you forget in TXTSETUP.SIF
 
[SCSI]
STORAHCI = "STORAHCI Installation Disk"
#888 infuscomus ⇗ @diderius6

Can you test your storahci driver with BIOS 5.40?

BIOS 3.30 does not support my CPU

[SCSI]
STORAHCI = "STORAHCI Installation Disk"

I thought this part was just for human readability - [SCSI.Load] is where it is loaded

I will start over with untouched source and load storahci with your txtsetup.oem using nlite
#889 diderius6 I just edit your TXTSETUP.SIF
adding only in

[SCSI]
STORAHCI = "STORAHCI Installation Disk"

and voila,
I can install XP

Dietmar
#890 diderius6 ⇗ @infuscomus

But on reboot,
I got BSOD 0x7B.
It depends not on storport,
storport is there.
So, another mistake happens in TXTSETUP.SIF.

Better use Nlite

Dietmar
#891 diderius6 ⇗ @infuscomus

Good news:))!!!

I just flash Bios 5.40 on the Asrock B350 board.
And installation works.
No BSOD 0x7B after reboot.

On nvme device this was other,
no nvme device at all under Bios 5.40 in XP

Dietmar

EDIT: I am just installing on the normal sata AMD port (not asm106x).
EDIT2: Storahci works only with alignment of 2048 at installationsmedia.

EDIT3: Bad news: On last reboot compi crashs, exact as with nvme device.
Now I try with Bios 4.60. Compi crashs also.

EDIT4: I set up a windbg session and I see, it is an ACPI related error

                     0x000000a5 (0x00000011,0x00000008,0xF778F1E8,0x20120913).

EDIT5: GOOD NEWS(!!!): This crazy XP changed a second time the acpi.sys back to its original version.
Just in this moment I start XP SP3 with Bios 5.40 on normal sata AMD (not asm106.x).

#892 infuscomus ⇗ @diderius6

how do i make sure that storahci is aligned to 2048 of installation media?
#893 diderius6 ⇗ @infuscomus
You can look with Winhex or with AOMEI.
On normal harddisk 63 sectors before 1. partition and on aligned 2048,
mostly from beginning on SSD
Dietmar
#894 infuscomus ⇗ @diderius6

is this for install ISO or harddisk? or both?
#895 diderius6 ⇗ @infuscomus
It is for your sata ssd,
how it is formatted. Aligned to 2048 is normal for ssd, from beginning. But not for harddisks,
Dietmar
#896 infuscomus ⇗ @diderius6

I think I can use windows 10 to properly format SSD?

also, do i need to do anything to the ISO? or does nlite align correctly?
#897 diderius6 ⇗ @infuscomus
"I think I can use windows 10 to properly format SSD?"
Yes.
I noticed, that when I install on medium (harddisk with 63 sectors before first partition)
on next reboot compi hangs.
I come to the idea, that this may be because of not using 2048 alignment.
I reformat hd with 2048 and all went ok
Dietmar

PS: Has nothing to do with *.iso
#898 infuscomus ⇗ @diderius6

can you send me your known working XP install media with integrated storahci?

That way, if I get a 7B BSOD I will know that there is something with my hardware causing the problem and not the install media
#899 diderius6 I am very interested to know,
if somebody other get XP SP3
to work on Ryzen board
Dietmar
#900 infuscomus ⇗ @diderius6

upload it here

⇗ https://uploadfiles.io/

then send me the link

 

Page 61

#901 infuscomus ⇗ @diderius6

does the 2nd (lower) m.2 slot (the SATA one) on the AB350 gaming K4 work for you in XP?
#902 diderius6 ⇗ @infuscomus
I have no real ssd SATA M.2. Only nvme devices with different connections and harddrives and a SATA ssd with a sata connector
exact like for harddisk.
XP on harddisk works in the sata slot, which is dedicated also to the M.2 sata ssd
Dietmar

PS: What is the name of your sata ssd with M.2 layout?
How is this device recogniced in Bios and later at boottime from XP via storahci?
I dont know, if the Asrock fatal1ty ab350 gaming k4 is compatible with sata M.2 devices.

EDIT: I just make a quick test: XP boots, works correct at each of the 6 Sata slots on the board.
This XP SP3 is build only direct via this installationsmedium.

EDIT2 : I just found this: Slot 1 is for a PCI-E M.2....SLot 2 is for SATA
#903 infuscomus ⇗ @diderius6

It's an WDS120G1G0B WD Green 120gb M.2 SATA SSD - It is in Slot 2 and is recognized by BIOS, linux and freedos can boot from it

I'm not sure if storahci recognizes it

can you post a screenshot of the harddisk selection screen you get to in XP textmode on AB350 K4?

p.s can you send me your known working install media?
#904 diderius6 ⇗ @infuscomus
I will test it with sata M.2 ssd in slot 2
Dietmar

EDIT: SATA port 3 is disabled if an M.2 SATA SSD is used in the secondary slot.

EDIT2:  SATA cable connector SATA3_3 blocks the use of the M2_2 slot!
#905 infuscomus ⇗ @diderius6

I have made sure not to use SATA3_3 on my board
#906 infuscomus ⇗ @diderius6

Does M.2 SATA work for you?
#907 diderius6 ⇗ @infuscomus

I have no M.2 SATA here.
I ordered the same WD green 120 GB M.2 SATA as you have
and it will arrive in next days.

For USB mod until now no success
Dietmar
#908 infuscomus ⇗ @diderius6

can you upload a copy of your known working for ryzen XP install media?
#909 diderius6 ⇗ @infuscomus
The installationsmedia works on any Sata slot
on the Asrock B350 board
Dietmar
#910 infuscomus ⇗ @diderius6

thanks
#911 diderius6 I would be happy to know,
if somebody else also succeed
to install XP SP3 on Ryzen board
Dietmar
#912 diderius6 I found out that the WdfCoInstaller01011.dll and WUDFUpdate_01011.dll used in the Microchip winUsb inf file are not compatible to Windows XP at all. So I downloaded the Windows Driver Kit WDK 8.1 (it's about 400MB but we just need ~4Mb as always wink ) which contains the WdfCoInstaller01009.dll and WUDFUpdate_01009.dll.
Changing the Microchip Inf file to the Version 1.9 let it work in Windows XP, so this is what I changed:
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller",
"WinUSBCoInstaller2.dll","WUDFUpdate_01009.dll"
[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll
WUDFUpdate_01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install
UmdfServiceOrder=WINUSB

[WinUSB_Install]
KmdfLibraryVersion=1.9
#913 infuscomus ⇗ @diderius6

I tried your XP install media in my system - 7B BSOD, so it's my hardware

on your install media. before the BSOD, the screen goes black to a blinking cursor - weird

my guess is XP does not like my iodd 2531 - I'll have to go and get the real optical drive and media to test
#914 infuscomus ⇗ @diderius6

I was beginning to think I would never see this screen



yay!

now that I've made it this far, when do i use storahci.reg?
#915 diderius6 ⇗ @infuscomus

No need for storahci.reg,
it is only, when you want to install storahci.sys on running XP,
I am happy, that it worked for you
Dietmar

 

Page 62

#916 infuscomus something strange I noticed with the AB350 Gaming K4

In my topmost pcie 1x slot I have a pcie USB2.0 card

⇗ https://www.aliexpress.com/i/32819465989.html

I have noticed that this USB2.0 card will not function (usb devices plugged in wont do anything) unless I install the drivers for the graphics card that is below it.

once i install the graphics card driver, the USB2.0 works fine

very strange

edit:
I think it is the power state - D3
#917 kukonosau To take me about installing acpi.sys please. I don't understand you. How to integrate or install new driver acpi.sys without acpi.inf? Can you show this process installation driver acpi.sys on new motherboard with B350 chipset?
#918 diderius6 ⇗ @kukonosau

By hand you have to put modded acpi.sys into folder i386 on installationsmedium.
For this, put XP SP3 CD in and extract all content of the CD to a folder XPSP3.
In this folder via  commandline type
makecab acpi.sys
this gives you acpi.sy_ which you have to copy into folder i386 in folder XPSP3.
With nlite make a bootable xp.iso from folder XPSP3
and burn it to CD
Dietmar
#919 infuscomus ⇗ @diderius6

got this error with XP today



any ideas for what causes it?
#920 infuscomus ⇗ @diderius6

have you seen this c021a error before?
#921 diderius6 ⇗ @infuscomus
Yes, I have seen this error c021a before.
As far as i remember it happens, when an arcpath was not found.
You can go to registry with regedit
and delete whole key "Mounted Devices".
Now XP has no information about the arcpath at boottime and takes first partition on first harddisk
as drive c:\
Dietmar

EDIT: May be you can start compi in Safe Mode, using F8 at boottime.
Then delete key "Mounted  Devices" in registry.
#922 infuscomus ⇗ @diderius6

is there a way to access the registry of the XP installation from within windows 10?
#923 diderius6 ⇗ @infuscomus
Yes, you can import HIVE "system" (in windows\system32\config) from connected XP drive,
name it "otto"
via registry of Win10. Do all wished changes in "otto"
and then unload it. It is automatically stored back into Hive SYSTEM
for XP
Dietmar

PS: The bootloader seems to chose USB1.0 during XP setup and this makes it slow.
#924 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #923

PS: The bootloader seems to chose USB1.0 during XP setup and this makes it slow.


That would explain why it took 20 hours
#925 kukonosau I already did  BSOD, but not ACPI compliant. I forgot errors. Sorry, I speak in English very bad. I speak in Russian. Do you speak in Russian? Can you tell me about errors ACPI in Russian? Answer me, please. I have not English practics. I sometimes used google- or yandex-translater.
#926 kukonosau Sorry, I must be use disks only or flash also? Because I often used flash device, but sometimes used DVD disks. I recorded Windows XP in flash with program YUMI. USB-ports detected in our time installation, but not ready operating system. Fortunatelly, I have keyboard and mouse PS/2 that support in almost everywhere. If use USB mouse she is uncorrectly work and after stopped worked 2 mouses before restarting system!!!
#927 cedar ⇗ @diderius6

Great works. I am happy to see XP works on your Ryzen board. I burned 2 discs, integrated with Nlite. Installing to hard

drive. first disc failed with bsod 7E. 2nd disc failed with 7b, both failed during installation before first boot. My

motherboard is Asus prime b350 plus with 2 PCI slots, and Ryzen 2600. Probably didn't integrate it right.  

I RWEverything Asus prime b350 plus, it has no MPS. Does your acpi work on your Asus b350?



Only 1 hdd connected. I used acpi.sys ver 5512.
1st disc, I integrated all: storahci,nvme,asm106x, got bsod 7E
2nd disc, integrated only storahci, got bsod 7b.

q1. Is sfc disabled a "must" during Nlite for Ryzen? I probably forgot did it here.

q2. Do I need to add my hardware id to your storahci.inf?
Under win8. I saw 2 entries, one is VEN_1022 DEV_43B7. the other has 7901, Should both ID needed to put into storahci.inf?

q3. I just noticed 5048 posted a day later. I think v5512 is the right one, right?

q4.  I also have a Kingston A400 120GB SSD. Can I combine STORAHCI.sys's TXTSETUP.OEM and nvme.sys's TXTSETUP.OEM into 1
file like below so that I can choose(connect only) either HDisk or SSD before installation with the same iso disc.

Will 2 disk0 and 2 [Defaults] entries interfere?
[Disks] 
disk0 = "STORAHCI Installation Disk", \storahci.inf, \
disk0 = "nvme Installation Disk", \nvme.inf, \

;;; change disk0 of nvme to disk1?

[Defaults]
SCSI = STORAHCI
SCSI = nvme

;;; two Defaults entries! likely will not work?

[SCSI]
STORAHCI = "STORAHCI Installation Disk", STORAHCI
nvme = "nvme Installation Disk", nvme

[Files.SCSI.STORAHCI]
inf = disk0, STORAHCI.inf
driver = disk0, STORAHCI.sys, STORAHCI

[Files.SCSI.nvme]
inf = disk0, nvme.inf
driver = disk0, nvme.sys, nvme


[HardwareIds.SCSI.STORAHCI]
id = "PCI\CC_010601","STORAHCI"
id = "PCI\CC_010802","nvme"


[Config.STORAHCI]
value = "", Tag, REG_DWORD, 1

[Config.nvme]
value = "", Tag, REG_DWORD, 1
#928 diderius6 ⇗ @cedar

It is possibel to integrate many drivers in one txtsetup.oem.
But in the beginning, one step after the other is better I think.
You can test your STORAHCI integration via Nlite,
when you hit F5 during installation and chose "Standard PC" there.
When you can install XP, then do next step
Dietmar

PS: Here is example for 2 different drivers in one txtsetup.oem

; Copyright (c) 2010 Asmedia Technology
;#############################################################################
;#
;#    Filename:  TXTSETUP.OEM
;#
;#############################################################################
[Disks]
disk1 = "Asmedia 106x SATA Controller", \ASM106x, \i386
disk2 = "Asmedia 106x SATA Controller", \ASM106x, \amd64

[Defaults]
scsi = asAHCI_32bit

;#############################################################################
[scsi]
; asahci32.inf
asAHCI_32bit        = "Asmedia 106x SATA Controller 32bit"

; asahci64.inf
asAHCI_64bit        = "Asmedia 106x SATA Controller 64bit"

;#############################################################################

; asahci32.inf

[Files.scsi.asAHCI_32bit]
driver = disk1, asahci32.sys, asahci32
inf = disk1, asahci32.inf
dll = disk1, ahcipp32.dll
catalog = disk1, asahci32.cat


;------------asahxp64.inf---------------------------
; asahci64.inf
[Files.scsi.asAHCI_64bit]
driver = disk2, asahci64.sys, asahci64
inf = disk2, asahci64.inf
dll = disk2, ahcipp64.dll
catalog = disk2, asahci64.cat

;#############################################################################
[Config.asahci32]
value = parameters\PnpInterface,5,REG_DWORD,1
value = "", ErrorControl, REG_DWORD, 1
value = "", Group, REG_SZ, "SCSI Miniport"
value = "", Start, REG_DWORD, 0
value = "", Type, REG_DWORD, 1


[Config.asahci64]
value = parameters\PnpInterface,5,REG_DWORD,1
value = "", ErrorControl, REG_DWORD, 1
value = "", Group, REG_SZ, "SCSI Miniport"
value = "", Start, REG_DWORD, 0
value = "", Type, REG_DWORD, 1
;#############################################################################

; asahci32.inf
[HardwareIds.scsi.asAHCI_32bit]
id = "PCI\VEN_1B21&DEV_0601","asahci32"
id = "PCI\VEN_1B21&DEV_0602","asahci32"
id = "PCI\VEN_1B21&DEV_0611","asahci32"
id = "PCI\VEN_1B21&DEV_0612","asahci32"


; asahci64.inf
[HardwareIds.scsi.asAHCI_64bit]
id = "PCI\VEN_1B21&DEV_0601","asahci64"
id = "PCI\VEN_1B21&DEV_0602","asahci64"
id = "PCI\VEN_1B21&DEV_0611","asahci64"
id = "PCI\VEN_1B21&DEV_0612","asahci64"
#929 diderius6 ⇗ @kukonosau

Use last 5048 modmod acpi.sys from ⇗ @infuscomus,
see here in download below.
For normal XP installation it is best until now
Dietmar

PS: Use real CD an PS/2. XP install via flash drive and USB, strange things happen to me.



diderius6 has attached files to this post
#930 cedar @infuscomus.

Glad to know XP also work on your Ryzen board. I BSOD on two iso discs and also Winntsetup and get stuck on install loop. I can't boot back to win8x64 easily and need to repair boot manager to get back bootmenu.

I have no experience on VM. what (stable)version do you use to test xp installations.

Is there a preferred platform for your Asrock board? win7 or win8, 32 or 64bit?

Under VM, is winntsetup the best way to go?

 

Page 63

#931 kukonosau Where is file ACPI from infuscomus? How to install Windows XP SP2 x64 on motherboard ASUS AM4 B350 PRIME B350M-K?
#932 cedar ⇗ @kukonosau

I think at post #821
#933 kukonosau How to add acpi.sys in driver.cab?!
#934 diderius6 I think, because
storahci needs storport.sys
only XP SP3 can work with it
Dietmar
#935 cedar ⇗ @kukonosau

extract driver.cab to a folder using  winrar or 7z
put acpi.sys into folder.
cabarc -r -m LZX:21 n driver.cab c:\folder\*.*
#936 kukonosau cabarc -r -m LZX:21 n driver.cab c:\folder\*.* is error in cmd: "cabarc" не является внутренней или внешней командой, пакетом или исполняемым файлом. Sorry, I can't translate in English. May be need this command in flash with MS-DOS? I don't understand.
#937 infuscomus ⇗ @kukonosau

i think you need to download cabarc

⇗ https://stackoverflow.com/questions/3361...-cabarc-utility
#938 kukonosau Thanks. I used utility iexpress, create DRIVER.CAB, but BSOD after 2nd restart from install Windows XP when end registry components.
#939 kukonosau Congratulations!!! I can install XP with ACPI!!! I specially install and need BSOD. Before continue in Windows 10 and change old ACPI in folder C:\Windows\system32\drivers modify ACPI. Also before install I change file ACPI.SY_. DRIVER.CAB don't help me((( But where find files ACPI for Windows XP x64? ACPI from x32 doesn't work!
#940 infuscomus ⇗ @kukonosau

i don't have a patched acpi for XP x64

does it have to be XP x64? programs for XP were usually x32

edit:
try here
⇗ http://shorthornproject.com/allcategorie...em=item-drivers
#941 kukonosau How to correct acpi.sys for Windows XP x64? How you can correct acpi.sys for Windows XP x32?
#942 infuscomus ⇗ @diderius6

can you patch acpi 5048 64bit for ⇗ @kukonosau ?

p.s I got my pcie usb2.0 card to function properly for xp testmode setup - i plugged a device into every port.

now i can use my iodd 2531 for xp install
#943 kukonosau But how to patch acpi.sys? Do you can teach me?
#944 infuscomus ⇗ @kukonosau

do you have a disassembler? such as ida pro?
#945 kukonosau No. I wont know, how disassemble file with expansion .sys

 

Page 64

#946 kukonosau But I have Hxd.
#947 diderius6 ⇗ @infuscomus

I get with XP 64 bit the same error on the Ryzen board
0x7E 0xc0000005 (now in 64 bit much loonger)
as with XP 32 bit.
I change storport.sys against the new version and acpi.sys against original 5048 (64 bit) version.
Then I make new txtsetup.oem and new *.inf for the storahci driver, integrate storahci with nlite, works as you can see during setup. But on XP 64 bit, there is no "Standard PC", only uniprocessor and multiprocessor, all with Acpi.
But because I do not see any symbols with Ida Pro,
I cannot hack the acpi.sys vers Longhorn 5048 64 bit.
I think, it is also exact in the same place as in the 32 bit version, one byte change,
means conditional jmp => forced jmp
but I cant see where to do this
Dietmar



diderius6 has attached files to this post
#948 cedar ⇗ @diderius6

Thanks for the suggestions. I have tried many variations last few days, even the 486 Standard PC option.

Installing ACPI Multiprocessor or Standard PC mode end up BSOD at the exact moment "Windows setup is starting" message appeared for my Asus Prime B350-Plus board.

So I used a working XP sp3 running storport.sys from a Gigabyte P75 D3 board, then added newest 5048 acpi.sys and swapped the hard disk to the Asus board.

Now, I can boot Standard PC only in "safe mode" with no usb mouse. It is stable inside this mode. It will BSOD on normal boot before entering Windows , however.

Could it be this Asus board has 2 PCI slots, causing acpi.sys some incompatibility issues.
Only an PCIE Geforce 8400 card was installed, nothing else, to isolate potential issues.
#949 diderius6 ⇗ @cedar

What kind of BSOD you see,
Dietmar
#950 diderius6 ⇗ @cedar
I make a test with the asus prime b350 plus board.
Oha, I got BSOD like you.
NVME boot works, but only for "Standard PC".
Booting with mod mod 5048 acpi.sys
which works until now on any compi gives via windbg:


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 (Sat Jun 29 21:17:16.812 2019 (UTC + 2:00)), ptr64 FALSE
Kernel Debugger connection established.
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Symbol search path is: C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386;SRV*c:\symbols
*⇗ http://msdl.microsoft.com/download/symbols;C:\symbols
Executable search path is: C:\localsymbols
Windows XP Kernel Version 2600 MP (1 procs) Free x86 compatible
Built by: 2600.xpsp.080413-2111
Machine Name:
Kernel base = 0x804d7000 PsLoadedModuleList = 0x8055d720
System Uptime: not available
WARNING: Inaccessible path: 'C:\WinDDK\7600.16385.1\src\openfabricsall\nvme13\nvme\objchk_wnet_x86\i386'
Sat Jun 29 21:17:23.625 2019 (UTC + 2:00):
*** Fatal System Error: 0x000000a5
(0x0000000D,0x8B6333C0,0x4449555F,0x00000000)

Sat Jun 29 21:17:23.656 2019 (UTC + 2:00): 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 (Sat Jun 29 21:17:23.843 2019 (UTC + 2:00)), ptr64 FALSE
Loading Kernel Symbols
...........................
Loading User Symbols

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

Use !analyze -v to get detailed debugging information.

BugCheck A5, {d, 8b6333c0, 4449555f, 0}

*** ERROR: Module load completed but symbols could not be loaded for ACPI.sys
Probably caused by : ACPI.sys ( ACPI+527b )

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

nt!RtlpBreakWithStatusInstruction:
8052b5dc cc int 3
2: kd> !analyze -v
*******************************************************************************
* *
* Bugcheck Analysis *
* *
*******************************************************************************

ACPI_BIOS_ERROR (a5)
The ACPI Bios in the system is not fully compliant with the ACPI specification.
The first value indicates where the incompatibility lies:
This bug check covers a great variety of ACPI problems. If a kernel debugger
is attached, use "!analyze -v". This command will analyze the precise problem,
and display whatever information is most useful for debugging the specific
error.
Arguments:
Arg1: 0000000d, ACPI_REQUIRED_METHOD_NOT_PRESENT
ACPI could not find a required method/object in the namespace
This is the bugcheck that is used if a vendor does not have an
_HID or _ADR present
Arg2: 8b6333c0, The ACPI Extension that ACPI needs the object for
Arg3: 4449555f, The (ULONG) name of the method ACPI looked for
Arg4: 00000000, Base Case

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


ACPI_EXTENSION: 8b6333c0 -- (!acpikd.acpiext 8b6333c0)

DEFAULT_BUCKET_ID: DRIVER_FAULT

BUGCHECK_STR: 0xA5

PROCESS_NAME: System

LAST_CONTROL_TRANSFER: from 804f8df9 to 8052b5dc

STACK_TEXT:
b84dfaf4 804f8df9 00000003 b84dfe50 00000000 nt!RtlpBreakWithStatusInstruction
b84dfb40 804f99e4 00000003 8b6333c0 8b61d950 nt!KiBugCheckDebugBreak+0x19
b84dff20 804f9f33 000000a5 0000000d 8b6333c0 nt!KeBugCheck2+0x574
b84dff40 b7f1027b 000000a5 0000000d 8b6333c0 nt!KeBugCheckEx+0x1b
WARNING: Stack unwind information not available. Following frames may be wrong.
b84dff80 b7f0d168 8b6333c0 8b633368 b84dffb4 ACPI+0x527b
b84dff90 b7f0d2f4 8b633368 806e791a 80540980 ACPI+0x2168
b84dffb4 b7f0ddc0 b7f35ac8 b7f33010 806e791a ACPI+0x22f4
b84dffcc 80545e6f b7f35a80 00000000 00000000 ACPI+0x2dc0
b84dfff4 805459db b853fc4c 00000000 00000000 nt!KiRetireDpcList+0x61
b84dfff8 b853fc4c 00000000 00000000 00000000 nt!KiDispatchInterrupt+0x2b
805459db 00000000 00000009 0081850f bb830000 0xb853fc4c


STACK_COMMAND: kb

FOLLOWUP_IP:
ACPI+527b
b7f1027b cc int 3

SYMBOL_STACK_INDEX: 4

SYMBOL_NAME: ACPI+527b

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 424d8208

FAILURE_BUCKET_ID: 0xA5_ACPI+527b

BUCKET_ID: 0xA5_ACPI+527b

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


Dietmar
#951 diderius6 It is the same error as in post 488, the board Asus with B320 chipset there has also an PCI connector.

0xA5 (0x0000000D, Parameter2, Parameter3, Parameter4):

There are many objects that must be defined in the ACPI namespace, and one or more of these was not found. This error generally occurs if either the _HID or _ADR object is missing. An _ADR is used to define the address of a device on its parent bus. The _ADR is a static address that defines slot numbers for devices that reside on any number of bus types, including EISA, floppy, IDE controller, IDE channel, PCI, PCMCIA, and CardBus. The _HID contains objects that supply the operating system with Plug and Play hardware ID for a device. Technically, these objects are optional, but they absolutely must be present to describe any device that is enumerated by an ACPI driver.

So, some device is not recogniced via ACPI, may be pci slots
Dietmar

EDIT: I just boot "Standard PC" from harddisk. This means, the STORAHCI driver works like a charm.
Only acpi.sys needs some more handwork for this board.
#952 cedar ⇗ @diderius6

The old 5048 and 5512 acpi.sys BSOD 7B. With the two older acpi.sys. I can't even get to safe mode on Standard PC.

The newest (mod mod) 5048 have 7B or 7E. I Think mostly 7B. But the newest 5048 is good enough to be stable inside safe mode of Standard PC.

To test PCI compatibility, I add a ATI HDTV Wonder PCI card into a PCI slot. Also no crash inside Standard PC in safe mode. So PCI seems to be stable here. I am getting some Youtube windows debugger tutorials...
#953 diderius6 ⇗ @cedar

Good news:))!
Small hack in mod mod acpi.sys 5048 from Infuscomus
and voila,
full XP SP3 "Multiprocessor ACPI" on the Asus Prime B350 Plus (with 2 PCI slots).
All works, sound, network, grafik, USB 3.1, nvme boot, all SATA ports.
The PS/2 port can only be used for one device, keyboard.
Later it is no problem, because you have a lot of working USB 2.0 slots too.

Dietmar



diderius6 has attached files to this post
#954 infuscomus ⇗ @diderius6

I dug up PEMaker 0.82 again and noticed your newly modded ACPI 5048 has a checksum error



PEMaker 0.82 is able to fix it



infuscomus has attached files to this post
#955 diderius6 ⇗ @infuscomus

Thanks, I just build an XP.iso for the Asus Prime B350 Plus board,
works, I am just installing
Dietmar

EDIT: Install of XP SP3 is ready, nice, absolut stable.
#956 cedar ⇗ @diderius6, @infuscomus.

Thanks so much. I will test them very soon.
#957 cedar ⇗ @diderius6

New improvement at my end, replacing to the newest acpi on the swapped Hard Disk, I can boot APCI Multiprocessor in safe mode now. But still BSOD at normal boot and the blue screen extremely quickly flash may 1/10 of a second so, I can't even see what the message. Normally, the BSOD stay, and also no mouse.

Tried with or without your 6 USBXPSP1 files overwriting the existing USB files in the \systems32\drivers
folder, I still have no working USB!. So I used keyboard to install USB drivers, but only able to partially
install the USB devices in Safe Mode, one root  hub is ok, another root hub with exclamation mark.

3.1 extensible host controller got installed, but 3.1 hub refused installed!. May be things in safe mode behave
a bit erratically, or the downloaded drivers did not match my USB hardware ID somehow.


⇗ @diderius6 , ⇗ @infuscomus
Can you upload a workable USB 2.0/3.0 or 3.1 inf?  Will make another installation disc, may be this time it will
behave much better than the swapped hard disk method.

Thanks.

PS. the STORAHCI driver does works great even at my Gigabyte P75 (Z77) like board.
#958 diderius6 ⇗ @cedar
Make a new installations disk for XP SP3 with nlite.
Copy storport.sys and acpi.sys there by hand to folder i386 using makecab.exe for them before.
The STORAHCI driver integrate via its txtsetup.oem in nlite.
Burn this XP.iso to CD.
On first reboot you have to copy storport again and later also acpi.sys.
Only connect the keyboard to the PS/2 port. You will have no mouse all the time, until the USB driver
works.
After install is ready, copy the 7 USB files from XP SP1 to windows\system32\drivers.
Then go to device manager, rightclick on USB device with DEV_43BB.
Select for this "new driver" and go to the USB3.1 installationsfolder "Controller Drivers".
After install of amdxhc31.sys a new window will open.
This time go to the USB3.1 installationsfolder "Hub Drivers".
Install amdhub31.sys.
After all is ok, connect your mouse to the USB 2.0 slot under the PS/2 slot.
Mouse will work and USB3.1 with full speed on green slots also. I tested yesterday this whole procedure
Dietmar



diderius6 has attached files to this post
#959 kukonosau Thank you!!! I connected USB-devices!!! Microphone Samson C01UPRO is working!!! You are better!!! :)))
#960 diderius6 Here is the AMD IOV device (AMD IOMMU DEVICE),
works now under XP
Dietmar

PS: Look for DEV_1577 in device manager and use only AmdIOV.inf.



diderius6 has attached files to this post

 

Page 65

#961 cedar @diderius6.

Thanks, I did used the AMD USB 3.1 drivers v1.0.5.3 WHQL on swapped hard disk earlier. The controller did installed ,
the Hub could not installed. Thus, no mouse. All of it was done in safe mode  using only keyboard, slow and
unsuccessful. Hopefully , nlite will fix it this time.
#962 diderius6 ⇗ @cedar
I just make a new USB30 driver,
which works on the Asus Prime B350-PLUS board under XP SP3.
This is the very first time, that I see such an driver working^^
Dietmar

EDIT: Funny, USB30 is on the same USB stick faster than USB31.



diderius6 has attached files to this post
#963 cedar @Dietmar

Still BSOD 7b after several burn discs either ACPI Multiprocessor, Standard PC, or Uni ACPI.
All end up same message as below:

7B (0xF78D2524,0xc0000034, 0x00000000,0x00000000).  Don't know if it is useful.

Also having some Nlite problems, all files in root directoy not copied into final ISO, may be because
Dotnet 2.0 SP1 was installed with a new copy nlite 1.4.9.3 download a day or 2 ago. Roots files and additional folders did copied into iso a week ago!.

I did try your new AMD USB3.0 driver on the swapped drive method ( it boots ACPI Multiprocessor in safe mode only, my only bootable XP condition for Asus B350 Prime Plus).

Have not succeed yet, as navigate with no mouse is a very slow process and prone to installing the driver into the wrong controllers and hubs as I can't see ID of controllers. So it is a hit and miss trials. Will try more later, since it works for you.

I want to get any mouse working, on usb2.0 or 3.0 ports so I can navigate Windows to investigate what devices are having problems such that it BSOD in normal boot. I have 1 mouse at usb 2.0 port, another mouse at usb 3.0 port just in case if either could work.

Still at partial installed of USB device controller and root hub. To see a bootable XP in my case. I need
PS2 keyboard to press F8 into safe mode. I read it is somewhat unsafe to hot swap PS2 devices.

It seem I can try hot swap PS2 keyboard with a PS2 mouse after "safe boot" into XP. But I am
worrying about repeat hot swaps the PS2 mouse or PS2 keyboard after every boot.

Is it hard to write a generic usb.reg script to install a USB 2.0 or 3.0 device?. I will google this.

Cedar

P.S. I will try this to see if it applies to XP.
⇗ https://windowsreport.com/usb-not-working-windows-10/
#964 infuscomus ⇗ @cedar

are you using an external USB CD/DVD drive for XP install? or an internal SATA CD/DVD drive?
#965 cedar ⇗ @infuscomus

Before yesterday, I used an external USB CD/DVD drive for XP install.
Yesterday, I used an internal SATA CD/DVD drive as well.

I repeat older fails installs also on SATA just to make sure it is not USB problems.
The BSOD happen on both external USB and SATA dvd drive.

Setup is starting windows, BSOD always happened after this message.
#966 infuscomus ⇗ @cedar

use the internal SATA CD/DVD drive for XP installs

make sure to use nlite to integrate storahci driver for txtmode - ¶ Windows XP SP3 32bit and modern PC parts (59)
#967 diderius6 ⇗ @cedar
Delete in boot.ini

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Dietmar
#968 cedar @Dietmar

Sort of good news. Most recent burnt disc fail both external USB DVD drive and internal SATA DVD drive.

I just tried an old burn disc from 1 week earlier, with acpi ver 5512 on the internal SATA DVD driver,
it failed APCI install. But at "Standard mode", for the first time, it let me choose which partition to install, proceed install and successfully installed and add it to the boot.ini menu. Even though it still BSOD 7B on reboot, but at least it installed.

So the internal SATA DVD drive behaves much better than the USB external drive. Now I can swap this HDisk to another computer, and replace the older acpi ver. 5512 with the latest from June 29. and see what happen.

So now, I would "avoid" the external USB drive to install. The old disc has all the files structure burnt
correctly. Newer discs from last 2 days had Nlite problems, root files in ISO needed to be added back manually.

Ok. I will remove "/noexecute=optin /fastdetect" from boot.ini

Cedar
#969 diderius6 ⇗ @cedar
I changed the cpu X4 950 against Ryzen 1700 on the Asus Prime B350-PLUS board.
Funny, the USB30 changed with the processor now to DEV_145C
where until now no 32 bit version is on the market. But USB31 is still there.
The installations CD for XP SP3 works with new acpi.sys as good as before
Dietmar
#970 cedar @Dietmar

Good news! and good work on your X4 950. I recently learned that hardware ID got changed between IDE and AHCI mode. There was times I search for my hardware IDs and could not find a match on
the net. It was confusing and unproductive.

First time success installing XP in Standard Mode on normal boot, mouse works on USB2.0 port. USB3.1 extensive controller and hub were also installed. The other mouse on the USB3.0 port not
work yet, as there is still 1 USB controller with yellow question mark. The Hardware ID is DEV_145F

Tried your AMD3.0 driver on this USB controller. but did not work yet. may be in other PC mode, it will.

The remaining yellow mark Devices are as follow:

SM Bus controller with hardware ID DEV_790B
PCI Encryption  with ID  DEV_1456
PCI Device with ID   DEV_145A
PCI Device with ID   DEV_1455
PCI Device with ID   DEV_1451

I suspect them to be south bridge controller, PCI Standard Host PCI bridge, Stander PCI to PCI bridge.
Do they needed to be installed? They don't seem to interfere much at the moment.

I will switch to ACPI Multiprocessor soon. Right now I navigate around to see if it is stable first.
Then back it up to another partition before more testing.

Edited: south bridge controller, PCI Standard Host PCI bridge, Stander PCI to PCI bridge all installed
except PSP 3.0.

Cedar
#971 cedar ⇗ @infuscomus
Luckily, I still kept a few earlier fail installed discs. I was surprise it actually let me install sucessfuly from internal SATA drive.
#972 cedar @Dietmar

I followed  the procedures to switch-windows-xp-hal-from-standard-pc-to-acpi-without-reinstall

⇗ https://zedt.eu/tech/windows/switch-wind...hout-reinstall/

Instructions there is like below. It let me choose ACPI hal at the end of instruction without problem,
and no hanging. I can still navigate around Windows.  But upon reboot, can't get in this XP Windows anymore. But I can boot another backup Standard PC mode XP at a different partition.

After normal booting ACPI Multiprocessor PC fail. I try to boot into Safe mode. It failed as well.
This is strange ,because I could boot ACPI Multiprocessor PC in safe mode from swapped hard
disk method mentioned earlier.


Their Instructions:
---------------------------------------------------------------------------------------------------------------------------------------------
So youve installed Windows Xp on a (probably very) old computer and forgot to check the BIOS to make sure APCI is enabled

Now to switch Windows Xp from the Standard PC Hardware Abstraction Layer to the A(dvanced) C(onfiguration and) P(ower) I(nterface) one  so that things like standby/hibernation and auto-power off work  youve got two choices:

   Performs a repair install
   Follow the steps below:

Open Registry Editor and browse to

HKLM\System\CurrentControlSet\Enum\Root\PCI_HAL000

Right click the 0000 key and choose Permissions. Check the Full Control checkbox for Everyone. This will give you control to edit this registry key.

Open the HardwareID value and change it from e_isa_up to acpipic_up (followed by one line break, the cursor should be on the line directly under acpipic_up).

Open Device Manager, open the Computer key, right-click Standard PC, and select Update Driver. Youll pick from a list, dont search, answer accordingly. Select the ACPI entry, which will now be shown in the Compatible Hardware list (joy!), thanks to the previous registry tweak.

If you actually CONTINUE with this and your system is NOT actually an ACPI system, it will become unbootable.

Select Next and let the new HAL install.

Reboot, and youre done!

Since hal.inf locks you into only compatible HALs, you can now update again and select Multi-Processor PC if your system supports it, then youll have multi-cores.

---------------------------------------------------------------------------------------------------------------------------

I was hoping their instructions work in my case. If works, it saves ton of time. I think there might be other
method by add hal option into boot.ini. but not sure if it works.

Edit: They use acpipic_up, may be the right one is "acpiapic_mp". for ACPI Multiprocessor PC.

Edit2:  Just tried "acpiapic_mp". It shows 4 entries of CPU types allow to be changed.
So I chose ACPI Multiprocessor PC. All seem well. No hanging. Can operate Windows as usual.

Next reboot, BSOD 7B. So something deeper is happening here.
On normal boot This 7B is a bit different

7B ( 0xBACC3524, 0xC000 0034, 0x0000 0000, 0x0000 0000)

Edit3:
Try safe boot, got this
0x0000007B (0xF789E524, 0xC0000034, 0x0000000,0x0000000)
#973 diderius6 ⇗ @cedar

All this you dont need, if you make a good installationsdisk via
nlite for XP SP3,
it works
Dietmar
#974 diderius6 I overclock the Ryzen 1700 to 3650 MHZ. Stable, tested with Prime95, Cinebench 11.529 on XP SP3 and youtube video at the same time on the Asus Prime B350 Plus board. Max temperature is 70 degree celsius.
Now it is exact as fast as the Intel Core i7-8700K,
impressive
Dietmar

EDIT: Ram is Corsair Vengeance LPX schwarz DIMM Kit 32GB, DDR4-3200, CL16-18-18-36 (CMK32GX4M2B3200C16).
#975 cedar @Dietmar

That is a nice system you have there :-).

 I am getting closer. I could proceed to complete install XP in graphic mode. change region
setting, minor things etc. XP has no complains and stated setup is completed,and ask for
reboot.

Upon reboot, I get BSOD 7B. It could be a bios version problem. My Asus prime plus B350
bios is 4023. What version is your motherboard BIOS?

Reboot in safe mode also BSOD 7B. I am pretty sure it installed(auto) at ACPI multiproc PC.

 I reinstalled at another partition sometime later. XP also said installation is completed, no errors.
So it is not files or disk errors. But restart XP also 7B and safe mode too.

 I swapped the Hard disk to my Gigabyte P75-D3. Replaced jun 29 acpi.sys back with XP SP3 2008
ver. This XP from Ryzen installation work fine on P75-D3 (i3470 cpu). I verified it is indeed in
ACPI multiproc PC mode. No error, mouse worked too in P75-D3.

 I think it is either my Nlite or BIOS version may be the problem.

Cedar

 

Page 66

#976 infuscomus ⇗ @cedar

on your XP drive go to c:\windows\system32\drivers folder

check that you have these files

acpi.sys - our patched version - should be about 234kb in size
storahci.sys
storport.sys

if you don't have these 3 files you will get A5 or 7B BSOD
#977 cedar @infuscomus.

They are all there. I put extra copies in driver cache , i386 folder too, just in case.
Windows may or may not look there. I also have a Sp3.cab and a Sp2.cab. I replaced
the acpi.sys in those two cab as well just case.

 If I swap the XP installed on Ryzen hard disk to my other Ivy 3470 CPU system. Replace the
newest (Ryzen) acpi.sys , your checksumed version with the one original from XP SP3.

I can run this "new" installed XP (from Ryzen) on the older Gigabyte P75 Ivy system.
So, the newly installed XP seem fully functional on Ivy but BSOD on Ryzen.

On my Ivy system the same storport.sys also run the ahci mode.

I can run XP on Ryzen in standard PC with the same storport.sys and Storachi, but not
APCI Uni or Multi mode.

Cedar
#978 diderius6 ⇗ @cedar

I test with Bios version 3806  and 5007 on the Asus PRIME B350-PLUS board,
both work
Dietmar
#979 infuscomus ⇗ @cedar

do you get the same BSODs in XP textmode setup?
#980 cedar @Dietmar

Good to know that, mine is 4023 is somewhere in between, it should work then.

⇗ @infuscomus

I got  BSODs in XP textmode. and then swap the hard disk to the ivy system. Manually add
acpi.sys, storport, and USBXPSp1. Storachi is already there.

Swap back the HD drive to the Ryzen system. To install Std. mode or lately ACPI multi proc
mode. Ryzen system then let me complete install graphic mode asking bunch of usual
questions.

Name, region time zone etc. till the end. Then XP said install complete,  Click finish.  quite
smooth, no hiccup. On the Std PC mode. I can reboot back to XP.

On ACPI mode, next reboot is BSOD 7B, so I try reboot again, this time in Safe Mode.
Same thing, also 7B. reboot third time, 7B.

The thing is, it let me completely installed. a bit unusual here .

Cedar
#981 diderius6 ⇗ @cedar

storport.sys is gone on reboot
Dietmar
#982 cedar @Dietmar
storport of course is always gone, after txtmode BSOD. After manually added after txtmode BSOD,

it stays there.  Is it not?  Do you mean every reboot?
#983 infuscomus ⇗ @cedar

during xp textmode setup do you ever see something like this?



as in, does storahci ever load?
#984 cedar ⇗ @infuscomus

I did see a textmode screen. and can choose which partition to install to.  Whether the
word " Storahci"  appeared at  the end of the sentence.  I am not sure.  I will install again
to see if it is there.

I installed 3 times successfully at graphic mode.  After textmode complete installed,
BSOD is expected. I knew that.  If I don't use the checksum version, it will complain.
otherwise it proceed to complete textmode install.  Windows folder size is about
550 MB in size after this

After textmode installed. I add Storport and USBXPSp1. Next reboot, Windows let
me install graphically with mouse working till the end.  XP will say setup completed.
Ask to click "Finish" button.

On next (final) reboot, BSOD 7B. This I don't expect is normal!.
BSOD 7B with this message

(0xF78A2524, 0xC000 0034, 0x00000000, 0x00000000)

Try a 4th boot in safe mode,  message "slightly changed"  to

(0xF789E524, 0xC000 0034, 0x00000000, 0x00000000).

Windows folder size now is about 800 to 900MB. and Storport is here in system32\drivers
folder after "Graphic Mode" completed. I swap HD verified that Storport, acpi, Storahci
are all in system32\drivers folder.

This Ryzen XP installation will boot ACPI in my older P75 (z77 clone), with  1 file acpi.sys
replaced. So I am sure the XP is fully functional.

I will install a 4th time, may be in MPS or other mode and see what happen.

Cedar
#985 diderius6 ⇗ @cedar

I think, the acpi.sys is restored to the original one.
You only have to change this original acpi.sys (5512) against the modded acpi.sys (5048) one time more,
Dietmar
#986 cedar ⇗ @diderius6

It is not ver. 5512. This version got me to Std. mode only.

I used the newest jun 29 version on the burnt disc for the 3rd successful installation.

Another older disc with jun 26 version from a week ago, I got the first 2 successful installed
at textmode. and then I replaced the older jun 26 version,  in \system32\drivers
with the newest "jun 29". This let me boot again to install graphic mode successfully.

I did it twice to 2 different partitions. Both  success completely installed. But both XPs
BSOD on next reboot. Safe mode BSOD too.

On 3rd installed, I burn a new disc last night contain latest jun 29 version. Textmode and Graphic
mode installed fine. Hoping it differs this time.

But still BSOD after successful XP installion. Safe mode too. I am a bit confused now.

Cedar
#987 cedar ⇗ @diderius6

Does it work in MPS mode? Or it is not meant to work in MPS mode.

Cedar
#988 cedar @Dietmar

I checked every time after installation. I have no version 5512 in any folders. All acpi
are jun 29 lastest version.

Cedar
#989 infuscomus ⇗ @cedar

MPS has never worked for me

have you got a storahci.inf in c:\windows\inf ?
#990 cedar ⇗ @infuscomus

Hmm... there is no storahci.inf in my inf folder!

Cedar

 

Page 67

#991 cedar ⇗ @infuscomus and @ Dietmar

I wonder if storport needed a .inf too?.
#992 infuscomus ⇗ @cedar

storport didn't for me (although i needed to manually copy storport.sys over)

storahci might need inf though
#993 cedar ⇗ @infuscomus

I will put it in the inf folder.

Edit: It did not work in this case, just tested.
#994 diderius6 ⇗ @cedar

No *.inf is needed,
when you can install Graphik Mode until its end.
Make try to eliminate the extra entries in boot.ini.
In other case, I am quite sure, that one of the
files, I think acpi.sys (5048), is missed in
windows\system32\drivers
Dietmar
#995 cedar @Dietmar

/noexecute=optin /fastdetect was deleted since 2 days ago on boot.ini  for Ryzen.

Did you hard code "Windows\system32\drivers" in Storahci or acpi?
My Windows folder is renamed XP-ryz or something. This is the only thing I can think
of which is different.
#996 diderius6 ⇗ @cedar

Only
C:\WINDOWS\system32\drivers
is allowed
Dietmar
#997 infuscomus ⇗ @cedar

try reformatting your XP drive using default settings in windows 10 or linux - XP default settings does not align properly for SSDs

then install XP onto it - in XP setup when asked to format select no changes
#998 cedar ⇗ @infuscomus

Any good utility to check alignment, are they accurate if the HD has 5 partitions?.

How do you manage trim in XP?. I read that without trim. SSD life span is several
times shorter without proper trimming.

@Dietmar

Does it mean  D:\WINDOWS\system32\drivers or E:\WINDOWS\system32\drivers
will not boot XP because of acpi.sys ?!!
#999 infuscomus ⇗ @cedar

I dont think XP likes more than 5 partitions on a drive - max 4

SSD alignment see here
⇗ https://www.disk-partition.com/windows-1...ws-10-3889.html

corsair SSD toolbox can TRIM in XP
⇗ https://www.corsair.com/ww/zh/blog/the-corsair-ssd-toolbox

whichever windows is booted is always C:
#1000 cedar ⇗ @infuscomus

My C partitions are usually 2GB, sometime with w2k in it. Winntsetup can setup any drive
letter you want to the OS. It worked for me a few times. But properly not easy in this case,
within Win81.

I ended up repairing the bootmanager a few times on this XP,Ryzen setup.

My other XPs on P75-S3 boot to D: or E: etc.
#1001 infuscomus ⇗ @cedar

you should also check that your XP drive is MBR partitioned and not GPT partitioned
#1002 diderius6 ⇗ @cedar

Best tool for correct formatting any device for XP is
RMPrepUSB 2.1.739.
I use for this an ICY BOX IB-112StU3-B,
which makes life easy.
If you use something other than
C:\WINDOWS\system32\drivers
it can happen, that the arcpath is not found, gives BSOD 0x7B.
To change this, only chance is to boot without any
boot.ini (delete complete boot.ini)
and delete via regedit the whole key
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Dietmar

PS: When you set up or try something new: Make it clear and easy as much as possible,
means in this case: Use a normal harddisk formatted as above with no other partition on it and MBR, partition aligned to 2048 sectors.
#1003 cedar ⇗ @infuscomus

My drives are 2 TB. No GPT partitioned needed at the moment.

@Dietmar

My drives are 70% full. Yup, if I have a relatively empty HD, I can backup to
another drive and reformat it. The fastest route now is burn another disc
without  renaming Windows default folder in NLite,  and make sure
all partitions are aligned.

Nlite, on the same source files 2 weeks ago, Nlite work. About a week later,  
iso created by Nlite has issue. else I would have burnt a new disc already.
It is getting pretty close to work now.

Thanks
#1004 cedar ⇗ @infuscomus

At textmode installation today, I did see StorAHCI on the right corner like your picture.

@Dietmar

Today I burn 2 discs. After edit the default Windows folder to "Window" instead of
XP-Ryz. made the ISO, checked ISO txtsetup.sif file. It is Windows as default folder.

Next add the AMDUSB30 and  several more drivers. Made another ISO. burn the disc.
NLite  somehow reverted it back to Xp-Ryz. Should have check the final ISO again before burn!

So changed the txtsetup.sif again. This time  ISO changed "Xp-Ryz" to " Windows". I burn 2nd
disc. and installed XP to the "true" C:\Windows partition hoping it will work.

This is the 4th successful XP graohically installed. Reboot next, same "exact" BSOD 7b message,
safe mode as well compare to 3rd successful installation. When I have an empty HD, wiill reformat
as your suggested. May be alignment cause it.

I will try my Kingston SSD after backup its Win81 content first.

Cedar
#1005 infuscomus ⇗ @diderius6

i found a work around for storport not copying

in txtsetup.sif

[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4

now it copies across

 

Page 68

#1006 diderius6 ⇗ @infuscomus
Nice finding, I will integrate in CD.
In few days I test new Ryzen >=3000 for XP:))
Dietmar
#1007 diderius6 The generic modded STORAHCI driver for XP SP3 for all AMD boards works also generic on
Intel AHCI
Dietmar
#1008 diderius6 I just ordered an Asus Prime x570 Pro board,
which has an COM1 port, important for windbg.
After I saw first benchmarks I also ordered a cpu
Ryzen 3700x
and then I test test test under XP SP3
Dietmar
#1009 XPLives ⇗ @diderius6
Good CPU choice.  I also think it's the best one from the 7nm launch.

But why a new x570 MB?  X370 BIOS update supports 3700X.  X570 only good for Ryzen 9 16 Core / 32 Threads in September.
⇗ https://www.amd.com/en/products/cpu/amd-ryzen-9-3950x

Better to use the money on that CPU instead of the 3700X if pairing with x570MB.

3700X no point on it since you also own the i9-9900K with same 8 Cores / 16 Threads.
#1010 infuscomus ⇗ @XPLives

He is testing if the newer X570 chipset and 3700X CPU is compatible with XP

B350 is already confirmed to work

the 300 series motherboards might have power delivery issues for the newer 3000 series CPUs - AMD left it up to the motherboard vendors to support it
#1011 XPLives ⇗ @infuscomus
If the point is testing X570 compatibility then just get the X570 MB and test an older gen CPU on it like a Ryzen 7 1700 which is 8 cores also.   If it works then buy the Ryzen 9 3950x for 16 Cores.
If you want to test 7nm compatibility then just buy a low end 7nm like a cheap quad core when it comes out.

I just examined the AsRock X370 board and found it supports these latest Ryzen 3000 CPUS:
AM4 Ryzen 7 3800X(100-000000025) 105W Matisse 3.9GHz 4MB B0 P5.80
AM4 Ryzen 9 3900X(100-000000023) 105W Matisse 3.8GHz 6MB B0 P5.80

Note the 3900X is Ryzen 9 3900X
US $499 12 Cores (24) Threads

So it looks like it can handle 12 Cores without needing X570.  It's possible 16 Cores might work on a X370 MB when it releases in September with a BIOS update.

Also note some of the newer > X370 MBs may no longer have legacy PCI slots on them making it harder to run 98SE retro cards so going to the newest generation will make it much harder if an older gen chipset already has the PCI slots you want and can support the 7nm CPU you want to use.  It was already tough to find any X370 with them and I'm sure X470 and X570 will be even rarer.

The only slight benefit for X570 is PCIe v4.0 which most graphics cards from XP era were probably PCIe 3.0 for the extreme models so it won't have any benefit for XP at all.

If you want a chipset worth upgrading to it's 8 Dimm slots and 16GB or 32GB DDR4 or 64GB/128GB DDR5 memory sticks to reach the 256GB-1TB max.  Most motherboards are capped at 64GB with 4 memory slots so 8 Cores feels too constrictive already and I would rather have 256TB memory with 8 Cores than 64TB memory with 16 Cores.
#1012 infuscomus ⇗ @XPLives

PCI slots are still a possibility with enclosures

⇗ http://eshop.sintech.cn/pcie-express-x1-...le-w-p-933.html
#1013 diderius6 It is just a lie,
that Ryzen 1700 does not work on x570 motherboards.
Just in this moment I am installing XP SP3 on
Asus Prime x570 Pro
Dietmar

EDIT: It hangs with blinking cursor,
I cant see the harddisk. It seems to be a problem
of the STORAHCI driver.
It is not acpi related.
NVME boot also not works.

EDIT2: I connect the CD drive and the harddisk to different SATA slots,
first and last.
Now I can install XP !!!

EDIT3: Acpi multiprocessor works, network works, sound works, graphik works, but USB is a problem,
also no y-cable possible, only PS/2 mouse or keyboard.

EDIT4: Nice, on this board, the Ryzen 1700 (!) at 3741 MHZ with 71 degree Celsius max, is faster than the i7 8700k.

EDIT5: I just ordered USB card Silverstone SST-ECU05 and
I-TEC PCI-E Karte 4x USB 3.0 PCI-Express 2x external 2x internal ueber 1x 20 Pin Adapter internal USB 3.0 port Windows 7 Vista XP (PCE22U3)



#1014 XPLives
Zitat von ⇗ infuscomus im Beitrag ¶ #1012
@XPLives

PCI slots are still a possibility with enclosures

⇗ http://eshop.sintech.cn/pcie-express-x1-...le-w-p-933.html



I recommended that enclosure method on another site about 2 years ago when SkyLake already begun phasing out PCI slots on the AsRock Fatal1ty.  Fortunately other brands like Gigabyte made a SkyLake MB with 2 PCI slots.

But when building a compact fanless all in one retro machine you want as little external adapters as possible.  I think there was one that you could mount internally into a 5 1/4" front slot but you'd have to do internal wiring to a rear bracket for sound output.

Finding 2 PCI slots on a X570 or Z470 / Z570 Ice Lake / Tiger Lake will probably be slim to none would be my guess.  Maybe one or two models may exist as a B570 in limited quantities.

I also have a PCIe to Dual PCI Slot adapter card (no enclosure) basically the same thing without paying a fortune for the external enclosure.  I haven't had time to test that either to see if all PCI cards work properly in it via the PCIe slot but this is the cheapest solution.
#1015 XPLives
Zitat von ⇗ diderius6 im Beitrag ¶ #1013
It is just a lie,
that Ryzen 1700 does not work on x570 motherboards.
Just in this moment I am installing XP SP3 on
Asus Prime x570 Pro
Dietmar

EDIT: It hangs with blinking cursor,
I cant see the harddisk. It seems to be a problem
of the STORAHCI driver.
It is not acpi related.
NVME boot also not works.

EDIT2: I connect the CD drive and the harddisk to different SATA slots,
first and last.
Now I can install XP !!!

EDIT3: Acpi multiprocessor works, network works, sound works, graphik works, but USB is a problem,
also no y-cable possible, only PS/2 mouse or keyboard.

EDIT4: Nice, on this board, the Ryzen 1700 (!) at 3741 MHZ with 71 degree Celsius max, is faster than the i7 8700k.




Yeah I would find it strange if R7 1700 would not work.  A newer one should maintain compatibility, but I hear the BIOS may run out of room soon for all the CPUs supported and I wonder if squeezing all future Ryzen 4000 CPU series will work on the X370.

Do you have any X570 MB with Asmedia 106X SATA controller to test?

Your method seems to only work with the nVME slot or is this on any AMD SATA controller too?

Which universal SATA driver are you using with the X570 and where is the link?  I will try this on the regular AMD SATA controller for compatibility.

Also which ACPI.sys file are you using and I will see if X370 is compatible? The one modified by infuscomus for checksum for VM testing did not work on my X370 MB.


Try installing XP using F7 NO ACPI method on X570 and see if it boots to desktop or can only run in Safe Mode.  I'm curious if it also hangs on your motherboard during first boot to desktop.
#1016 cedar ⇗ @diderius6

Good works on your Asus board.
I am having trouble to get the Lan network work.
I tried a couple of Realtek drivers by adding my hardware ID to it.

VEN_10EC&DEV_8168&SUBSYS_86771043&REV_15

It installed but with yellow exclamation mark. So it did not work.
Can I try your Asus Realtek Lan driver?.

Versions tried:
0001-Install_Win8_8.1_Win7_Vista_6112_03122014
0001-PCI_Install_XP_2K_5719_04062012
Gigabyte P75-D3 ,date 2011
Asus Prime-Plus B350 disc Lan driver.

Cedar
#1017 cedar ⇗ @infuscomus

I am having trouble with XP Realtek Lan driver.
Can I try your Asrock Realtek Lan driver too? May be
it will work on my board too.

As suggested earlier.
[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4

I added storport.sys,4. But I got message "Storport has value 0 in
[SourceDisksFiles]..." Can not install. Press F3 to exit.

Cedar
#1018 XPLives Did you install and get that Realtek LAN working in Windows 7 or 10?

If so what is the name of the device listed in Device Manager?

Sometimes it will tell you Realtek 8168A,B,C,... the last letter at the end is important.  If not shown there, you have to examine your motherboard with your eyeballs and see if you can find the Realtek Chip ID name which should show the letter after 8168.
#1019 cedar @ XPLives. The Realtek Lan works in win81. I believe I saw 8168H
with H from  Doubledriver.

Edit: It is in section H. Not necessary 8168H. My mistake.

From Doubledriver 's Restore.inf of Win7 a while back.

DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=7.109.526.2017
DriverDate=5-26-2017
DriverProvider=Realtek
DriverClass=Net
DriverInfPath=oem5.inf
DriverInfSection=RTL8168H.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&subsys_86771043&rev_15

-------------------------------------------------------------------

From Doubledriver 's Restore.inf of "Win81", It has 2 IDs?!

[RestoreInformation]
DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=8.1.510.2013
DriverDate=5-10-2013
DriverProvider=Microsoft
DriverClass=Net
DriverInfPath=netrt630x64.inf
DriverInfSection=RTL8168E.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&rev_06
[RestoreInformation1]
DriverDesc=Realtek PCIe GBE Family Controller
DriverVersion=8.1.510.2013
DriverDate=5-10-2013
DriverProvider=Microsoft
DriverClass=Net
DriverInfPath=netrt630x64.inf
DriverInfSection=RTL8168.ndi.NT
DriverHardwareID=pci\ven_10ec&dev_8168&rev_15

Strange! 2 Hardware ID's.

Cedar
#1020 diderius6 ⇗ @cedar ⇗ @infuscomus ⇗ @XPLives
I use this lan-driver for Realtek.
acpi.sys is my latest version and STORAHCI (big thank to Samuel Marins Oliveira) also with new storport.sys and txtsetup.oem
Dietmar

PS: I do not edit txtsetup.sif by hand, only use nlite and copy by hand acpi.sy_ and storport.sy_ via makecab.exe to the installationsfolder i386 for CD.



diderius6 has attached files to this post

 

Page 69

#1021 cedar ⇗ @diderius6

Thanks. I will try them soon.

Cedar
#1022 XPLives Yeah you will have to do the eyeball to motherboard check.

Look for where the Ethernet connector comes in from the rear side of the motherboard.  Then follow that into the motherboard and look for any Realtek 8168 chip.  You can find which model it is that way.
Probably starts with RTL.

I have a few PCIe NIC from Realtek and you can read it off the chip if you look closely.

I can confirm the one in Ivy Bridge I had is 8168E that works in XP.

Okay the one I recommended to buy off eBay the chip will say on it:
RTL8111E.

Cost about $5 on average shipped to the US total cost.

This one works great if not depending on the motherboard to hook it up which sometimes you have to be picky about which motherboard to get if you don't want to use any internal slots up.
#1023 diderius6 I just flashed the new Bios PRIME-X570-PRO-ASUS-7010
with result, that the board with Ryzen 1700 does not promt any longer, brrr.
But before I make a complete extract of the Bios with Universal BIOS Backup ToolKit 2.0.exe.
Now I am going to flash the Bios back, because ASUS CrashFree BIOS 3 does not work at all!
The Bios chip is Winbond 25Q256JWEQ, which is package size WSON 8x6-mm (8 pins)

25Q256JW
1.8V 256M-BIT
SERIAL FLASH MEMORY WITH
DUAL/QUAD SPI

I use for this Epromer tl866ii plus which supports this Bios chip as W25Q256JW(1.8V) @SOIC8
Dietmar

EDIT: I cant flash this Bios chip until now, because the package size 8x6-mm is too big for my test clip.
Because my original 407 Bios version is not listed at Asus site, I think, they just deleted the CPU id for Ryzen 1700,
for to make true, that this first generation of Ryzen chips can not work on this board..
#1024 diderius6 I just see, that the Universal BIOS Backup ToolKit 2.0.exe reads out only 16Mbyte (I compared 2 times)
but the Bioschip 25Q256JWEQ is 32Mbyte!!! So, on 256 Megabit Bios chip forget about this tool!
(EDIT: May be, that the Bios was before 16 Mbyte. And this information is written in header and the rest may be only FFFFFFFF..
In this case, I have a working Bios file.EDIT2: No, the Bios is always 32 Mbyte. The Tool Universal BIOS Backup ToolKit 2.0 does not work for this BIOS. )
I make a try with Epromer tl866ii plus to read the chip out, but fail.
I solder 8 cables, check check check each one for good contact, ok, works.
But even without cpu, ram, cmos battery,
the Epromer told "unknown chip" (but Pin check is ok) and reads out only FFFFFFFFFFFFFFFFF...also as serial number FFFFFFFF.
This behavior I know from results with other Bios chips, it just means, that not enough power is left for the insoldered chip.
To solder this Bios chip out will be a hard job, because other solder points are very near.

So I make NO try to write anything to this Bios chip, I also have no valid copy(?see above) from original Bios before.
Now, I desolder all cables, connect cpu, batterie, ram but behavior is the same as before:
The yellow LED is on all the time (ram). I changed to other DDR4 ram, test every slot,
no success, always yellow LED on.
So I wait for my 3700x cpu and then we will see.
No error message has been there when updating the Bios with Asus EZflash tool from version 407 to 7010.
Dietmar

#1025 cedar ⇗ @XPLives

Wow, it is small like a pea on the motherboard.
I need a flash light. It shows 8111H on the chip.
Good info to know, thanks.

After adding my HW ID to Dietmar's driver. Networking is ok now.
The remaining 2 devices still have yellow exclamation mark are
the AMD GPIO device and USB 3.0 driver. If I try to install
USB 3.0 driver on the Standard Enhanced USB controller(installable),
but with no function USB HUB driver.

I got BSOD with USBport.sys error. So mouse on USB 3.0 port not
working, but mouse on 3.1 port works, as USB 3.1 driver works.

Cedar
#1026 diderius6 I changed the cpu Ryzen 1700 against Ryzen X4 950 on the Asus Prime x570-Pro.
This time nothing at all happens, when I try to start the board.
So I hope for the best, that the Ryzen 3700x (comes tomorrow)
will boot this board. Interesting, if it is possible to flash back to the first, original 407 Bios
Dietmar
#1027 diderius6 The yellow LED (ram) stays enlighted, even with new processor Ryzen 3700x on the Asus Prime x570-Pro.
So, Asus has done a very bad job on their new Bios 7010 for this board. No flashback Bios no crashfree Bios, all lie
Dietmar

PS: Hope, that desoldering the Bios chips and flash new (with old Bios 407) will help.
Or I put this board away and just stay with Intel.

It is not me, to give up so quick. I just ordered the Epromer REVELPROG IS
who supports the 25Q256JW Bios chip. I hope, that with this Epromer I can flash
the still insoldered Bios chip. Until now, I do not find this Bios chip for to buy.

EDIT: I found this Bios chip at mouser.com and ordered it:
Mouser-Nr.:
454-W25Q256JWEIQ
Herst.- Nr.:W25Q256JWEIQ
Beschr.: NOR-Flash spiFlash, 1.8V, 256M-bit, 4Kb Uniform Sector

EDIT2: After long search I found also a socket for this Bios Chip
Description
The socket is designed for chips with WSON8 6*8 mm package. The socket can be soldered directly on the WSON8 6*8 mm PCB foot print. Will be not easy to solder.


#1028 diderius6 I succeed to flash the original Bios 407 back to the Asus Prime x570-Pro board.
The serial number of the Bios chip 25Q256JWEQ is EF6019.
Uefi tool shows this as a valid Bios, 16 Mbyte.
I test this 2 times. All seems ok. I also read out before the "new" Bios 7010, Uefi tool show this as valid Bios, 32 Mbyte.
I reset Cmos, put the Ryzen 1700 in, which works there before.
But the yellow LED (ram) continues to shine. I test different DDR4 rams, in different slots. Always the same,

Dietmar

EDIT: I just order a new board Asus Prime x570-Pro.
#1029 diderius6 This message I send to Asus:

"Dear Sirs and Madames,
5 days ago I bought an Asus Prime x570-Pro.
The CPU is Ryzen 1700. Everything worked with it.
A bios version 407 was indicated to me.
I have made a backup of this bios,
however, it does not work, possibly because of the wrong size 16 Mbytes, since the new updates all have a size of 32 Mbytes. The biochip is Winbond 25Q256JWEQ (Wson 8 * 6, 8 pins).
With this Ryzen 1700 CPU I have updated to the Bios 7010. The update via USB stick was normal, means works full until the end, without any error message.
After that I could not start the board anymore, the yellow LED (RAM) lights up constantly. Other DDR4 Ramsticks in different slots do not change that.
I have also tested the Ryzen processor 3700x, the yellow LED is constantly on.
I would be very happy if you could send me an original Bios 407 with the number for the network card, etc.
I have experience in biosupdate and can flash a bios by eprommer.
Please send me such a bios without the CAP backup,
many greetings
Dietmar
"
#1030 diderius6 Now I will test the Ryzen 3700x for XP on the
Asrock Fatal1ty AB350 Gaming k4 board,
there I can change the Bios chip
Dietmar
#1031 diderius6 Yessssssa, nice board Asrock Fatal1ty AB350 Gaming k4 !!!
I think, this is very first time, XP SP3 on Ryzen 3700x.
I update Bios from 5.40 to 5.80.
Size of Bios is always 16 Mbyte.
Even USB 3.1 works, ACPI, lan, sound, STORAHCI, mouse, y-cable on PS/2 and everything else.
The Ryzen 3700x is in Cinebench without any overclock
exact as fast as the 9900k
Dietmar

EDIT: Chipset is not running hot, and also the Mosfets not. Temperature is about 50 degree Celsius
with Prime95, 3DMark2001, Cinebench, Youtube video running all at the same time.
The CPU Ryzen 3700x reaches 78 degree Celsius during this torture , which is about the same as with Ryzen 1700.
Both use 65 Watt.

EDIT2: I just get 143 brandnew updates for XP SP3 from Posready2009:)).

EDIT3: Any overclocking makes the cpu a little bit slower!

EDIT4: Nvme boot of XP does not work. Last time was with Bios 3.30.

EDIT5: With nearly zero load, cpu core is 1.50 Volt (standard settings all). This is not good for cpu long life.

#1032 XPLives ⇗ @diderius6

Try installing XP with F7 NO ACPI method on the same motherboard.

Will it install XP all the way to first desktop boot or freeze?

Freezes on my Asrock X370.  Safe Mode works but very sluggish as if something stalling it and mouse is laggy sometimes.

Any Windows 2000 OS install on Ryzen success?


Maybe try to add 3700X CPU MicroCode to BIOS 3.30 so it works and can use nVME XP boot?

My hope is Intel Ice Lake / Tiger Lake continues same backward compatibility as Z370 so XP will continue to work using 10nm including Windows 2000.

Seems too many compatibility issues with AMD AM4 so far.  Intel's backward compatibility is superior.

Intel Sapphire Rapids for 7nm and DDR5 / PCIe 5.0 256GB-512GB RAM support with 8 memory modules I will upgrade then and use XP.

Tired of limited 64GB memory max with 4 slots instead of 64GB DDR5 memory sticks and 8 slots to match the 16 Cores / 32 Threads.
#1033 diderius6 ⇗ @XPLives
I have not tried to install "Standard PC" on Ryzen 3700x,
because then you dont get Acpi after.
Only vice versa this works.
The installation works without any crash or freeze.
I noticed another thing: On Ryzen 1700 the STORAHCI driver was faster than the ASM106x.
But on Ryzen 3700x, the ASM106x is faster
Dietmar

PS: Asrock changed whole Bios from version 3.30 to version 3.40.
With 3.40 the problem with lancard is gone, but also nvme boot is gone.
So, in the end I stay with Intel, because those kind of problems I have never seen there.
It is a problem of how the board is constructed. Crazy, how Asrock can to give lancard the same lines as for USB3.1.
On all my newer Intel boards I can do nvme boot of XP SP3 and those crazy problems with Bios updates I match the first time with AMD, brrr.., but ok, now I am again better in soldering..and do crazy things to flash an Bios chip:)).
#1034 infuscomus ⇗ @XPLives

Can you take a screenshot of the A5 BSOD you are getting on X370 in XP?
#1035 diderius6 ⇗ @Lost_N_BIOS

Can you please help me to save my Mac adress etc.
from the broken Bios of AMD board asus prime x570-pro?

I make a backup with working Bios 407 with Universal BIOS Backup ToolKit 2.0.exe, which may have wrong file 16Mbyte size which I call 407.
The other is with Epromer full read out after the update, not working Bios 7010 32MByte,
I call 7010.

Dietmar

PS: Both Bioses should have Mac adress etc. from my board and they should be identic.

⇗ https://ufile.io/0nlebva8

⇗ https://ufile.io/pttbiy9k

 

Page 70

#1036 diderius6 Ok, what I found with Winhex for the Asus Prime x570-Pro board in its readout of Bios 407 (and also 7010) is

SN      190551498900517  (Dezimal) at 2 places
MAC    04D9F51E29E0       (Hex) at 2 places
UUID   D008090B92A5E8F9C07D04D9F51E29E0 (Hex) at 2 places


From Asus Website I download oldest Bios, what I can get
0602 version.
This Bios I open with UEFI-Tool and for to delete cap I store only UEFI image (under AMI Aptio capsule).

I use FD44Editor.exe to copy this values direct into the downloaded Bios (free from cap) from Asus website (to change the 2 times 50 (FF..) against the above values at its 2 places )
and flash via Epromer direct to Bios chip,
Dietmar
#1037 diderius6 I flashed this bios 602 with Mac, UUID, SN back to Asus Prime x570-Pro board.
I doublecheck, that the written Bios is exact the same as the Bios file.
But still the yellow LED is on,
so something really bad is going on
Dietmar
#1038 infuscomus ⇗ @diderius6

faulty RAM maybe?
#1039 diderius6 ⇗ @infuscomus

No, I tested different Ram sticks, different brands. All they work on other boards.
Double, single mode, each slot.
It is Bios related, because the same ram works before also on this board,
see photos in post 1013 here. And it is not only one Bios
for this motherboard, that fails. The 602 version fails also,
next to 7010.
The only Bios, that worked, was version 407 for Ryzen 1700.
Tomorrow I will test this Bios 407 and also Bios 804 on second new board Asus Prime x570-Pro with Ryzen 3700x.
Dietmar

PS: Asus sent me mail, that they accepted my case
but nothing more.
#1040 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1033
@XPLives
I have not tried to install "Standard PC" on Ryzen 3700x,
because then you dont get Acpi after.




Yes that is the point of the test to see if it installs fully and boots to the desktop in F7 NO ACPI method.  If it works then you can still use XP minus hyperthreading and shutdown/standby on AMD AM4.

This determines compatibility.  In all the tests I've seen with Coffee Lake and SkyLake both have no issues installing XP to completion using this method.

I want to see what happens on your X370 and your X570 MBs using "F7 NO ACPI method" if XP can install successfully and boots to desktop in normal mode.

If not I want to know where it freezes and if Safe Mode works to get to the desktop during this failure.
#1041 XPLives ⇗ @infuscomus

Zitat von ⇗ infuscomus im Beitrag ¶ #1034
@XPLives

Can you take a screenshot of the A5 BSOD you are getting on X370 in XP?


It's your typical BSOD A5 screen message.

Here are the Error Codes using your image:
⇗ How to install Windows XP OS on AMD (AM3+ 990FX and AM4 X370 Ryzen 7)
#1042 diderius6 I just ordered the cheapest RAM stick (20 Euro),
which is in the compatiblity list from Asus for memory for the Asus Prime x570-Pro board.

G.Skill NT Series DIMM 4GB, DDR4-2133, CL15-15-15-35 (F4-2133C15S-4GNT)

Dietmar

PS: If this one also will fail, it is to 100% the fault of Bios from Asus.
#1043 diderius6 ⇗ @XPLives
At the moment I have no working x570 board.
But I think, without ACPI install of XP SP3 will be no problem
Dietmar

PS: When you install XP SP3 via CD, the screen with special BSOD is important for diagnosis.
#1044 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1043
@XPLives
At the moment I have no working x570 board.
But I think, without ACPI install of XP SP3 will be no problem
Dietmar

PS: When you install XP SP3 via CD, the screen with special BSOD is important for diagnosis.

Test on your X370 MB with F7 NO ACPI method install.  Let me know the results for your Ryzen 7 3700X and Ryzen 7 1700 CPUs if both install XP successfully with NO ACPI.

BSOD A5 ACPI Error Code Results are here:
⇗ How to install Windows XP OS on AMD (AM3+ 990FX and AM4 X370 Ryzen 7)

Unfortunately your ACPI.SYS did not work.  It's possible your ACPI.SYS is only compatible with your MotherBoard or just Ryzen CPUs but not earliest AM4 Bristol Ridge and Raven Ridge CPUs.

At the moment I cannot say the ACPI.SYS is universal since it has failed on my X370 which should have worked.

I have yet to test it on the SkyLake and Coffee Lake MB to see if that fixes the ACPI issue.

I'm now testing F7 NO ACPI method using the same image.  Should see the new results within the hour.
#1045 diderius6 ⇗ @XPLives
Read post 891 here
Dietmar

PS: I test Athlon X4 950, A8-9600, Ryzen 1700, Ryzen 3700x, 8700k, 9900k for XP SP3.
All work with this acpi.sys. And Infuscomus test also 2400G with success.
Also I test some Celerons, Pentium for Skylake, Coffeelake, work with full ACPI.
#1046 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1045
@XPLives
Read post 891 here
Dietmar

PS: I test Athlon X4 950, A8-9600, Ryzen 1700, Ryzen 3700x, 8700k, 9900k for XP SP3.
All work with this acpi.sys. And Infuscomus test also 2400G with success.


If your X370 works with Bristol Ridge then maybe motherboard differences exist between B350 and X370 chipsets.

Test F7 NO ACPI on your B350 XP install on your Bristol Ridge see if it can install XP completely to first desktop.

Still installing XP (driver.cab) 7% stuck for a long time almost half an hour.  Might reboot the computer and hook optical drive to a different SATA port than AMD if this takes too long with no progress.
#1047 diderius6 ⇗ @XPLives
Until now I do not have a x370 board for testing.
From AMD I tested B320, B350, x570 which all works with full acpi and XP SP3
Dietmar

PS: I installed XP SP3 on 2 different Bristol Ridge CPUs without and also with acpi,
see above.
#1048 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1047
@XPLives
Until now I do not have a x370 board for testing.
From AMD I tested B320, B350, x570 which all works with full acpi and XP SP3
Dietmar

PS: I installed XP SP3 on 2 different Bristol Ridge CPUs without and also with acpi,
see above.


Ahh... I had to reset then moved both optical drive and SATA SSD to Asmedia 106X ports.

I think AMD SATA ports dislike XP installation for some reason.  Even SSD on AMD and optical drive on Asmedia had issues.

Seems to copy now faster on both Asmedia but hanged on different parts after files copied.

Now I reset the BIOS and do a clean test again now to be certain no conflict.

Were your ACPI and NO ACPI tests all done on SATA SSD on Asmedia SATA ports?
#1049 diderius6 ⇗ @XPLives
Most I use normal harddisk (I use about 20 harddrives each 2 Terabyte black WD, very fast>200 Mbyte/sec)
because I can easy format, align and copy file by file from and to them via USB adapter
Dietmar

PS: Before we have STORAHCI driver, which works for any AMD and any Intel SATA, I always use asm106x. Only for Intel board,
there has been a generic SATA driver for years now on the market.
The CD drive only hangs, when the CD disk is not absolut clean.
#1050 infuscomus ⇗ @XPLives

So my install media that I used for my AB350 GamingK4 board froze for you on X370?

What motherboard do you have?
Which BIOS version?


BSOD A5 ACPI Errors:
0x00000011
0x00000008
0xF79A1478
0x20120913


I think this means ACPI failed to load DDB.
⇗ https://docs.microsoft.com/en-us/windows...acpi-bios-error

I would get this error when I tried to patch the DSDT table, never worked and ended up using the patched driver that supports more arguments (CreateQWordField for example)

 

Page 71

#1051 diderius6 ⇗ @Lost_N_BIOS

Do you know a tool,
that can read out the full 32 Mbyte of Bios chip on AMD AM4 board Asus Prime x570-Pro?
Universal BIOS Backup ToolKit reads only 16 Mbyte out,
but Winbond chip 25Q256JWEQ is 32 Mbyte,
Dietmar

PS: Ok, this means soldering.
#1052 diderius6 With original readout of the 407 Bios (nightmare, is really 32 Mbyte and not all FF after first 16 MB, so the tool
Universal BIOS Backup ToolKit 2.0 cant be used for this Bios chip with 32 Mbyte!)
I succeed to start with Ryzen 1700 and with Ryzen 3700x
on the AMD AM4 board Asus Prime x570-Pro XP SP3 full Acpi, all works, USB only via Pcie card.
The website from Asus tells only nonsense about Bios versions, compatible Ram and compatible processors for this board Asus Prime x570-Pro. And the most evil is, that the Bios version 407 cant be found there.
Ryzen 1700 works at once with all different ram sticks,
but for the Ryzen 3700x I had to change ram as much as possible,
before one time I see the yellow LED blinking.
After next 4 tries with changing ram, slots..
the board starts with Ryzen 3700x. Any other Bios version than 407 does not work on this board until now.

NEVER update your BIOS on this board or you will be lost!!!

EDIT: After 30 min prime95 with Ryzen 3700x it crashes. The Asrock Fatal1ty AB350 Gaming k4 runs stable for about 2 hours with the Ryzen 3700x and the torture includes prime95, Cinebench, 3Dmark2001 and Video from Youtube all the time.
So, this 80 Euro board is better than this new one for 280 Euro, brrr..

EDIT2: With Ryzen 1700 @3641 MHZ and the same torture test, the Asus Prime x570-Pro (Bios 407) crashes after 53min.
Tmax is 74 degree Celsius. Repeating the same for Ryzen 1700 no overclock at all, now it crashes after 35 min.
Asus Prime x570-Pro is build quick and dirty.

Dietmar

#1053 diderius6 I run a new stresstest on the Asrock Fatal1ty AB350 Gaming k4
with the Ryzen 3700x cpu.
prime95, Cinebench, 3dmark2001, video from Youtube all the time.
It is stable, nice board.
Even the temperature managment is better on the Asrock board than on the asus prime x570-pro:
78 degree Tmax Asrock against 81 degree Celsius Tmax Asus in long run
Dietmar

PS: Asus send me a mail, that I can rma the board.
And that they dont have the Bios 407 (from their own board(!)) .
Oh, a lie in combination with worst service ever.

EDIT: Correction, Asrock Fatal1ty AB350 Gaming k4 board crashes on this torture also after about 1 hour.
First network connection is gone (this is reproducible in about 1 hour torture) (Youtube) and then BSOD, brrr..
EDIT2: Now 90 min torture on the Asrock board without any crash.
#1054 diderius6 I succeed to flash the Bios back on the Asus Prime x570-Pro board,
something, from what the man from Asus told "it is impossible".
The Bios chip is now "hardwired",
I use the SPI-TPM link for this:
Adapter with 2 rows a 7 pin, 2 mm distance
SQT-107-01-L-D
via mouser.com
Dietmar

PS: By the way I notice, that all about Mac, UUID, serial etc. is also nonsense.
I have now 2 compis which where to 100% identic.
Take a look at the Bios version:))!!!

EDIT: On Cinebench, the Ryzen 3700x is 23% faster as the Ryzen 1700. Hm, for what is the Hype?





#1055 diderius6 The REVELPROG IS is by far the best Epromer, that I know.
It is manufactured in Poland and quite expensive (150 Euro).
Very good quality and good Software support.
And it is fast. It runs on XP SP3, Vista, Win7, Win8, Win8.1, Win10 (all 32 or 64 bit).

Now I can read and flash any Bios chip,
without any soldering or to put the Bios chip out of the mainboard.
No clip is needed. I just use the SPI TPM connector with this nice Epromer, professional as in factory,
Dietmar

PS: It includes a Hexeditor, so you can manipulate single Bits in Bios file and flash this new Bios.
Also it has a checksum tool.
And a DiffChecker tool, that allows you to compare 2 bin or hex files at one screen (waoh).

EDIT: SPI TPM (female) Adapter is 2 rows 7 pin, 2 mm distance
SQT-107-01-L-D
via mouser.com
#1056 nofearek9 hello,whats the solution for winxp to see hard drivers bigger than 2TB ?

Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.
#1057 diderius6 ⇗ @nofearek9
You can buy the driver Paragon GPT Loader for XP, I have,
with which you can read GPT drives under XP as large as you want
Dietmar

EDIT: And even with MBR XP can work via USB with really big drives, just formatted
with NTFS and 4k sectors.
⇗ https://www.seagate.com/de/de/internal-h...s/hdd/ironwolf/
16TB 5 years garantie, 250 MByte/s, sectors 512e , means Emulation via 4k should be recogniced from XP from start.

By the way, I prefer WD, no error on HD in 10 years.

Align to 4096 sectors and all HD with 512e > 2TB can be used in XP 32 bit also as boot device with MBR,
very fast, no difference to <= 2TB.
⇗ https://geizhals.de/western-digital-wd-b...=de&hloc=de&v=k
250Mbyte/s read, write in XP, nice.
#1058 nofearek9 i dont want to format the drives cause they already have data on them,its about 3TB usb drives,paragon dont offer anymore the driver is discontinued.

Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.
#1059 infuscomus ⇗ @nofearek9

I have GPT loader if you want it
#1060 nofearek9 yes please ,if you can upload it will be nice,thanks.

Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.
#1061 infuscomus ⇗ @nofearek9

I sent you a PM
#1062 XPLives ⇗ @nofearek9, ⇗ @diderius6, ⇗ @infuscomus

Zitat von ⇗ nofearek9 im Beitrag ¶ #1056
hello,whats the solution for winxp to see hard drivers bigger than 2TB ?


Since this discussion relates more to my other thread I felt it better to respond there in its entirety where it makes more sense.

⇗ The XP Yeager Project: 16TB -- Breaking the 2.2TB Capacity Barrier
#1063 canonkong I had made some generic USB drives for XP 32/64bit, and it test on my B360, X370 and R7-3700X has a usb controller named 149C, the same with X570. They are all working!
#1064 infuscomus ⇗ @canonkong

Nice!
I have a B350, 2700X, 2 extra AMD USB 3 controllers 15E0 and 15E1 that currently are not working on XP
#1065 nofearek9 thank you all for your replys.

Asus Rampage IV Black Edition,Intel Xeon e5-1680v2@4,7ghz,Corsair XMS3 64GB DDR3(8x8),Samsung 950 PRO 256GB,EVGA GeForce RTX 2070 XC GAMING 8GB,Lian Li PC-60FNWB ,Corsair Gold AX750PSU,Noctua NH-D15 .
Asus Rampage III Gene,Intel Xeon X5660@ 4,5ghz,Corsair XMS3 48GB DDR3(6x8),Samsung 950 PRO 256GB.

 

Page 72

#1066 diderius6 ⇗ @canonkong
I am very interested,
how you reach this
Dietmar

PS: Do you have an idea, how to make USB ports on newer Intel boards to work under XP?
This would be a big step forward.
#1067 canonkong ⇗ @diderius6
Modify like win7 usb drivers for new platforms. You need to find some USB driver support XP and use XHCI 1.0 and modify them inf/sys files. Then sign the driver.
#1068 XPLives !canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1067
@diderius6
Modify like win7 usb drivers for new platforms. You need to find some USB driver support XP and use XHCI 1.0 and modify them inf/sys files. Then sign the driver.


What is your interest in XP and Windows 7?

Can you make Intel USB 3.0 driver for Vista work?

I'm not sure what your process is.

You took Intel Windows 7 USB 3.0 driver and did what to it to make it work in XP?

How do you sign the driver for XP?

Can you modify Intel XP Graphics Driver for Intel HD Graphics 4000 to work on newer SkyLake HD Graphics 530 and Coffee Lake 630?

Would be nice to use newer Intel HD Graphics 4000 driver even if not using the full power of the iGPU while under XP instead of generic Windows driver.

Also any way to modify the graphics driver to use shared memory above 4GB memory region instead of taking away from XP OS region and increase shared memory usage range higher like 2GB to 4GB RAM?
#1069 canonkong ⇗ @XPLives
I am still using  win7 for my B360 Z390 X370 and prepared to buy X570 and 3950X, they all will install win7 because I dont like Bug10.
I modified few usb drivers for B360/H370/Q370/Z390 and X570, they both can work on win7/win8/8.1,but I dont have try vista. Maybe it also can work.
I aslo modified UHD630 drivers  for win7/win8/8.1, but I dont think it can support Xp.
For sign, I have signtool to do that.
XP 32bit can also support above 4G RAM like server 2003.
#1070 diderius6 ⇗ @canonkong

I have a lot of USB 3.0 and USB 3.1 drivers,
which work under XP.
To modify *.inf is clear for me,
but all fail for newer Intel chipset USB ports (bluescreen or drivers does not start).
How to modify *.sys files as you told?
Is there the _DEV number something like hard-coded in the *.sys files for XP
Dietmar
#1071 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1054
I succeed to flash the Bios back on the Asus Prime x570-Pro board,
something, from what the man from Asus told "it is impossible".
The Bios chip is now "hardwired",
I use the SPI-TPM link for this:
Adapter with 2 rows a 7 pin, 2 mm distance
SQT-107-01-L-D
via mouser.com
Dietmar

PS: By the way I notice, that all about Mac, UUID, serial etc. is also nonsense.
I have now 2 compis which where to 100% identic.
Take a look at the Bios version:))!!!

EDIT: On Cinebench, the Ryzen 3700x is 23% faster as the Ryzen 1700. Hm, for what is the Hype?


   



Only 23% faster is not bad for one generation for AMD.  But I think the real hype is the lower wattage consumption going to 7nm.

I still think Intel has better BIOS options than AMD on the same MB manufacturer.  I don't know why that is.
Can you lower CPU Ratio to below 8 on your X570 MB?
Can you decrease CPU speed below 800 MHz?
How low can the CPU Core Voltage be set?
#1072 canonkong ⇗ @diderius6
Use IDA7.0, it can show the sys files running. Find out the DEV_ID confirm parts, replace ID or use jmp and nop to block them.
You can download this modified driver, it not only can support Intel USB devices, you can modify the ID like CC_0C30 or CC_0C330, that it can work almost all usb controllers devices.


⇗ [Solution] Win7 drivers for USB 3.0/3.1 Controllers of new Intel chipset systems
#1073 XPLives ⇗ @canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1069
@XPLives
I am still using  win7 for my B360 Z390 X370 and prepared to buy X570 and 3950X, they all will install win7 because I dont like Bug10.
I modified few usb drivers for B360/H370/Q370/Z390 and X570, they both can work on win7/win8/8.1,but I dont have try vista. Maybe it also can work.
I aslo modified UHD630 drivers  for win7/win8/8.1, but I dont think it can support Xp.
For sign, I have signtool to do that.
XP 32bit can also support above 4G RAM like server 2003.


Yes that is why I wonder if you can use the Intel HD Graphics 4000 driver for XP to work on HD 530 and 630 Intel Graphics with some modding?

Not the other way modding Windows 7 driver to work in XP.

Vista if you can make work for Intel USB 3.0 will work for Windows 7 and maybe 8 automatically.  Forward compatible so no worries.

Which signtool for XP do you use?

XP 32-Bit can use over 4GB but mainly for a large Ramdisk but 2003 does it better directly.

"Use IDA7.0, it can show the sys files running. Find out the DEV_ID confirm parts, replace ID or use jmp and nop to block them."

Which USB 3.0 driver are you modifying to work in XP?

Can you use a hex editor to modify the parts also?

Are you getting full USB 3.0 speeds in XP or USB 2.0 speeds?

Did you test with all USB devices working? - USB Keyboard, USB Mouse, USB Audio, USB hard drive, USB webcam?
#1074 canonkong ⇗ @XPLives
Signtool can use Asia Trust signtool.
You need find a driver can support XP original then when you modified the sys file,it will success more easily. Almost all usb drivers can modify support other devices if the driver use XHCI1.0 original.
Use IDA will better than HxD.
The speed base one the controller, if it can support usb3.0, it will run 3.0 mode.
Almost all usb devices can work, but USB to nvme disk maybe can not work if you dont link a usb hub.
#1075 diderius6 ⇗ @canonkong
How can I find "DEV_ID confirm parts" with IDA pro
in *.sys file? Have I to mod both, xhci and hub driver? Do I need the *.pdb for this?
Is there a difference between AMD and Intel USB drivers?
Is there a difference between USB3.0 and USB 3.1?
Which XP 32 bit USB 3.0, USB 3.1 drivers you woul recommend for hack?
Have you done this for XP with success?
Is PCI\CC_0C03 best as generic _DEV
Dietmar

PS: Sorry for this a lot of questions. But I want to make USB work on newer Intel, AMD chipsets for XP.
#1076 XPLives ⇗ @canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1074
@XPLives
Signtool can use Asia Trust signtool.
You need find a driver can support XP original then when you modified the sys file,it will success more easily. Almost all usb drivers can modify support other devices if the driver use XHCI1.0 original.
Use IDA will better than HxD.
The speed base one the controller, if it can support usb3.0, it will run 3.0 mode.
Almost all usb devices can work, but USB to nvme disk maybe can not work if you dont link a usb hub.



The link you had earlier was for the Windows 7 USB 3.0 driver?  Or does that one also work on XP?

If not where is the one for XP you modified?

Which XP USB driver company did you base the mod test on before you modified it?  It was not Intel since they didn't have any XP or Vista one released even today.

How do you know which USB drivers support XHCI1.0 original?  Are you referring to USB 3.0 drivers for XP and not USB 3.1?
#1077 canonkong ⇗ @diderius6
Just modify xhci.sys and *.inf is enough. *pdb is not need.
I didnt found any difference between 3.0 and 3.1.They both can work.
NEC VIA intel amd both are ok.
I will share an USB driver tonight when I after work, you can test it and report it.
#1078 diderius6 ⇗ @canonkong

The VIA USB 3.0 driver is very stable and fast in XP. So this would be a good choice.

I just take a look at the Asmedia ASMUSBHost_v1.16.55.1 driver for USB 3.1 for XP,
which works. You are right, for example in xhci.sys with  unicode 0, <PCI\VEN_1B21&DEV_2142&*>,0
is hardcoded there, so it can work
Dietmar

EDIT: I just make a test, changing in Asmedia ASMUSBHost_v1.16.55.1 driver for USB 3.1 for XP
asmtxhci.sys

PCI\VEN_1B21&DEV_2142&* => PCI\CC_0C03


5000430049005C00560045004E005F00310042003200310026004400450056005F00320031003400320026002A000000

=>

5000430049005C00430043005F0030004300300033000000909090909090909090909090909090909090909090909090
#1079 diderius6 At once I come to the idea,
to test this nice method from ⇗ @canonkong also
for other devices,
namly Intel(R) Ethernet Connection I219
Dietmar
#1080 infuscomus ⇗ @diderius6

I wonder if HWIDs are hardcoded into nvidia drivers?

It would be awesome to have RTX 2080Ti working on XP
sure ray tracing won't work but still having a faster GPU would be nice

 

Page 73

#1081 diderius6 ⇗ @infuscomus
I think, it has only a chance to work,
when there is a generic driver, as for USB
PCI\CC_0C03
Then you can change the special VEN_&DEV_ against the generic one
Dietmar

PS: And you need a driver, that works for XP before.
Sometimes you have luck with driver for Vista or Win2003 or Win7.
This you can check with Dependency Walker. If there is one red mark, no chance without
heavy mod.
#1082 canonkong ⇗ @diderius6
Try it, maybe can both support AMD and Intel usb device. Tell me it wokes or not.
#1083 diderius6 ⇗ @canonkong
On Intel board this nice driver works as generic USB 3.1 for XP SP3 32 bit.
On Intel board for USB 3.0 this driver does not work.
Waaoh, great work
Dietmar

EDIT: Correction: The driver (xhci and hub) installs, but the device (USB stick or mouse) is not recogniced.
#1084 canonkong ⇗ @diderius6
What about AMD 300/400series and x570?
#1085 canonkong ⇗ @diderius6
"The driver (xhci and hub) installs, but the device (USB stick or mouse) is not recogniced."
intel usb3.1 or 3.0, and both can not work?
There few ways to modify it. Maybe need to change somewhere.
#1086 diderius6 ⇗ @canonkong
USB 3.0 does not work.
For USB 3.1 xhci and hub driver installs correct,
but the mouse and Usbstick is shown as unknown device
with each Vid_0000&Pid_0000
meaning, those numbers are not recogniced gives "unknown device"
in device manager. This happens for mouse and for Usb stick
Dietmar

EDIT: This empty Vid&Pid means, that Usbstor.sys is not loaded.
#1087 canonkong diderius6
What about AMD 300/400series and x570?
Because this driver once is prepare for X570, just add an ID for intel, not fully suport , maybe intel platform need to fix somewhere.
#1088 diderius6 ⇗ @canonkong

On the Asus Prime x570-Pro
all USB3.0 slots work (mouse, usb stick) under XP SP3 with your driver.

All drivers for USB3.1 and USB3.2 are installed,
but usbstor does not start for them, which gives unknow device (for mouse, usb stick) as for the Intel board
Dietmar
#1089 canonkong ⇗ @diderius6
"X570 is working well? All USB3.0 slots work (mouse, usb stick) under XP SP3."  Right?
"All drivers for USB3.1 and USB3.2 are installed,but usbstor does not start for them, which gives unknow device" meant x570 for mouse, usb stick can not work?
#1090 infuscomus ⇗ @canonkong

is amdstor.sys necessary? can you just use usbstor.sys?
#1091 canonkong @ infuscomus
Maybe we can try it.
#1092 diderius6 ⇗ @canonkong
I tried the Asmedia Usb files.
They are installed,
ask for reboot,
but then not start.
The Asmedia USB has the advantage, that there are real USB3.1 and USB3.2 drivers for AMD and Intel.
When you can describe a little bit more, how and what you change in the xhci.sys file
may be I can help you
Dietmar

PS: My own created Asmedia driver is also installed correct, but does not work.

EDIT: No other files are needed. It is just a small missing thing in modding xhci.sys.
#1093 diderius6 I just see, that in the *.inf file
the file amdstor.sys is mentioned.
So, now I think, it takes the role from usbstor.sys
Dietmar

PS: So you need to copy the file amdstor.sys
into folder windows\system32\drivers.
I make a try with renaming amdstor.sys to usbstor.sys.
#1094 canonkong The driver work well on win7, maybe Xp need to change more. Because I dont have any experience about programing, so I just try it again and again. Few days ago a hacker told me that we can modify the win10 usb driver. Is it possible to modify a win10 usb driver work on win7? And I thought maybe some hackers can do that, but they dont have this ability, it to hard.
#1095 diderius6 Yessssssssssssssssssssssssssssssaaaaaaaaaaaaaaaaaa, I got all USB 3.0 3.1 3.2 drivers to work under XP SP3 !!!!!
I just rename in *.inf all

amdstor => usbstor

Thats all
Dietmar

PS: So much thanks to ⇗ @canonkong!





diderius6 has attached files to this post

 

Page 74

#1096 cedar ⇗ @diderius6

Good works!. The USB3.0 posted earlier did not work in my Asus Prime 350 board.
Can you post the new mod 3.0 driver? may be it will work for me too.

Any progress on XP64 ACPI?.  Backup from X265 is about 35% faster on
X64 platform than 32  bit OS. The newest ffmpeg64 for XP64 tested is at
about Nov 2017. Don't know if anyone have a newer version?

Cedar
#1097 diderius6 ⇗ @cedar
Make try with the USB file
that I post here (with nice help from ⇗ @canonkong). It is really generic
Dietmar
#1098 cedar ⇗ @infuscomus

Not much luck with the burned iso. It did installed without swapped hard
till the end with no error(grahicic mode). But it also flash BSOD next run
like my own earlier installs. No minidump. Standard mode is ok.

Tried 2003 ent. trial version. Std mode also ran. Can see Standard mode
and multi PC ACPI under CPU entry at the same time. BSOD when changed
to ACPI and see next message as IRQL NOT LESS OR EQUAL.

bluescreenview pointed to Ntoskrnl error.

XP2003 was tried from installed on ivy system than swap to Ryzen. Will
try burn ISO sometime later.

Cedar
#1099 diderius6 Also all USB 2.0 USB 3.0 USB 3.1 USB 3.2 slots work now on the nice board
asrock fatal1ty ab350 gaming k4 under XP SP3,
just together with Ryzen 3700x
Dietmar
#1100 diderius6 ⇗ @canonkong
Can you please upload the whole package,
with the unmodded driver for AMD USB?
I notice, that for the Asmedia USB there are
2 different xhci.sys files for Intel and AMD.
On Intel boards we have to mod the other one
Dietmar
#1101 IntiMD
Zitat von ⇗ diderius6 im Beitrag ¶ #1100

I notice, that for the Asmedia USB there are
2 different xhci.sys files for Intel and AMD.
On Intel boards we have to mod the other one
Dietmar


Not him, but if you are talking about the AMD64 and the IA64 folders, they're just different instruction sets - x64 (otherwise known as AMD64, x86-64) and the Intel Itanium architecture (otherwise known as IA-64, isn't in mainstream anymore and retired in 2021) respectively.
#1102 diderius6 ⇗ @IntiMD

I mean the AMD driver (AMD64 64 bit, just name for AMD) for XP
and the i386 name for Intel for XP 32 bit.
Until now I do not have the this whole package of unmodded drivers.
With the Asmedia driver I have some success today,
but I think this are the most difficult drivers of all USB,
so may be AMD or VIA is much easier to mod and to take the oldest version of them which works for XP 32 bit
Dietmar
#1103 IntiMD
Zitat von ⇗ diderius6 im Beitrag ¶ #1102
@IntiMD

I mean the AMD driver (AMD64 32 bit, just name for AMD) for XP
and the i386 name for Intel for XP 32 bit.



Like i said before, AMD64 is one of the names for the x86-64 (64-bit) arch, while i386 is one of the names of the x86 (32-bit) arch. The folders are depending on the OS bitness. The ASMedia drivers include both 32 and 64-bit builds of the drivers and since the usb 3.0 drivers should be targetted for XP 32-bit, the driverfiles in the i386 folder need to be modified.
#1104 diderius6 ⇗ @IntiMD

Of course you are right,
it was my mistake.
There is no difference between AMD 32 bit and Intel 32 bit,
driver is always in i386 folder
Dietmar

PS: The generic AMD driver here works also for the Asmedia 3.1 USB under XP 32 bit.
But it does not work for Intel chipset USB 3.0 which looks strange to me, I dont understand why not.
I make new test with the VIA 3.0 driver for Mod.
#1105 canonkong ⇗ @diderius6
Very good! Use the same name to replace the system itself usb driver, maybe we can make a generic usb driver replace the system inside usb driver.
#1106 infuscomus ⇗ @cedar

was IRQL NOT LESS OR EQUAL. BSOD with my ISO, or server 2003 ISO?
#1107 canonkong ⇗ @diderius6
Try this new, not have stor.sys.
KEY: xiaofengmod
⇗ https://yadi.sk/d/8MtPIJxFYoBAbQ
#1108 diderius6 ⇗ @canonkong
I test the new driver on Intel evga z390 dark board,
for the USB 3.0 from Intel chipset.
The same happens as before, during install of this driver the compi gets frozen
Dietmar

PS: May be, in this case a modded VIA USB 3.0 driver would be the better choice.

EDIT: Your new AMD driver for XP has also the problem, that usbstor.sys again does not start (gives unknow device).
So, until now we have only the generic USB driver for XP, where I changed amdstor.sys against usbstor.sys.
This one works everywhere, only for INTEL chipset USB and XP not, this is so strange.

EDIT2: So strange things happen with usb3 driver for Intel chipset:
The xhci.sys file is NOT copied correct to windows\system32\drivers (something like a sceleton of this xhci.sys appears there) and
even when you put the whole file xhci.sys there into by hand,
on next boot it is gone there!!! I never saw anything like this before in XP.
I set start=0 and Group=System Reserved for all USB files which starts them very early, no chance of version missmatch
or something like, because at this very early bootstage all will be loaded.
Crazy, I can see, that the driver xhci.sys is loaded very early together with usbstor.sys, but then again xhci.sys is deleted(!).
May be because of this soso strange thing, the hub3.sys driver can not install(!) and start
Dietmar
#1109 canonkong ⇗ @diderius6
Maybe we can use intel itself USB driver for xp to modify.
#1110 diderius6 ⇗ @canonkong
The problem in to use Intel driver for USB is, that there are none for XP with USB 3.0.
For Win7 32 bit they exist, but there are dependencies in drivers to ntoskrnl,
that XP does not fullfill.
The only chance in this is, that somebody has the source code for this drivers
and compiles it for win server 2003 32 bit
Dietmar

 

Page 75

#1111 canonkong ⇗ @diderius6
I think NEC will best than other.
⇗ https://downloadcenter.intel.com/zh-cn/d...ctronics-USB3-0-
#1112 diderius6 ⇗ @canonkong

I just see, that the VIA xhci driver can be replaced by the driver from Asmedia.
But the Intel chipset for USB 3.0 does not work with modded Asmedia or Via driver
Dietmar

PS: So, NEC (now Renesas) may be the better choice for generic USB 3.0 for XP for Intel chipset.
#1113 canonkong ⇗ @diderius6
If you use IDA to open the xhci.sys ,you will find almost all usb drivers will have a ven ID 1033, VEN_1033 meant NEC's ID.
#1114 infuscomus ⇗ @canonkong

this doesn't work in virtualbox

⇗ https://www.zone62.com/media/jcm/og/8fc8461f672fdba2.png
#1115 canonkong ⇗ @infuscomus
Some intel devices can not work well some parts using this driver. I think we need to find a better one to modify to support XP.
#1116 diderius6 ⇗ @canonkong

For Intel with x390 chipset with modded *.inf for xhci.sys comes message code 10,
driver (xhci from Nec) does not start
Dietmar
#1117 diderius6 ⇗ @canonkong
I just found with IDA pro, that there is a hardcoded ID 1033 check and 194x in the NEC driver xhci.sys
and so, suddently BIG chances for success with Intel
Dietmar
#1118 canonkong diderius6
Some drivers just modify the ID identify area is not enough. Like intel usb3.1 driver, I modified few parts to make it work. If you know DebugView ,Debuggers , OllyDbg . You can use them to find out where is the block.
#1119 diderius6 PAGE:0003420B                 mov     eax, 1033h
PAGE:00034210                 cmp     [ebp-11Ch], ax
PAGE:00034217                 jnz     short loc_34239
PAGE:00034219                 mov     eax, 194h
PAGE:0003421E                 cmp     [ebp-11Ah], ax
PAGE:00034225                 jnz     short loc_34239
PAGE:00034227                 cmp     byte ptr [ebp-114h], 4
PAGE:0003422E                 jnz     short loc_34239
PAGE:00034230                 mov     byte ptr [ebx+192h], 1
PAGE:00034237                 jmp     short loc_34240
#1120 diderius6 Hack to

PAGE:0003420B                 mov     eax, 1033h
PAGE:00034210                 cmp     [ebp-11Ch], ax
PAGE:00034217                 jnz     short $+2
PAGE:00034219                 mov     eax, 194h
PAGE:0003421E                 cmp     [ebp-11Ah], ax
PAGE:00034225                 jnz     short $+2
PAGE:00034227                 cmp     byte ptr [ebp-114h], 4
PAGE:0003422E                 jnz     short $+2
PAGE:00034230                 mov     byte ptr [ebx+192h], 1
PAGE:00034237                 jmp     short loc_34240

Now I get code 39
Dietmar
#1121 canonkong ⇗ @diderius6
Not right, you can compare my modified intel USB driver and the original driver, you will find what I had did.
jnz=>jmp
⇗ [Solution] Win7 drivers for USB 3.0/3.1 Controllers of new Intel chipset systems
#1122 cedar ⇗ @infuscomus


"IRQL NOT LESS OR EQUAL" was from 2003.
From bluescreenview, it pointed to Ntoskrnl error.

I also tried ACPI 64 bit on XP64. the screen instantly BSOD
and reboot immediately on normal or safe mode, so I couldn't see
what message was.

Cedar
#1123 diderius6 ⇗ @canonkong
I tried this also,
does not work for Nec USB 3.0 driver on Intel USB 3.0 on chipset from z390
Dietmar
#1124 infuscomus ⇗ @cedar

ACPI for XP64 will need a patched ACPI driver and XP64 is not well supported, best to use Win7 64

any luck installing with my ISO?
#1125 cedar ⇗ @infuscomus

The acpi64bit was from diderius6 posted earlier. As it was
an early version, so I can't expect too much.
Your iso can installed from burnt disc, Like my other burnt discs,
It will BSOD in multi acpi both std or safe mode too when reboot.

But If installed on my Ivy system. and then swap HD to Ryzen board.
I think it can boot in safe mode, like my other trials.

PS. I think diderius6 's new usb3.2 driver can work on your iso, but not
on my own XP installation after many BSODs on usbport.sys trials.

Cedar

 

Page 76

#1126 infuscomus ⇗ @cedar

did you manage to get multiprocessor ACPI PC working? or did you get a BSOD?
#1127 diderius6 ⇗ @cedar
Until now we dont have a good acpi.sys for XP 64 bit,
which works on a lot of newer mainboards,
Dietmar
#1128 cedar ⇗ @infuscomus

In safe mode, multiprocessor ACPI PC seems fine. I can install other
drivers. After exiting safe mode. I may or may not be able to
get back to safe mode if XP installed through optical Sata drive.

I remember probably 2 weeks or more ago, I can repeatly go back to
safe mode with multiprocessor ACPI PC.  Out side safe mode, BSOD.

I just upated 2003 from SP0 to Sp1, and SP2. Will try if they work later?

Cedar
#1129 cedar ⇗ @diderius6

Any chance to work on XP 64 ACPI?. I realize too XP64 has no
Standard mode!.

Cedar
#1130 cedar ⇗ @infuscomus

Wow. SP2 for 2003 instead of SP0 works. I am in
Multi PC ACPI mode now.

Edit:  And it is from swap drive method.
Edit2:  Now I can use similar way on XP. Different SPs may make
or break things.
Edit3: Even SP1 works.

Cedar
#1131 diderius6 I found NEC USB3.0 driver from 10 January 2010 vers. 1.0.19.0.
This driver is really very simple structurated.
With this I make new try using Windbg for XP SP3
Intel chipset 3.0 driver
Dietmar

EDIT: I have now NEC driver USB 3.0 from June 2009 for XP, Vista (means before Win7), vers 1.0.1.0.
#1132 canonkong ⇗ @diderius6
If you use IDA7.0 to open the *.sys, than press F5, it will converting to C language, maybe some one can use it to recompile.

⇗ https://github.com/microsoft/Windows-driver-samples
#1133 diderius6 ⇗ @canonkong
This is really a nice feature,
but my Ida Pro is from 2004 :))
Dietmar

PS: Starting from autumn 2009, NEC makes USB 3.0 drivers also for Win2000 and NT4 .
#1134 infuscomus ⇗ @diderius6

can you upload to station-drivers for driver archiving?

If we are lucky, it might even work for windows 98

assuming all function requirements are met by ntkern.vxd
#1135 diderius6 ⇗ @infuscomus
Here it is.
The xhci.sys driver is loaded in XP as I can see
but the hub.sys not.
So, the problem with DEV_&VEN_ is gone,
but something is wrong with the hub
Dietmar



diderius6 has attached files to this post
#1136 canonkong ⇗ @diderius6
If the xhci.sys is loaded but the hub.sys not. It meant that the XHCI.sys need to fix somewhere. HUB is follow to XHCI.
#1137 infuscomus ⇗ @diderius6 ⇗ @canonkong

I noticed with the earlier modified AMD USB 3.0 drivers there was a FileSize error in the sys files



maybe this was causing problems? i fixed them

or maybe its nothing, i dont know



infuscomus has attached files to this post
#1138 canonkong ⇗ @infuscomus
I signed the driver use driving signature tool, it can automatic checksum, so I don't have noticed FileSize error.
#1139 diderius6 Now I get

usbstor.sys
usbd.sys
xhci.sys
hub3.sys

loaded very early (start 0, Group System Reserved)
but still yellow questionmark for USB 3.0 xhci and no hub3
in device manager
Dietmar

PS: I corrected yesterday the above size error. It does not change anything.
#1140 diderius6 There is only one small step, to make the very first NEC driver from June 2009 make to work for Intel chipset USB3
It looks like the "IRP_MN_START_DEVICE" failed and this can be the fault of hub3.sys because Child 0000000000.
Dietmar

0: kd> !DevNode 0x8a47f250
DevNode 0x8a47f250 for PDO 0x8a4c1818
Parent 0x8a4bb6e0 Sibling 0x8a47bbb0 Child 0000000000
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "nusb3xhc"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStartCompletion (0x306)
StateHistory[06] = DeviceNodeStartCompletion (0x306)
StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
Flags (0x00002030) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_PROBLEM
CapabilityFlags (0x00002000) WakeFromD3
Problem = CM_PROB_FAILED_START
Failure Status 0000000000



CM_PROB_FAILED_START


This function is reserved for system use.

The device failed to start.
Error Code 10
Display Message

If the device's hardware key contains a "FailReasonString" value, the value string is displayed as the error message. (A driver or enumerator supplies this registry string value.) If the hardware key does not contain a "FailReasonString" value, the following generic error message is displayed:

"This device cannot start. (Code 10)"

"Try upgrading the device drivers for this device."
Recommended Resolution

Select Update Driver, which starts the Hardware Update wizard.

This error code is set when one of the drivers in the device's driver stack fails IRP_MN_START_DEVICE.
If there are many drivers in the stack, it can be difficult to determine the one that failed.

 

Page 77

#1141 canonkong ⇗ @diderius6
Use IDA to fix hub.sys, maybe will work.
#1142 infuscomus If we can figure out how to backport KMDF 1.13 to XP then we could use the generic Microsoft driver

seems like a bit of a challenge though
#1143 diderius6 This is really strange: The very first NEC USB 3.0 driver is started in legacy mode, but fails for the Intel chipset USB 3.0.
This makes me sure, that the problem is in xhci.sys (here name nusb3xhc, together with Intel) and not in hub3.sys
Dietmar

0: kd> !devnode 0 1 nusb3xhc
Dumping IopRootDeviceNode (= 0x8a4c7810)
DevNode 0x8a4c55e8 for PDO 0x8a4c5730
InstancePath is "Root\LEGACY_NUSB3XHC\0000"
ServiceName is "nusb3xhc"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0x8a4c7128 for PDO 0x8a4c1a08
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "nusb3xhc"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStartCompletion (0x306)
Problem = CM_PROB_FAILED_START
Failure Status 0000000000
#1144 diderius6 @ infuscomus
There is KMDF for Vista, I think also with an example driver for USB
Dietmar

docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/tutorial--write-your-first-usb-client-driver--kmdf-
#1145 diderius6 May be we need WDFLDR.SYS (from Vista-Longhorn5048, Vista, Win7) all 32 bit
for XP for Intel USB
Dietmar

PS:Intel USB 3 drivers need WDFLDR.SYS (Kernel Mode Driver Framework LOADER) which doesn't exist on XP.
XP drivers require coinstaller WdfCoInstaller01009.dll (included with driver, it installs wdfldr.sys and wdf01000.sys) and separate usbd.sys.
I install the Microsoft Kernel Mode Driver Framework runtime 'Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe' extracted from WdfCoinstaller01009.dll which is the co-installer for KMDF 1.9.
This drivers here have all only dependecies for XP!

EDIT: This brings me to the idea, to install the very first USB driver from NEC on Longhorn 5048 for Intel chipset USB3.0.



diderius6 has attached files to this post
#1146 infuscomus Someone tried to make an xhci driver for ReactOS

⇗ https://reactos.org/blogs/gsoc-xhci-final-submission

⇗ https://github.com/reactos/reactos/tree/...ers/usb/usbxhci
#1147 diderius6 ⇗ @infuscomus

This person from reactos has the problem with xhci.sys for USB 3.0, that USBSTOR.sys is not loaded but he does not understand this.
Because of this comes "unknown device".
Even I do not know, if this will work for Intel USB chipset, because Intel makes now use of KMDF driver model for all their USB.
We have KMDF 1.9 (from Win7) for XP , the Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.exe above installs with all registry entries WDFLDR.SYS and wdf01000.sys in XP SP3 32 bit, I have tested.
Now we can use the *.inf from Win7 for USB from ⇗ @canonkong with xhci.sys and usbhub3.sys with dependencies only for XP
and voila, there is USB on XP for all Intel chipsets. A first try can be done with Vista and the modded USB drivers for Win7 from ⇗ @canonkong, if Vista fullfill all the dependencies
Dietmar

PS: Here is the installer for KMDF 1.9 for Vista 32 bit.



diderius6 has attached files to this post
#1148 canonkong ⇗ @diderius6
Is it possible to Import table dynamic patch and point the Win10-specific import API to wrapper. Like NDIS-Wrapper.
Some hackers told me that we can port win10's USB driver to win7, but I think even the world's top hackers don't have this ability.
#1149 diderius6 ⇗ @canonkong
I think, for to make to work Intel chipset USB under XP,
it is now just enough, to cancel the not from XP fullfilled dependencies
from your USB drivers for Win7
Dietmar
#1150 diderius6 This VIA USB3 is for XP, Vista and Win7.
It has the installer for KMDF 1.9 for each of them integrated and fullfills all dependencies for XP.
Any generic USB 3.0 driver for XP SP3 32bit Intel chipset should look very similar to this one
Dietmar

PS: I installed all versions for XP, Vista, Win7,
     but no one works for XP for Intel chipset USB, strange..

EDIT: The VEN_1106&DEV_3432 seems to be hardwired in xhcdrv.sys.
⇗ @canonkong can you please make a try to mod this one for generic?


EDIT2: CM_PROB_FAILED_ADD
CM_PROB_FAILED_ADD

A driver's attempt to add a device failed.
Error Code

31
Display Message (Windows 2000 and later versions of Windows)

"This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)"
Recommended Resolution (Windows 2000 and later versions of Windows)

Update the device driver.

Starting with Windows XP,
this problem can only occur if the driver's AddDevice routine fails.

May be this is because of hardwired VEN_&DEV_.



diderius6 has attached files to this post
#1151 infuscomus ⇗ @diderius6 ⇗ @canonkong

Fresco logic driver also uses KMDF 1.9 - so it might be an option



infuscomus has attached files to this post
#1152 diderius6 ⇗ @infuscomus

The file fresco-usb3-v3.6.9.0.7z.zip
cant be downloaded correct, has error
Dietmar

EDIT: Correction, newest winrar works for to unpack this file.
#1153 diderius6 Fresco driver is loaded in XP for Intel chipset USB30, but does not start.
The reason, why it does not start can also be the fault of the hub3.sys there
Dietmar
0: kd> !DevNode 0x8a475a58
DevNode 0x8a475a58 for PDO 0x8a476a90
Parent 0x8a4c26e0 Sibling 0x8a475938 Child 0000000000
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "FLxHCIc"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStartCompletion (0x306)
StateHistory[06] = DeviceNodeStartCompletion (0x306)
StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
Flags (0x00002030) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_PROBLEM
CapabilityFlags (0x00002000) WakeFromD3
Problem = CM_PROB_FAILED_START
Failure Status 0000000000
#1154 infuscomus ⇗ @diderius6

can you manually install the hub?
#1155 diderius6 ⇗ @infuscomus
This is not possible.
First has always the main driver xhci.sys to be loaded
and only if this is ok, hub3.sys asks for driver.
Even if from a working USB3 installation you delete the registry entries for xhci.sys,
the before working hub3.sys is also not loaded any longer
Dietmar

PS: One can make a try vice versa, if a working USB3 driver for Intel chipset also works on normal USB3,
because until now the difference between them is unclear.

 

Page 78

#1156 infuscomus ⇗ @diderius6

can you go back to our earlier generic amd usb 3.0 driver and try to debug what causes it to fail when in virtualbox?
#1157 diderius6 ⇗ @infuscomus

I make a check, which driver starts and which not:
It is possible to start xhci.sys without hub3.sys
but not hub3.sys without xhci.sys.
So, in the case with virtualbox, something went wrong with
hub3.sys.

And this also means, all our tries with xhci.sys for USB3 for Intel chipsets fail because of xhci.sys.

Take a look in device manager, what kind the error message is there.
XP tells you, if something is wrong with entries in registry for hub3.sys
or with the driver itself
Dietmar
#1158 diderius6 ⇗ @infuscomus

"can you go back to our earlier generic amd usb 3.0 driver and try to debug what causes it to fail when in virtualbox?"

On which compi runs virtualbox, AMD or with Intel chipset
Dietmar
#1159 diderius6 ⇗ @canonkong

Can you please convert Assembler file to C with Ida Pro 7
from xhci for Win7 from post 1150
and also xhci from original driver for Intel chipset Win7
and look, if there is a major difference
Dietmar
#1160 infuscomus ⇗ @diderius6 ⇗ @canonkong

I think I know what the problem is -

the hub3.sys file has not been linked to the usb 3.0 hub as it's driver


we will need to either fix amdxhci.inf to install the hub driver properly or find/write a proper amdhub3.inf

⇗ @canonkong

do you have the original unmodified amd usb 3 driver you used?
#1161 canonkong ⇗ @diderius6
In fact, it's very difficult for me because I don't know any assembly language or programming language. What I can do is just use IDA to modify some drivers and signature. If we can find out the breakpoints, maybe we can use IDA to Skip it.
#1162 canonkong ⇗ @infuscomus
The original driver 2.0.0.48 only can work for 64bit system.
#1163 diderius6 ⇗ @canonkong

Can you use Ida Pro for to translate those 2 Win7 32 bit xhci.sys drivers to C language?
If yes, you can send them to me
dietmar.stoelting@t-online.de
and I compare them
Dietmar
#1164 canonkong ⇗ @diderius6
Which two xhci.sys files? I will send it to you later.
#1165 infuscomus ⇗ @diderius6 ⇗ @canonkong

a manual install of the usb 3.0 hub worked in virtualbox


so, I think all we need to do is fix a problem in amdxhci.inf
#1166 diderius6 ⇗ @infuscomus
Is it USB 3 on Intel chipset?
Or is it an AMD board
Dietmar
#1167 canonkong ⇗ @infuscomus
This driver can work with virtual box, but cant work on real machine.
#1168 infuscomus whoops! I spoke too soon

#1169 diderius6 ⇗ @canonkong
Here are the 2 Win7 32 bit xhci files for USB3,
one from VIA and the one from you
Dietmar



diderius6 has attached files to this post
#1170 canonkong ⇗ @diderius6
Too many entries need to be converted! I think download IDA PRO 7.2 will more faster and easily.

 

Page 79

#1171 diderius6 I renamed the last xhci for XP from ⇗ @canonkong (post 1107) as asmxhci.sys
and integrate the values to registry by hand (no hub3.sys at all).
Now, for the first time no crash and the driver "asmxhci.sys" is loaded and deleted after
but message via windbg
Code 28 (CM_PROB_FAILED_INSTALL)

Indicates that the installation failed and there is no driver selected for this device, although the kernel did not report a problem (and there is no DNF_XXX match for this the problem). This problem can be the result of an on-board system device (ISA timer, ISA RTC, RAM Memory, and so forth) that does not yet have an INF file.

This looks like, if something with my handmade registry entries is wrong
or the driver "asmxhci.sys" looks for something like codriver

Dietmar
#1172 infuscomus
Zitat von ⇗ canonkong im Beitrag ¶ #1162
@infuscomus
The original driver 2.0.0.48 only can work for 64bit system.


⇗ @canonkong
how did you manage to make it work for 32bit system?
#1173 diderius6 ⇗ @infuscomus
I noticed that few days ago. So I think, canonkong is not so blind (as we..)
Dietmar
#1174 diderius6 ⇗ @infuscomus
I make a try with the last driver xhci for XP (post 1107) from ⇗ @canonkong in KMDF 1.9 clothes,
but then the compi does not start, hangs running blue mark in the beginning of boot stopped
and Windbg tells nothing, "break" command does not work and no BSOD
Dietmar
#1175 diderius6 With little help from Ida Pro,
I just noticed, that the last AMD file for XP 32 bit from canonkong vers. 2.0.0.68
is from ETRON.
Hihi, may be, now all other is easy.
This Etron driver has VEN_8086&DEV_7023.
This I will change against my USB3 with
VEN_8086&DEV_A2AF
and then we will see
Dietmar

EDIT: The Etron USB3.0 driver from 2009 works for nearly all USB
but not for Intel USB chipset.
#1176 infuscomus ⇗ @diderius6

I can only suggest going through all the other USB 3 drivers from other manufacturers and see if one of them works for intel

⇗ USB 3.0/3.1 Drivers (original and modded)
#1177 canonkong ⇗ @diderius6 ⇗ @infuscomus
I had tested all usb drivers yesterday. only AMD usb driver 2.0.0.48 and intel usb drivers can work for all usb devices. but they cant work perfect on X570 mainboards(install/uninstall the USB driver if without AMD chips drivers will BSOD) ASMedia VIA NEC Erron and most of USB drivers can only work for few devices, and some of them only can work for xhci but hub can not work.
#1178 diderius6 The Fresco fresco-usb3-v3.6.9.0 (it is for Win7 with KMDF 1.9) driver is "best" until now for Intel USB3 chipset for XP SP3, but
failed to start with code 10, even I changed in driver VEN_&DEV_
to my individual values.
By the way I noticed, that I get code 39, when checksum etc.
of the driver was not correct. With PEmaker 0.82 from Blackwingcat I corrected this
Dietmar

0: kd> !DevNode 0x8a475a58
DevNode 0x8a475a58 for PDO 0x8a476a90
Parent 0x8a4c26e0 Sibling 0x8a475938 Child 0000000000
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "FLxHCIc"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStartCompletion (0x306)
StateHistory[06] = DeviceNodeStartCompletion (0x306)
StateHistory[05] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
Flags (0x00002030) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_PROBLEM
CapabilityFlags (0x00002000) WakeFromD3
Problem = CM_PROB_FAILED_START
Failure Status 0000000000
#1179 infuscomus ⇗ @canonkong

wasn't your modified generic USB 3 driver from earlier an Etron driver?
#1180 canonkong ⇗ @infuscomus
Etron can not work for intel devices on real machine, but can work on VM...
#1181 canonkong ⇗ @diderius6 ⇗ @infuscomus
Test it.
⇗ https://yadi.sk/d/JsPRQ94R0TE3XQ
#1182 infuscomus ⇗ @canonkong

This driver calls functions from ntoskrnl that are not available in XP
#1183 canonkong ⇗ @infuscomus
I uploaded it incorrectly, I will upload a new one soon.
#1184 canonkong ⇗ @diderius6
I tested the Fresco USB drivers, xhci had installed and work, but the hub failed.
#1185 diderius6 ⇗ @canonkong
Can you please upload your version of the Fresco USB driver?
Any help is welcome
Dietmar

PS: You can just use hub from other USB driver.

 

Page 80

#1186 canonkong ⇗ @diderius6
No problem, I will send you when I after work. You can use IDA to open it, you will find i it has other devices ID from intel,NEC,Etron,ASMedia,ect
#1187 diderius6 I just noticed,
that the Fresco USB3 driver has extra entries in registry.
None of them is set for my Intel USB 3.0 with VEN_8086&DEV_A2AF.
How to come to this values? May be, a Win7 install will help via original Intel USB3.0 drivers
and copy this values one by one to the registry of XP
Dietmar

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:00000034
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,46,00,4c,00,78,00,48,00,43,00,49,\
00,63,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Fresco Logic xHCI (USB3) Device Driver"
"Group"="Base"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Parameters]
"SGRD_15D9_0A4C"=dword:00000000
"STIC_07CA"=dword:00000000
"STIC_15A4_1003"=dword:00000000
"STIC_1B80_E39B"=dword:00000000
"STIC_2040_7200"=dword:00000000
"STIC_185B_2850"=dword:00000000
"NIOC_185B_2850"=dword:00000000
"SNIC_07CA_2830"=dword:00000000
"DDOS_045E_063E"=dword:00000000
"DDOS_12D1_1001"=dword:00000000
"DDOS_12D1_1003"=dword:00000000
"DDOS_0408_EA03"=dword:00000000
"DDOS_17E9_028F"=dword:00000000
"DDOS_0A5C_2046"=dword:00000000
"DDOS_19D2_0031"=dword:00000000
"DDOS_1A8D"=dword:00000000
"DDOS_0915_2000"=dword:00000000
"DDOS_07B8_4002"=dword:00000000
"DDOS_17E9_01D4"=dword:00000000
"ABIG_03F0_5817"=dword:00000000
"CCSD_13FE_1E00"=dword:00000000
"DDIP_13FE_1E00"=dword:00000000
"PBIN_12D1_1035"=dword:00000000
"U1U2_1CA1"=dword:00000000
"U1U2_152D_0539"=dword:00000000
"U1U2_152D_2509"=dword:00000000
"U1U2_1058_0740"=dword:00000000
"U1U2_1058_1123"=dword:00000000
"U1U2_1058_1140"=dword:00000000
"U1U2_1D5C_8347"=dword:00000000
"U1U2_04C5_201D"=dword:00000000
"U1U2_067B_2771"=dword:00000000
"U1U2_1759_9000"=dword:00000000
"U1U2_1759_5002"=dword:00000000
"U1U2_1759_5000"=dword:00000000
"U1U2_0411_0180"=dword:00000000
"U1U2_21E6_0001"=dword:00000000
"U1U2_1EDB_BD3B"=dword:00000000
"U1U2_0A6B_0101"=dword:00000000
"U1U2_04E8_60C6"=dword:00000000
"U1U2_1058_1042"=dword:00000000
"FAHS_0951_1652"=dword:00000000
"FAHS_05E3_0731"=dword:00000000
"ECSD_199E_8207"=dword:00000000
"NSEL_152D_0539"=dword:00000000
"NSEL_1F75_0902"=dword:00000000
"NSEL_1005_B128"=dword:00000000
"NHLP_2297_0321"=dword:00000000
"NOSD_1F75_0902"=dword:00000000
"NOSD_125F_312A"=dword:00000000
"NOSD_3538_0901"=dword:00000000
"NMEL_1EDB_BD3B"=dword:00000000
"NSSR_0951_1652"=dword:00000000
"NSSR_1759_5000"=dword:00000000
"NSSR_1759_5002"=dword:00000000
"NSSR_152D_0539"=dword:00000000
"NSSR_152D_2509"=dword:00000000
"NSSR_152D_0551"=dword:00000000
"NSSR_0BC2_2300"=dword:00000000
"NSSR_0BC2_3300"=dword:00000000
"NSSR_059F_1016"=dword:00000000
"NSSR_1058_0740"=dword:00000000
"NSSR_059F_100C"=dword:00000000
"NSSR_0411_01D8"=dword:00000000
"DPDE_0951_1652"=dword:00000000
"DPDE_1759_5000"=dword:00000000
"DPDE_1759_5002"=dword:00000000
"DPDE_152D_0539"=dword:00000000
"DPDE_152D_2509"=dword:00000000
"DPDE_152D_0551"=dword:00000000
"DPDE_0411_01D8"=dword:00000000
"WRDP_152D_0539"=dword:00000000
"WRDP_152D_2509"=dword:00000000
"ROSR_045E_063E"=dword:00000000
"ROSR_045E_0710"=dword:00000000
"ROSR_058F_9520"=dword:00000000
"ROSR_05AC_1294"=dword:00000000
"ROSR_05AC_129A"=dword:00000000
"ROSR_05AC_129F"=dword:00000000
"ROSR_0BC2_2300"=dword:00000000
"ROSR_0BC2_3300"=dword:00000000
"ROSR_059F_1016"=dword:00000000
"ROSR_1058_0740"=dword:00000000
"ROSR_059F_100C"=dword:00000000
"SMSZ_0DD8_1D04"=dword:00000000
"SMSZ_04B8_083F"=dword:00000000
"SMSZ_1759_5000"=dword:00000000
"SMSZ_1759_5002"=dword:00000000
"SMSZ_1058_1042"=dword:00000000
"GSOR_1390_0001"=dword:00000000
"OEHD_045E_001C"=dword:00000000
"OEHD_045E_002F"=dword:00000000
"OEHD_8086_9303"=dword:00000000
"OEHD_042B_9316"=dword:00000000
"OEHD_050F_0001"=dword:00000000
"OEHD_046A_0003"=dword:00000000
"OEHD_04E1_0201"=dword:00000000
"OEHD_0419_8001"=dword:00000000
"OEHD_055D_8001"=dword:00000000
"OEHD_0968_9999"=dword:00000000
"OEHD_04CA_9304"=dword:00000000
"OEHD_0416_0101"=dword:00000000
"OEHD_04A8_0101"=dword:00000000
"OEHD_0405_0000"=dword:00000000
"OEHD_0451_1446"=dword:00000000
"OEHD_0423_1237"=dword:00000000
"OEHD_0430_36BA"=dword:00000000
"OEHD_0471_0201"=dword:00000000
"OEHD_0471_0700"=dword:00000000
"OEHD_0409_55AA"=dword:00000000
"OEHD_0409_8010"=dword:00000000
"OEHD_0409_8011"=dword:00000000
"OEHD_0400_1237"=dword:00000000
"OEHD_054C_0001"=dword:00000000
"OEHD_054C_0002"=dword:00000000
"OEHD_056D_0000"=dword:00000000
"OEHD_04A6_0180"=dword:00000000
"OEHD_0654_0006"=dword:00000000
"OEHD_0654_0016"=dword:00000000
"STRZ_1759_5000"=dword:00000000
"NGU3_2109_3431"=dword:00000000
"NP2P_052E_1028"=dword:00000000
"NSND_174C_5106"=dword:00000000
"ABCP_05AC"=dword:00000000
"NFRW_0B95_772B"=dword:00000000
"NFRW_0424_EC00"=dword:00000000
"FSCD_04C5_132B"=dword:00000000
"ZDSI_0B6A_5347"=dword:00000000
"ZDSI_070A_000D"=dword:00000000
"DERE_0525_A4A2"=dword:00000000
"1656103C"=dword:00000000
"3388103C"=dword:00000000
"1657103C"=dword:00000000
"1658103C"=dword:00000000
"3581103C"=dword:00000000
"3582103C"=dword:00000000
"3583103C"=dword:00000000
"1659103C"=dword:00000000
"165A103C"=dword:00000000
"3389103C"=dword:00000000
"165B103C"=dword:00000000
"17F8103C"=dword:00000000
"1899103C"=dword:00000000
"06451025"=dword:00000000
"06471025"=dword:00000000
"06491025"=dword:00000000
"064B1025"=dword:00000000
"064D1025"=dword:00000000
"064F1025"=dword:00000000
"06511025"=dword:00000000
"06531025"=dword:00000000
"05041025"=dword:00000000
"05111025"=dword:00000000
"050E1025"=dword:00000000
"05131025"=dword:00000000
"FC401179"=dword:00000000
"KSSD_04C5_2029_0001"=dword:00000000
"KSSD_1058_1123_0003"=dword:00000000
"KSSD_152D_0539"=dword:00000000
"KSSD_13FE_5000_0110"=dword:00000000
"KSSD_04C5_202B_0001"=dword:00000000
"KSSD_2109_0701_0006"=dword:00000000
"KSSD_1759_5002_2270"=dword:00000000
"ABCP_05AC_129A"=dword:00000000
"ABCP_05AC_1294"=dword:00000000
"ABCP_05AC_1297"=dword:00000000
"ABCP_05AC_12A0"=dword:00000000
"ABCP_05AC_129F"=dword:00000000
"ABCP_05AC_12A4"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Parameters\Wdf]
"KmdfLibraryVersion"="1.9"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Security]
"Security"=hex:01,00,14,80,90,00,00,00,9c,00,00,00,14,00,00,00,30,00,00,00,02,\
00,1c,00,01,00,00,00,02,80,14,00,ff,01,0f,00,01,01,00,00,00,00,00,01,00,00,\
00,00,02,00,60,00,04,00,00,00,00,00,14,00,fd,01,02,00,01,01,00,00,00,00,00,\
05,12,00,00,00,00,00,18,00,ff,01,0f,00,01,02,00,00,00,00,00,05,20,00,00,00,\
20,02,00,00,00,00,14,00,8d,01,02,00,01,01,00,00,00,00,00,05,0b,00,00,00,00,\
00,18,00,fd,01,02,00,01,02,00,00,00,00,00,05,20,00,00,00,23,02,00,00,01,01,\
00,00,00,00,00,05,12,00,00,00,01,01,00,00,00,00,00,05,12,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\FLxHCIc\Enum]
"Count"=dword:00000001
"NextInstance"=dword:00000001
"0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\2&ebb567f&0&A0"
#1188 diderius6 Win7 tells also code 10 for Fresco driver.
I am sure, that this can be hacked in xhci.sys driver.

Here is registry entry from Win7, not all are zero(!).
Dietmar

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:0000001a
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,46,00,4c,00,78,00,48,00,43,00,49,\
00,63,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Fresco Logic xHCI (USB3) Device Driver"
"Group"="Base"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Parameters]
"SGRD_15D9_0A4C"=dword:00000000
"STIC_07CA"=dword:00000000
"STIC_15A4_1003"=dword:00000000
"STIC_1B80_E39B"=dword:00000000
"STIC_2040_7200"=dword:00000000
"STIC_185B_2850"=dword:00000000
"NIOC_185B_2850"=dword:00000000
"SNIC_07CA_2830"=dword:00000000
"DDOS_045E_063E"=dword:00000000
"DDOS_12D1_1001"=dword:00000000
"DDOS_12D1_1003"=dword:00000000
"DDOS_0408_EA03"=dword:00000000
"DDOS_17E9_028F"=dword:00000000
"DDOS_0A5C_2046"=dword:00000000
"DDOS_19D2_0031"=dword:00000000
"DDOS_1A8D"=dword:00000000
"DDOS_0915_2000"=dword:00000000
"DDOS_07B8_4002"=dword:00000000
"DDOS_17E9_01D4"=dword:00000000
"ABIG_03F0_5817"=dword:00000000
"CCSD_13FE_1E00"=dword:00000000
"DDIP_13FE_1E00"=dword:00000000
"PBIN_12D1_1035"=dword:00000000
"U1U2_1CA1"=dword:00000000
"U1U2_152D_0539"=dword:00000000
"U1U2_152D_2509"=dword:00000000
"U1U2_1058_0740"=dword:00000000
"U1U2_1058_1123"=dword:00000000
"U1U2_1058_1140"=dword:00000000
"U1U2_1D5C_8347"=dword:00000000
"U1U2_04C5_201D"=dword:00000000
"U1U2_067B_2771"=dword:00000000
"U1U2_1759_9000"=dword:00000000
"U1U2_1759_5002"=dword:00000000
"U1U2_1759_5000"=dword:00000000
"U1U2_0411_0180"=dword:00000000
"U1U2_21E6_0001"=dword:00000000
"U1U2_1EDB_BD3B"=dword:00000000
"U1U2_0A6B_0101"=dword:00000000
"U1U2_04E8_60C6"=dword:00000000
"U1U2_1058_1042"=dword:00000000
"FAHS_0951_1652"=dword:00000000
"FAHS_05E3_0731"=dword:00000000
"ECSD_199E_8207"=dword:00000000
"NSEL_152D_0539"=dword:00000000
"NSEL_1F75_0902"=dword:00000000
"NSEL_1005_B128"=dword:00000000
"NHLP_2297_0321"=dword:00000000
"NOSD_1F75_0902"=dword:00000000
"NOSD_125F_312A"=dword:00000000
"NOSD_3538_0901"=dword:00000000
"NMEL_1EDB_BD3B"=dword:00000000
"NSSR_0951_1652"=dword:00000000
"NSSR_1759_5000"=dword:00000000
"NSSR_1759_5002"=dword:00000000
"NSSR_152D_0539"=dword:00000000
"NSSR_152D_2509"=dword:00000000
"NSSR_152D_0551"=dword:00000000
"NSSR_0BC2_2300"=dword:00000000
"NSSR_0BC2_3300"=dword:00000000
"NSSR_059F_1016"=dword:00000000
"NSSR_1058_0740"=dword:00000000
"NSSR_059F_100C"=dword:00000000
"NSSR_0411_01D8"=dword:00000000
"DPDE_0951_1652"=dword:00000000
"DPDE_1759_5000"=dword:00000000
"DPDE_1759_5002"=dword:00000000
"DPDE_152D_0539"=dword:00000000
"DPDE_152D_2509"=dword:00000000
"DPDE_152D_0551"=dword:00000000
"DPDE_0411_01D8"=dword:00000000
"WRDP_152D_0539"=dword:00000000
"WRDP_152D_2509"=dword:00000000
"ROSR_045E_063E"=dword:00000000
"ROSR_045E_0710"=dword:00000000
"ROSR_058F_9520"=dword:00000000
"ROSR_05AC_1294"=dword:00000000
"ROSR_05AC_129A"=dword:00000000
"ROSR_05AC_129F"=dword:00000000
"ROSR_0BC2_2300"=dword:00000000
"ROSR_0BC2_3300"=dword:00000000
"ROSR_059F_1016"=dword:00000000
"ROSR_1058_0740"=dword:00000000
"ROSR_059F_100C"=dword:00000000
"SMSZ_0DD8_1D04"=dword:00000000
"SMSZ_04B8_083F"=dword:00000000
"SMSZ_1759_5000"=dword:00000000
"SMSZ_1759_5002"=dword:00000000
"SMSZ_1058_1042"=dword:00000000
"GSOR_1390_0001"=dword:00000000
"OEHD_045E_001C"=dword:00000000
"OEHD_045E_002F"=dword:00000000
"OEHD_8086_9303"=dword:00000000
"OEHD_042B_9316"=dword:00000000
"OEHD_050F_0001"=dword:00000000
"OEHD_046A_0003"=dword:00000000
"OEHD_04E1_0201"=dword:00000000
"OEHD_0419_8001"=dword:00000000
"OEHD_055D_8001"=dword:00000000
"OEHD_0968_9999"=dword:00000000
"OEHD_04CA_9304"=dword:00000000
"OEHD_0416_0101"=dword:00000000
"OEHD_04A8_0101"=dword:00000000
"OEHD_0405_0000"=dword:00000000
"OEHD_0451_1446"=dword:00000000
"OEHD_0423_1237"=dword:00000000
"OEHD_0430_36BA"=dword:00000000
"OEHD_0471_0201"=dword:00000000
"OEHD_0471_0700"=dword:00000000
"OEHD_0409_55AA"=dword:00000000
"OEHD_0409_8010"=dword:00000000
"OEHD_0409_8011"=dword:00000000
"OEHD_0400_1237"=dword:00000000
"OEHD_054C_0001"=dword:00000000
"OEHD_054C_0002"=dword:00000000
"OEHD_056D_0000"=dword:00000000
"OEHD_04A6_0180"=dword:00000000
"OEHD_0654_0006"=dword:00000000
"OEHD_0654_0016"=dword:00000000
"STRZ_1759_5000"=dword:00000000
"NGU3_2109_3431"=dword:00000000
"NP2P_052E_1028"=dword:00000000
"NSND_174C_5106"=dword:00000000
"ABCP_05AC"=dword:00000000
"NFRW_0B95_772B"=dword:00000000
"NFRW_0424_EC00"=dword:00000000
"FSCD_04C5_132B"=dword:00000000
"ZDSI_0B6A_5347"=dword:00000000
"ZDSI_070A_000D"=dword:00000000
"DERE_0525_A4A2"=dword:00000000
"DERE_043E_9A46"=dword:00000000
"DERE_043E_9A02"=dword:00000000
"RSBI_0403_FF0B"=dword:00000100
"RSBO_0403_FF0B"=dword:00000100
"RSBI_164C_5533"=dword:00000200
"RSBI_1E10_3300"=dword:00000200
"1656103C"=dword:00000000
"3388103C"=dword:00000000
"1657103C"=dword:00000000
"1658103C"=dword:00000000
"3581103C"=dword:00000000
"3582103C"=dword:00000000
"3583103C"=dword:00000000
"1659103C"=dword:00000000
"165A103C"=dword:00000000
"3389103C"=dword:00000000
"165B103C"=dword:00000000
"17F8103C"=dword:00000000
"1899103C"=dword:00000000
"06451025"=dword:00000000
"06471025"=dword:00000000
"06491025"=dword:00000000
"064B1025"=dword:00000000
"064D1025"=dword:00000000
"064F1025"=dword:00000000
"06511025"=dword:00000000
"06531025"=dword:00000000
"05041025"=dword:00000000
"05111025"=dword:00000000
"050E1025"=dword:00000000
"05131025"=dword:00000000
"FC401179"=dword:00000000
"SPPROC"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Parameters\Wdf]
"KmdfLibraryVersion"="1.9"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\FLxHCIc\Enum]
"Count"=dword:00000001
"NextInstance"=dword:00000001
"INITSTARTFAILED"=dword:00000001
"0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\3&11583659&0&A0"
#1189 diderius6 And here come the registry entries for the Intel xhci
and hub3 entry (they all work).
May be the 3 entries are just, what ⇗ @canonkong missed for his hub via Fresco
Dietmar

xhci:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:00000014
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,75,00,73,00,62,00,33,00,78,\
00,68,00,63,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Intel(R) USB 3.0 eXtensible-Hostcontrollertreiber"
"Group"="Base"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc\Parameters]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3xhc\Enum]
"0"="PCI\\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\\3&11583659&0&A0"
"Count"=dword:00000001
"NextInstance"=dword:00000001

hub3:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub]
"Type"=dword:00000001
"Start"=dword:00000003
"ErrorControl"=dword:00000001
"Tag"=dword:00000015
"ImagePath"=hex(2):73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,44,00,\
52,00,49,00,56,00,45,00,52,00,53,00,5c,00,69,00,75,00,73,00,62,00,33,00,68,\
00,75,00,62,00,2e,00,73,00,79,00,73,00,00,00
"DisplayName"="Intel(R) USB 3.0-Hubtreiber"
"Group"="Base"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub\Parameters]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iusb3hub\Enum]
"0"="IUSB3\\ROOT_HUB30\\4&556f44c&0"
"Count"=dword:00000003
"NextInstance"=dword:00000003
"1"="USB\\VID_174C&PID_2074\\5&14a73d14&0&3"
"2"="USB\\VID_174C&PID_3074\\5&14a73d14&0&23"
#1190 diderius6 Found this on the way, from Fresco for XP USB3
Dietmar



diderius6 has attached files to this post
#1191 canonkong ⇗ @diderius6
All usb drivers origenal package.
⇗ https://yadi.sk/d/5jkmVZBjNgNZMw
#1192 diderius6 ⇗ @canonkong

Thank you.
What do you think, which driver has best chances for to work
for XP USB3 for Intel chipset USB
Dietmar
#1193 infuscomus ⇗ @diderius6

I think either the texas instruments driver or the amd 3.1 driver

I'm basing my guess on the size in kb of the controller driver compared to intels driver
#1194 diderius6 ⇗ @infuscomus

I wonder, how ⇗ @canonkong makes a 32 bit version of the USB3 xhci and hub driver vers. 2.0.0.0068 from AMD.
Because there is only a 64 bit version of this driver from AMD on the market,
he needs the sourcecode for this driver for to compile it for 32 bit.
If I am right, we have this driver, but something went wrong during compiling,
Dietmar

PS: Until now, we do not know, which makes the difference between Intel USB3 and all USB3 from other manufactures.
I think, may be it is the KMDF driver concept but VIA and Fresco have KMDF also. Texas instruments I dont know.
docs.microsoft.com/en-us/windows-hardware/drivers/usbcon/tutorial--write-your-first-usb-client-driver--kmdf-
#1195 canonkong ⇗ @diderius6 ⇗ @infuscomus
For win7 64bit, AMD Zeppelin USB driver is the best one, it can support all usb devices just add the device ID into the *.inf and don't need to modify the *sys.
Intel 1.0.10.255/ 5.0.4.43/ 15.2.30.13/ 17.2.70.3 are also can support all usb devices just add the device ID into the *.inf but need to modify the *sys. And it can support 32/64bit.
Fresco VIA NEC can only work for the XHCI, but the hub can not work.
As my platform can not support XP, so I can only test on VM, the amd USB driver can support nearly all usb devices but Intel can not work on real machines.
#1196 diderius6 I modified the xhci.sys and *.inf for Intel chipset USB3.0 under XP as good as I can for the Texas Instrument USB 3.0 driver for Win 7 DriverVer=04/14/2016, 1.16.6.0. I use PEmaker 0.82 for to correct the size and the checksum.
Compi tries 4 times to install it, as you can see with Windbg.
The message is about a filtered list,

DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED (0x00000200)
The device's resource requirements list is a filtered list.


so may be only in the extra settings in this special xhci.sys driver is wrong for XP
Dietmar

PS: KMDF driver has started correct in XP.

EDIT: On WIN7 the Texas driver for Intel chipset USB 3.0 is also not loaded, showes the same code 31 as for XP.

0: kd> !DevNode 0x8a475a58
DevNode 0x8a475a58 for PDO 0x8a476a90
Parent 0x8a4c2500 Sibling 0x8a475938 Child 0000000000
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "tixhci"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeInitialized (0x302)
StateHistory[18] = DeviceNodeInitialized (0x302)
StateHistory[17] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[16] = DeviceNodeInitialized (0x302)
StateHistory[15] = DeviceNodeUninitialized (0x301)
StateHistory[14] = DeviceNodeRemoved (0x312)
StateHistory[13] = DeviceNodeInitialized (0x302)
StateHistory[12] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[11] = DeviceNodeInitialized (0x302)
StateHistory[10] = DeviceNodeUninitialized (0x301)
StateHistory[09] = DeviceNodeRemoved (0x312)
StateHistory[08] = DeviceNodeInitialized (0x302)
StateHistory[07] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[06] = DeviceNodeInitialized (0x302)
StateHistory[05] = DeviceNodeUninitialized (0x301)
StateHistory[04] = DeviceNodeRemoved (0x312)
StateHistory[03] = DeviceNodeInitialized (0x302)
StateHistory[02] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
Flags (0x00002230) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_RESOURCE_REQUIREMENTS_NEED_FILTERED, DNF_HAS_PROBLEM
CapabilityFlags (0x00002000) WakeFromD3
Problem = CM_PROB_FAILED_ADD


diderius6 has attached files to this post
#1197 diderius6 So, only hope at the moment for USB 3.0 under XP  for Intel chipset is,
that somebody has the sourcecode for the generic Microsoft USB 3.0 drivers from Win8 and just compiles it
for Win2003 32 bit
Dietmar
#1198 infuscomus ⇗ @diderius6

do you know how to change the value of a string when using a disassembler?
#1199 diderius6 ⇗ @infuscomus
All string values are coded as Hexnumbers (unicode), each separated with  "." => 00
"1" => 31
"2"=> 32
...

"A" => 41
"B" => 42
...

Dietmar

⇗ https://unicode-table.com/de/
#1200 infuscomus ⇗ @diderius6

So I made an attempt to modify AMD driver 1.0.5.3 for intel - can you please test for yourself?

please add your HWID to the INF yourself since i was not sure which HWID you have

hub driver might need an INF mod too, I'm not sure

edit:
alt version in case first one crashes



infuscomus has attached files to this post

 

Page 81

#1201 diderius6 ⇗ @infuscomus

Waaaaooooohhhhhhhh , for the very first time the xhci.sys controller starts for Intel chipset USB 3.0
What a great work!

Hub does not start until now but this can be, because in xhciMod.sys you changed the name for the Hub
and so XP looks in hub.inf for a name, which now not exist.
I test this.

But this is really a BIG day for Windows XP!!!

Open Diff file with Browser.

0: kd> !DevNode 0x8a475a58
DevNode 0x8a475a58 for PDO 0x8a476a90
Parent 0x8a4c2500 Sibling 0x8a475938 Child 0x88480a70
InstancePath is "PCI\VEN_8086&DEV_A2AF&SUBSYS_A2AF1849&REV_00\2&ebb567f&0&A0"
ServiceName is "amdxhc31"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[09] = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[08] = DeviceNodeStarted (0x308)
StateHistory[07] = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[06] = DeviceNodeStarted (0x308)
StateHistory[05] = DeviceNodeStartPostWork (0x307)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
Flags (0x000000f0) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_HAS_BOOT_CONFIG, DNF_BOOT_CONFIG_RESERVED
CapabilityFlags (0x00002000) WakeFromD3



diderius6 has attached files to this post
#1202 diderius6 I edit amdhub31.inf,
but now amdhub31.sys shows in Device Manager code 29

Code 29 - This Device Is Disabled Because the Firmware of the Device Did Not Give It the Required Resources 

Dietmar

;*****************************************************************************
;
; Name: amdhub31.inf
;
; Function:
; Install AMD USB3.1 Hub Driver
;
; Copyright (c) 2014-2018 AMD, ASMedia, MCCI.
;
; MCCI(R) is a registered trademark of MCCI Corporation.
;
;*****************************************************************************

[Version]
Signature="$WINDOWS NT$"
Class=USB
ClassGuid={36fc9e60-c465-11cf-8056-444553540000}
Provider=%Provider%
DriverVer=01/22/2018, 1.0.5.3

[SourceDisksNames.x86]
1=%DiskKey%,"amdhub31.sys",,\x86


[SourceDisksFiles.x86]
amdhub31.sys=1


[DestinationDirs]
DefaultDestDir = 12


[Manufacturer]
%RootHub.MFG%=RootHub, ntx86
%Hub.MFG%=Hub, ntx86


[Hub.ntx86]
%Hub_Product_1%=Hub_Product2_Install,USB\USB_HUB30


[RootHub.ntx86]
%RootHub_Product_1%=RootHub_Product1_Install,USB\USBROOT_HUB31



[RootHub_Product1_Install.ntx86]
FeatureScore=80
CopyFiles=amdhub31.CopyFiles.x86
DriverVer=01/22/2018, 1.0.5.3
AddReg=RootHub_Product1_Install.AddReg
AddReg=amdhub31.DeviceInterfaceGuids
AddReg=amdhub31.ProductDeviceInterfaceGuids

[RootHub_Product1_Install.ntx86.services]
AddService=amdhub31,0x00000002,amdhub31_service


[amdhub31.CopyFiles.x86]
amdhub31.sys

[amdhub31.DeviceInterfaceGuids]
HKR,DeviceInterfaces,GUID_DEVINTERFACE_USB_HUB3,, "{314B0371-157A-434A-8459-685D389ED910}"

[amdhub31.ProductDeviceInterfaceGuids]
HKR,DeviceInterfaces,GUID_DEVINTERFACE_USB_USB3_DRIVERS,, "{C6164C12-A1E1-4B7E-B49C-F942E3A8C050}"

[amdhub31_service]
DisplayName=%amdhub31_ServiceDescription%
ServiceType=1
StartType=3
ErrorControl=1
ServiceBinary=%12%\amdhub31.sys
LoadOrderGroup=Base
AddReg=WinToGo_amdhub31.AddReg

[Strings]
DiskKey = "AMD USB 3.1 Install Disk"
Hub.MFG = "(Generic USB Hub)"
Hub_Product_1 = "Generic USB Hub"
Provider = "Advanced Micro Devices, Inc."
RootHub.MFG = "(Standard USB Host Controller)"
RootHub_Product_1 = "AMD USB3.1 Root Hub"
amdhub31_ServiceDescription = "AMD USB3.1 Hub Service"

;**** end of file ****
#1203 diderius6 ⇗ @infuscomus

This is, what Windbg tells about amdhub31.sys
Such a code 29 I have never seen before
Dietmar

0: kd> !DevNode 0x884ae530
DevNode 0x884ae530 for PDO 0x884b1be0
Parent 0x8a471180 Sibling 0000000000 Child 0000000000
InstancePath is "USB\USBROOT_HUB31\3&216d82cf&2&0"
ServiceName is "amdhub31"
State = DeviceNodeRemoved (0x312)
Previous State = DeviceNodeStartPostWork (0x307)
StateHistory[07] = DeviceNodeStartPostWork (0x307)
StateHistory[06] = DeviceNodeAwaitingQueuedRemoval (0x30f)
StateHistory[05] = DeviceNodeStartPostWork (0x307)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
Flags (0x00002130) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_NO_RESOURCE_REQUIRED, DNF_HAS_PROBLEM
CapabilityFlags (0x00002200) SurpriseRemovalOK, WakeFromD3
Problem = CM_PROB_HARDWARE_DISABLED
#1204 diderius6 ⇗ @infuscomus

I noticed with Ida Pro,
that in the amdhub31.sys is still reference to

AMDHUB31
AmdUsb3_1Root

which you renamed in amdxhc31.sys.
Why did you rename them?

And I noticed, that
     .rdata:000628A8	                unicode	0, <AMDROOT_HUB31&VID040E&PID0100&VER00010000000>

=>

.rdata:000628A8 unicode 0, <USBROOT_HUB31&VID040E&PID0100&VER00010000000>
which may be too special to give explicit VID_&PID_ here for the Hub from MCCI.
Mine is for example VID8086&PIDA2AF

Dietmar
#1205 diderius6 ⇗ @infuscomus

I take a look at your xhci driver and mod it new with minimal changes for my USB device VEN_8086&DEV_A2AF.
My modded xhci.driver works also.
I dont change anything in the names of AMD or USB there.
So, I can use the unmodded *.inf file for the also unmodded Hub.sys
But again the message code 29 appears,
seems to be a serious problem,
last bastion^^ from Intel against USB3 hack for XP
Dietmar

PS: May be it is just, that we need an USB 3.0 hub. This one with code 29 is USB 3.1, but the hardware from Intel chipset is in real only USB 3.0.



diderius6 has attached files to this post
#1206 canonkong ⇗ @diderius6
You can use the hub driver from AMD zeppelin USB driver 2.0.0.48/2.0.0.68.
#1207 diderius6 ⇗ @canonkong
Nice idea, I just tested,
but gives the same code 29.
Hm, all the different Hub drivers give this code 29,
so something went wrong
Dietmar
#1208 canonkong ⇗ @diderius6
I use 2.0.0.48 hub, but code 10.

EDIT:
And I found that your mod xhci not fully change, you need to replace all 22 10 00 00 to 86 80 00 00, and 39 4B 00 00 to your dev ID.
#1209 infuscomus ⇗ @diderius6 ⇗ @canonkong

I'm just guessing, but maybe we need that intel switch driver for the hub to work?

edit:
usb power settings? maybe hub is asleep?
#1210 diderius6 ⇗ @infuscomus ⇗ @canonkong

I also think, that may be intel switch has a meaning. Does somebody know, how and for what this is good?
We can integrate this driver by hand with its registry entries.

What I will try today:

1.) Look about all new registry entries from Win7 32 bit for exact this driver from AMD 1.0.5.3.
   For this I will set up a new Win7 with minimal environment, copy registry and
   check after install of this driver with "Beyond Compare 2" those 2 registries for all differences.

2.) I make by hand entries in registry in "CriticalDeviceDatabase" in XP for this USB device. This will be a hard job,

Dietmar

PS: Any idea is welcome. What really does code 29 mean for a driver?
#1211 canonkong @ diderius6
You can try this one.
8086_A2AF_USB_XP_32BIT_TEST
⇗ https://yadi.sk/d/DVZl98FGYDFgSw


EDIT:
I test it for my 3700x on win7, it is working, but intel A2AF need test.
⇗ http://uploadoss.smxdiy.com/forum/201908...8a1rr14vze5.jpg
#1212 diderius6 ⇗ @canonkong
Nice driver also, asmxhci.sys starts correct my A2AF USB 3.0 controller,
but Hub gives again code 29.
Interesting, that there are more than 1 usb driver,
which works for Intel chipsets
Dietmar
#1213 infuscomus ⇗ @diderius6

Error Code

29
Display Message

"This device is disabled because the firmware of the device did not give it the required resources. (Code 29)"
Recommended Resolution

Enable the device in the BIOS.

⇗ https://docs.microsoft.com/en-us/windows...rdware-disabled
#1214 diderius6 ⇗ @infuscomus

All what can be enabled in Bios is enabled.
And under Win7 this USB 3.0 device with A2AF works
Dietmar

PS: I think, CriticalDeviceDatabase can make this symptoms (code 29) also,
I know from USB2.0 and from ahci.sys, the Intel driver for harddisks has entries there also.
#1215 diderius6 Ha, I understand, what is going on.
Look at the picture, no energy management can be seen (on top from devicemanager).
For to safe energy, the crazy XP shuts this USB device off,
and now no switch there to start it again
Dietmar

 

Page 82

#1216 infuscomus ⇗ @diderius6

try disabling USB power savings in control panel, see if it turns on
#1217 diderius6 ⇗ @infuscomus

In XP, there is no such switch. Only for each hub itself.
All hubs, that I tested show code 29.
I am quite sure, that XP switched this hub off.
And nothing I know, how to switch it on again.

I succeed to install the Intel switch. It installs without problems (via hardware manager) and gives a pci device in device manager. But even if this could enable power on for Intel hubs, it does not work in XP
Dietmar
#1218 infuscomus ⇗ @diderius6

i meant something like this - ⇗ http://tools.thermofisher.com/content/sf...onnectivity.pdf
#1219 diderius6 ⇗ @infuscomus

I found this

HKR,,WdkSelectiveSuspendEnable, 0x10001, 0

Dietmar

EDIT: Again code 29. So may be, something other stopps HUB in last moment from start.

For this Hub is valid:

PDCAP_D0_SUPPORTED
PDCAP_D3_SUPPORTED
PDCAP_WAKE_FROM_D3_SUPPORTED

Energy state now = D3 (off)
#1220 infuscomus ⇗ @diderius6

try plugging in a powered USB hub -

⇗ https://www.ebay.de/itm/USB-7-Port-HUB-P...lC_klgSxX3qtOfg

I had this problem earlier with my USB 2.0 card and the powered hub fixed it

The following contents have been linked to this post:
#1221 diderius6 ⇗ @infuscomus

Nice idea, I have powered USB hub and I will test.
First I thought, that may be this USB hub does not have the possibility
to save power (D3 <=> D0) like the VIA hub3.0.
But then I noticed, that I can also install the normal Asmedia USB 3.1 USB hub with this new driver
and there this one shows powermanagment.
So, indeed this USB Hub3.0 for Intel chipset is not awaken frome sleep D0 => D3.
Only question is,
why not
Dietmar

Dietmar
#1222 daniel_k ⇗ @diderius6

As I was suspecting, the issue lies in the ACPI's DSDT table.

The DSDT table from Z390 chipsets do not have many custom methods and memory operations for integrated devices.

But for the Z370, there are many operations for the same integrated devices.

Just search for Device (XHC) and see the differences.

Remove all instructions from the Z370' DSDT and leave it as close as possible as the Z390's.

After doing this, many host drivers are now loaded successfully.
#1223 infuscomus ⇗ @diderius6

Looking at ASMedia 1.16.56.1 and AMD 1.0.5.3 USB 3.1 drivers it looks to me like the code for both these drivers is identical and they just swapped the HWIDs
#1224 diderius6 ⇗ @infuscomus

I connected a powered USB 3.0 hub,
but no reaction, USB 3.0 from Intel chipset still sleeps with code 29, grrr..

I make a test, if this can be indeed the fault of the DSDT table as recommend from ⇗ @daniel_k .

For this, I make a new setup, compi first in "ACPI Multiprocessor" and then also at the same time as "Standard PC" for XP.
Hm, on Acpi multiprocessor I get now also for the working xhci driver code 10,
device cannot start. But when I switch to the "Standard PC", suddently
I can install the same USB xhci driver for the Intel chipset without any error.
But then the Intel chipset USB hub shows also code 29, D3 powerstate =off, not awake.
I know, that for "ACPI Multiprocessor" and for "Standard PC" are two, absolut independend sets of installation routines
in every DSDT. This you can see, because all drivers are loaded new, when you switch from ACPI Multiprocessor to
Standard PC. This works only in XP and only, it you first install the "ACPI Multiprocessor" and after "Standard PC"
and not vice versa

Dietmar

PS: For me is now the question, how Win7 32 bit can survive with such a faulty DSDT table.
#1225 diderius6 After I read about xhc device in DSDT and problems with Acpi (crazy, so big problems with Apple compis with USB and ACPI)
I am sure, that we need a mod in DSDT for USB3 an XP. It is not the fault of the drivers for USB3 for XP.
Idea from ⇗ @daniel_k looks not bad on a second view.

I know now, that he is right.

So lets have a look at the DSDT from z390 for xhc and differences to z370.
There is even a whole Bios for pur XP for the EVGA dark z390 board
Dietmar

PS: We have the asl.exe tool. With this, it is easy to mod DSDT without any risk for Bios, revertible whenever and as long as you want , no need to load again on every boot because it stays in registry, I tested. Nice tool. So, its much easier than for Hackintosh to modmodmod DSDT for XP. And I make a new try with the Fresco USB driver.
#1226 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1223
@diderius6

Looking at ASMedia 1.16.56.1 and AMD 1.0.5.3 USB 3.1 drivers it looks to me like the code for both these drivers is identical and they just swapped the HWIDs

That's because AMD uses ASMedia core logic.
#1227 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1225
...
So lets have a look at the DSDT from z390 for xhc and differences to z370.
There is even a whole Bios for pur XP for the EVGA dark z390 board
Dietmar

PS: We have the asl.exe tool. With this, it is easy to mod DSDT without any risk for Bios, revertible whenever and as long as you want , no need to load again on every boot because it stays in registry, I tested. Nice tool. So, its much easier than for Hackintosh to modmodmod DSDT for XP. And I make a new try with the Fresco USB driver.



Unfortunately, still it is not that easy.

For now, the "best" driver I've tried and easier to mod was the Renesas 3.0.23.0: both the Host controller and the Hub driver are properly loaded.

However, it doesn't always work. I need to enable/disable the Host controller several times for it to work. When it does, works perfectly.

I've attached the driver here. It is completely generic, removed all device checks. Did not try it on anything but the A2AF controller. Original driver is included for you to see what I did.
#1228 daniel_k ⇗ @diderius6
What is your board with Intel USB 3.0 (A2AF)?

I can mod the DSDT my way for you to see what I did here.
#1229 diderius6 ⇗ @daniel_k

Asrock Fatal1ty z370 Gaming k6
with yes VEN_8086&DEV_A2AF USB3.0.

With the asl.exe tool, you can load and unload the DSDT at any time to registry in XP SP3,
Dietmar
#1230 diderius6 ⇗ @daniel_k

On "Standard PC" the xhci installs and the hub starts:)) !!!
Usbstor.sys does not start, this is exact the situation as on the AMD boards before
Dietmar

PS: Nice work!

 

Page 83

#1231 daniel_k ⇗ @diderius6 , hopefully we're almost there!

I've attached the DSDT tables of your board (and a reference Z390 from ASRock) for you to see what I did.

Please note that I've also removed the following entry:

 
Scope (_GPE)
{
Method (_L6D, 0, Serialized) // _Lxx: Level-Triggered GPE
{
\_SB.PCI0.XHC.GPEH () -> REMOVED THIS
\_SB.PCI0.HDAS.GPEH ()
\_SB.PCI0.GLAN.GPEH ()
\_SB.PCI0.XDCI.GPEH ()
}
}


daniel_k has attached files to this post
#1232 diderius6 Waaaaoooohhhhh, for the very first time XP and USB3 on Intel chipset !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For this I set in Registry for

usbstor Group System Reserved
           start 0

xhci     Group System Reserved
          start 0

hub      Group System Reserved
          start 0


Dietmar


#1233 daniel_k ⇗ @diderius6, after doing these changes, does it work every time?

Please try to restart Windows and check if it Always work.

Here in ACPI mode without registry changes, only works after 7 ~ 10 enable / disable retries.
#1234 diderius6 ⇗ @daniel_k

The registry changes are necessary
Dietmar

PS: I test test test now:))!!!

EDIT: There is still a lot to do:)). With ACPI Multiprocessor xhci gives always code 10.
With Standard PC not always usbstor.sys is loaded.
#1235 canonkong ⇗ @daniel_k
For AMD new cpu and X570, they have the USB controller  ven1022_dev_149C. Do you know which is the best driver for them? Because they running on PCI-E 4.0, I tested some driver for them, AMD zeppelin usb driver 2.0.0.48 and Intel USB drivers can work for them, but will BSOD sometimes. ASMedia and AMD USB3.1 driver can work but the USB disks cant work.
#1236 diderius6 ⇗ @daniel_k

I just upload the new compiled, modded DSDT table for the board Asrock Fatal1ty z370 Gaming k6 via

asl /loadtable dsdt.aml

on working ACPI Multiprocessor XP for to look for behavior on Intel chipset USB3.


Change of DSDT table has been done and works, because on next reboot I got

BSOD 0x000000A5 (0x00000003, xxx, C0140004, yyy).
with newest modded acpi.sys ver. 5048

Now I look with Windbg,
at which place this BSOD in acpi.sys happens
Dietmar

BSOD 0xA5 (0x00000003, Parameter2, Parameter3, Parameter4):

This error is defined as "ACPI failed must succeed method." This error occurs if ACPI cannot build a control method to reference the ACPI namespace. Other arguments for this error reference the ACPI object that was being run and the name of the control method. One greatly simplified explanation (which might not be completely accurate) is that the system cannot find a way to get to the ACPI tables that define the Plug and Play and Power Management capabilities of the system.
#1237 infuscomus ⇗ @diderius6

Intel ASL compiler also has it's own acpiexec command line tool which can also load DSDT from registry

maybe try that?
edit: or maybe i'm wrong about iasl being able to load a different DSDT
#1238 diderius6 ⇗ @infuscomus

The asl.exe Tool works perfect.
I change the acpi5048.sys against my first modded original acpi.sys from XP SP3
(gives BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy)
because now I get Symbols in Ida Pro and windbg shows me exact the line,
where it crashes.
May be, it is just an simple error in DSDT.
The fantastic thing in the asl.exe tool is,
that now I can start the same XP (with uploaded DSDT) as "Standard PC" and write simple command

asl /loadtable -d dsdt.aml

and the uploaded DSDT table is deleted in registry and XP now uses the unmodified DSDT table from Bios,
meaning all is exact like before
Dietmar


EDIT: The changes in DSDT are a little bit to heavy^^. Now the COM1 port does not work any longer, meaning no windbg.
But for me it is a good test, if really I can delete this DSDT (stays only in registry) with asl.exe and if all is good as before.
In "Standard PC" the changes in DSDT do not help for better USB3. May be other tables need to be fixed too.

EDIT2: I change by hand the adress of the COM port, now it works again with windbg.
Still I use the modded DSDT for to see, what is going on:
STACK_COMMAND:  kb

FOLLOWUP_IP:
ACPI!ACPIBuildCompleteMustSucceed+33
b7f3967f c7401802000000 mov dword ptr [eax+18h],2

SYMBOL_STACK_INDEX: 4

SYMBOL_NAME: ACPI!ACPIBuildCompleteMustSucceed+33

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 480252b1

FAILURE_BUCKET_ID: 0xA5_ACPI!ACPIBuildCompleteMustSucceed+33

BUCKET_ID: 0xA5_ACPI!ACPIBuildCompleteMustSucceed+33

Followup: MachineOwner


EDIT3: Hack in acpi.sys succeeds, but now I get BSOD 0xA5 (0x00000002,xxx,0x00000001,yyy)
0xA5(0x00000002, Parameter2, Parameter3, Parameter4):

This error is defined as ACPI root PCI resource failure. To discover what current resources are being used by PCI devices, ACPI must be able to query the CRS descriptor in the ACPI namespace. This error occurs if the BIOS lacks a pointer to the list, or if the list is empty, or if the list contains errors or conflicts.

The "1" in this BSOD means: 1 : ACPI cannot convert the BIOS' resource list into the proper
format. This probably represents a flaw in the BIOS' list
encoding procedure.

Ok, next hack^^ in acpi.sys.

Works also, but gives now exotic BSOD
0xA5 (0x00010007,0x000000FF,0x0000000,0x0000000)
0x10007 :
The _PRT contained a reference to a vector not described in the
I/O APIC entries MAPIC table.
2 - The vector that couldn't be found

STACK_COMMAND: kb

FOLLOWUP_IP:
ACPI!MakeTempVectorCountsPermanent+59
b7f5a087 8a4607 mov al,byte ptr [esi+7]

SYMBOL_STACK_INDEX: 5

SYMBOL_NAME: ACPI!MakeTempVectorCountsPermanent+59

FOLLOWUP_NAME: MachineOwner

MODULE_NAME: ACPI

IMAGE_NAME: ACPI.sys

DEBUG_FLR_IMAGE_TIMESTAMP: 480252b1

FAILURE_BUCKET_ID: 0xA5_ACPI!MakeTempVectorCountsPermanent+59

BUCKET_ID: 0xA5_ACPI!MakeTempVectorCountsPermanent+59

Followup: MachineOwner

EDIT4: I cant correct this error on acpi.sys, because 0xA5 (0x00010007,0x000000FF,0x0000000,0x0000000)
is produced from hal.dll.
Here I give up.

Now I just delete with the nice asl.exe Tool the DSDT in registry via boot to "Standard PC" in commandline
asl /loadtable -d dsdt.aml
A message pops up, "registry data deleted"
and on next boot I have the original DSDT table from Bios back. I think, this works only in XP, because Win Server 2003 looks
only in Bios for DSDT table.
Interesting, this boot for "ACPI Multiprocessor" I tested with my again 2 times modded acpi.sys
and it starts. So, there are really errors in DSDT table (I think before mod also),
Dietmar
#1239 canonkong ⇗ @diderius6 ⇗ @infuscomus ⇗ @daniel_k
I modifie some usb drivers for ryzen 3000 series and x570, but it just work for the mouse keyboard soundcard, but USB DISK do not work well, U disk has been identified and driven successfully, but there will be no U disk character or it will said prompt formatting on computer pages.
Can you help me find what I need to midify with them.
Here is the test driver: ⇗ https://yadi.sk/d/C6kvjsrdwE4MOw

Error like this: ⇗ http://uploadoss.smxdiy.com/forum/201908...8jp8okzmxth.png
#1240 diderius6 ⇗ @canonkong

With 64 bit I have no good intrumentarium here for to analyze.

I would make a try in the registry entries as I write above for all

start=0

Group System Reserved

But editing registry can produce strange results
Dietmar
#1241 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1238
EDIT: The changes in DSDT are a little bit to heavy^^. Now the COM1 port does not work any longer, meaning no windbg.
But for me it is a good test, if really I can delete this DSDT (stays only in registry) with asl.exe and if all is good as before.
In "Standard PC" the changes in DSDT do not help for better USB3. May be other tables need to be fixed too.



Dietmar, on my Gigabyte Z370 Gaming 3 there are no side effects.

Anyway, start the original table and delete small parts of the code, specially the OperationRegion blocks.
#1242 daniel_k ⇗ @canonkong, there are some additional checks, try the one I've attached.

 

daniel_k has attached files to this post
#1243 canonkong ⇗ @daniel_k
It said Code 31, TI and other MICC driver has ID cheksum, we need change it. So we need use HxD find 50 00 43 00 49


EDIT:
Finish ID cheksum, XHCI and HUB driver can work. But all usb mouse key board U disk are spotting "Generic USB Hub" and can not work.
#1244 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1243
@daniel_k
It said Code 31, TI and other MICC driver has ID cheksum, we need change it. So we need use HxD find 50 00 43 00 49


EDIT:
Finish ID cheksum, XHCI and HUB driver can work. But all usb mouse key board U disk are spotting "Generic USB Hub" and can not work.


Sorry, no more ideas, for now.
#1245 daniel_k ⇗ @canonkong, one last try. The string check I missed actually accepts wildcard, see what I did.



⇗ @diderius6, please try this TI driver in Standard PC mode, check if it works better than the Renesas.

There are more issues with the ACPI tables, more specifically in many SSDT tables.

For Z370, GUID 6B5C8FE5-70DD-4E17-BFF4-D21C26586EB3, you'll find:

 
    Scope (\_SB.PCI0.XHC.RHUB)
{
Method (PS0X, 0, Serialized)
{
Store (Zero, \_SB.PCI0.XHC.USPP)
}

Method (PS2X, 0, Serialized)
{
OperationRegion (XHCM, SystemMemory, And (MEMB, 0xFFFFFFFFFFFF0000), 0x0600)
Field (XHCM, DWordAcc, NoLock, Preserve)
{
Offset (0x02),
XHCV, 16,
Offset (0x480),
HP01, 1,
Offset (0x490),
HP02, 1,
Offset (0x530),
SP00, 1,
Offset (0x540),
SP01, 1
}

If (LEqual (XHCV, 0xFFFF))
{
Return (Zero)
}

If (LAnd (LEqual (HP01, Zero), LEqual (SP00, Zero)))
{
Or (\_SB.PCI0.XHC.USPP, 0x02, \_SB.PCI0.XHC.USPP)
}

If (LAnd (LEqual (HP02, Zero), LEqual (SP01, Zero)))
{
Or (\_SB.PCI0.XHC.USPP, 0x04, \_SB.PCI0.XHC.USPP)
}
}

Method (PS3X, 0, Serialized)
{
}
}



For Z390, GUID 7E374E25-8E01-4FEE-87F2-390C23C606CD, you'll find:

 
    Scope (\_SB.PCI0.XHC.RHUB)
{
Method (PS0X, 0, Serialized)
{
}

Method (PS2X, 0, Serialized)
{
}

Method (PS3X, 0, Serialized)
{
}
}
daniel_k has attached files to this post

 

Page 84

#1246 canonkong ⇗ @daniel_k
It doesn't matter. I've found another better driver. VIA work very well on it.
#1247 canonkong ⇗ @daniel_k
I test it again.
It also works for the mouse keyboard soundcard, but USB DISK do not work well, U disk has been identified and driven successfully, but there will be no U disk character or it will said prompt formatting on computer pages.
#1248 diderius6 ⇗ @daniel_k

Thank you for the driver,
I test in 5 min from now:)), before очень вкусный coffee. My tip for a good driver would be Fresco vers. 3.6.9.0
But with my Ida Pro from 2004 it is a very hard job to do any modding, so any help is welcome.

Do you know, why the Asmedia and the AMD hub stays in sleeping mode D3?
Can this hub been awaken with entries in xhci.inf?
I do not find any documentation about it
Dietmar
#1249 diderius6 ⇗ @daniel_k

In "Standard PC" the Texas xhci.sys starts.
The hub.sys stays in sleeping mode code 29. I see, that in its xhci.inf there is the possibility put to registry,
that hub is allowed to sleep. May be it is enough to cancel this there.

On "ACPI Multiprocessor" the Texas xhci.sys starts not, shows code 10

Dietmar

PS: I am very interested, which tool you use after modding, to let the Build date, version etc. exact as that from original file.
#1250 diderius6 Oh, so much fun with XP !
Now I have

"ACPI Multiprocessor"
"MPS"
"Standard PC"

on one XP SP3 32 bit installation and I can chose between them just on each boot.

I see, that the NEC USB3 works also in MPS mode.
This means, that USB3 does not work until now for "ACPI Multiprocessor"
is only because of the faulty ACPI implementation in DSDT.

One thing more I noticed:
Only, when all 3 HUBs are started from NEC (for one xhci controller),

USB 2.0 Hub
USB 3.0 Hub
USB 3.0 Root Hub

usbstor.sys starts and "unknown device" is gone

Dietmar

PS: I make just small speed test with Sandisk Ultra USB stick: 314.1 Mbyte/s.

EDIT: I solved the problem with "unknown device". For this I boot "MPS" in safe mode and there I can disable for the HUBs
the possibility to save energy. Now they start always and we have stable USB 3.0 support for XP.

EDIT2: Also my Samsung phone is recogniced correct at once. On other compis with USB there was so much trouble with it.
All 8 ports work, can be mice, phone, usbstick 2.0, 3.0, 3.1, 3.2, camera, USB hub all work at once and no power fall back.

#1251 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1250
EDIT: I solved the problem with "unknown device". For this I boot "MPS" in safe mode and there I can disable for the HUBs
the possibility to save energy.


Can you please check the registry value name so we can add it to the INF file?

Should be easy to spot that under the following registry tree:
 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\????



where ???? can be any device instance number, search for Renesas.

Disable and check which value is changed.

#1252 diderius6 ⇗ @daniel_k

I think you mean this, it is just copied from working Registry, not any longer sleeping Hubs.
Dietmar
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0004]
"InfPath"="oem10.inf"
"InfSection"="RUSB3XHC"
"InfSectionExt"=".NT"
"ProviderName"="Renesas Electronics"
"DriverDateData"=hex:00,40,3b,e8,2f,7f,cd,01
"DriverDate"="8-21-2012"
"DriverVersion"="3.0.23.0"
"MatchingDeviceId"="pci\\cc_0c0330"
"DriverDesc"="Renesas Electronics USB 3.0 Host Controller"
"DataPumpDebugFlags"=dword:0000a003
"DataPumpHubAutoSuspendEnable"=dword:00000000
"DataPumpMinU1TimeoutEncodeValue"=dword:00000000
"DataPumpMinU2TimeoutEncodeValue"=dword:00000000
"DataPumpPowerOffWhenSleep"=dword:00000000
"DataPumpU1Enable"=dword:00000000
"DataPumpU2Enable"=dword:00000000
"DataPumpWakeOnConnectionEnable"=dword:00000001
"DataPumpWakeOnDisconnectionEnable"=dword:00000001
"DataPumpWakeOnOvercurrentEnable"=dword:00000001
"DataPumpXhcdEventRingSegmentSize"=dword:00000400
"DataPumpXhcdMaxEventRingSize"=dword:00000400
"DataPumpXhcdNumOfBufferSegment"=dword:00000008
"DataPumpXhcdPollPortStatusTime"=dword:000007d0
"DataPumpXhcdRxThreshold"=dword:28400000
"DataPumpXhcdSystemResumeRecoveryTime"=dword:000007d0
"DataPumpXhcdTxThreshold"=dword:22040000
"DataPumpXhcdWiringValue"=dword:0006360a
"Disable64BitDma"=dword:00000000
"EnableClockPower"=dword:00000001
"EnableDynamicD3"=dword:00000002
"EnablePciBridge"=dword:00000001
"EnableXiWake"=dword:00000002
"WdkSelectiveSuspendEnable"=dword:00000001
"WmiOverCurrentMessageDisable"=dword:00000000
"Controller"=hex:01
"CoInstallers32"=hex(7):72,00,75,00,73,00,62,00,33,00,63,00,6f,00,32,00,2e,00,\
64,00,6c,00,6c,00,2c,00,4e,00,75,00,73,00,62,00,33,00,43,00,6f,00,49,00,6e,\
00,73,00,74,00,61,00,6c,00,6c,00,65,00,72,00,00,00,00,00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}\0004\DeviceInterfaces]
"GUID_DEVINTERFACE_TI_XHCI_8241_02"="{8e5f3630-a165-11df-867e-005056a72cb6}"
"GUID_DEVINTERFACE_TI_XHCI"="{106c44a2-8ac7-11df-867e-005056a72cb62}"
"GUID_DEVINTERFACE_TI_USB3_DRIVERS"="{0e16b110-8ac7-11df-867e-005056a72cb6}"
#1253 diderius6 ⇗ @daniel_k

I tried to set the Hubs back to sleep, set mark in each.
But I do not succeed, they are still awake
and with Beyond Compare2 I check both registry entries,
they are 100% identic,
which means, we dont know how to set Hubs to sleep and how to awake until now
Dietmar

EDIT: This values are all from the Texas xhci.inf but Nec takes them one by one.
#1254 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1253
@daniel_k

I tried to set the Hubs back to sleep, set mark in each.
But I do not succeed, they are still awake
and with Beyond Compare2 I check both registry entries,
they are 100% identic,
which means, we dont know how to set Hubs to sleep and how to awake until now
Dietmar


I'm sure this occurs because ACPI is not enabled. Some device drivers are not written taking Standard PC mode in consideration. It expects ACPI to send power management status messages to the driver.

Once we fix the ACPI tables this should not be needed anymore.

Search for EnableSelectiveSuspend in the Registry.

By the way, I sent you a Private Message regarding the tools I use.
#1255 diderius6 ⇗ @daniel_k

I found with value "1"

WdkSelectiveSuspendEnable

For the asmedia I found "40h"

Dietmar

PS: Of course I want to share:))!
#1256 daniel_k ⇗ @diderius6, for the USB 3.0 controller to start, you only need to make the following change.

Search for Device (XHC) and scroll down until you find Method (_PS0, 0, Serialized).

Then replace this:

 
            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
{
If (DVID == 0xFFFF)
{
Return (Zero)
}

Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
PDBM &= 0xFFFFFFFFFFFFFFF9
D3HE = Zero
STGE = Zero
D0D3 = Zero
MEMB = XWMB /* \XWMB */
PDBM = (Local1 | 0x02)
OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
Field (MC11, DWordAcc, Lock, Preserve)
{
Offset (0x81C4),
, 2,
UPSW, 2
}

UPSW = Zero
PDBM &= 0xFFFFFFFFFFFFFFFD
MEMB = Local2
PDBM = Local1
If (CondRefOf (\_SB.PCI0.XHC.PS0X))
{
PS0X ()
}

If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
{
MPMC = One
While (PMFS)
{
Sleep (0x0A)
}
}
}



With this:

 
            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
{
If (DVID == 0xFFFF)
{
Return (Zero)
}

If (CondRefOf (\_SB.PCI0.XHC.PS0X))
{
PS0X ()
}
}



_PS0 is Device ON State.

#1257 canonkong ⇗ @diderius6 ⇗ @infuscomus ⇗ @daniel_k
I have completed the USB driver test of the existing manufacturer. For AMD new platform, there are only two drivers that do not appear BSOD and unidentified U disk. One is Etron, another is VIA, and VIA is better than Etron.
Modified AMD 2.0.0.48 and Intel USB drivers can work, but will bsod sometimes.
Modified AMD 1.0.5.3, ASMedia and TI can work, but will unidentified U disk.
Fresco only work for the XHCI, and the hub driver will bsod when I try to install it.
NEC will BSOD when I try to install it. Maybe I've modified it incorrectly.
#1258 diderius6 ⇗ @canonkong

"Fresco only work for the XHCI, and the hub driver will bsod when I try to install it."

Make a try to install in safe mod (F8) hub3.sys driver from Fresco new, onto another Hub from other vendor installed.
And even it crashes, look what happens after reboot
Dietmar
#1259 diderius6 ⇗ @daniel_k

Thank you a lot, I just found in DSDT of my board.
Does it mean, that all D3 states for all hubs are gone?
Dietmar

PS: I try tomorrow, now I am too tired. All the other drivers should work then also (because no D3 sleep) and
maybe there is one, which says "hello world" even under ACPI.
#1260 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1259
@daniel_k

Thank you a lot, I just found in DSDT of my board.
Does it mean, that all D3 states for all hubs are gone?
Dietmar


Method _PS0 is processed during device initialization. This is what matters to us.

No changes for all other power states.

This just means you won't be getting error 10 anymore.

But for the hub driver, I still haven't figured it out. Please try to debug this with both the Renesas and the TI driver.

 

Page 85

#1261 canonkong ⇗ @diderius6
Can you help me test it?
USB driver 32bit for 149C&A36D&A2AF
⇗ https://yadi.sk/d/zof4ujwHu8Lk6Q
#1262 diderius6 ⇗ @canonkong

I test under XP "MPS" on my Asrock z370 K6 board (Intel).
xhci and hub3 installs without problems.

But a deeper look at them with windbg tells other:

xhci starts but hub3 not.
In the device manager from XP is written,
that there are no resources needed for this hub3 device.
I look at the xhci.inf. There is also the possibility, that this device sleeps.

0: kd> !DevNode 0x87f8f938
DevNode 0x87f8f938 for PDO 0x87faa1a0
Parent 0x8a846970 Sibling 0000000000 Child 0000000000
InstancePath is "USB\VIA_ROOT_HUB\3&216d82cf&5"
ServiceName is "VUSB3HUB"
State = DeviceNodeResourcesAssigned (0x304)
Previous State = DeviceNodeDriversAdded (0x303)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
StateHistory[07] = Unknown State (0x0)
StateHistory[06] = Unknown State (0x0)
StateHistory[05] = Unknown State (0x0)
StateHistory[04] = Unknown State (0x0)
StateHistory[03] = Unknown State (0x0)
Flags (0x00000130) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_NO_RESOURCE_REQUIRED
CapabilityFlags (0x00000002) DeviceD2


DNF_NO_RESOURCE_REQUIRED (0x00000100)
The device does not require resources.


This tells XP, that this device hub3 does not want any driver, even they are installed!

This is of course an error
Dietmar

PS: Yepp, I just found, that this device sleeps energy level=D3 (off).
#1263 canonkong ⇗ @diderius6
Hub driver need manual install again on Xp, it work well on win7, maybe 149C can work on Xp, but intel can not.
#1264 diderius6 ⇗ @daniel_k

I found the differences in registry for energy settings for Hubs.

Open it with browser

Dietmar

PS: Left side: energie safe enabled (Hubs sleep allowed)             right side energie safe disabled (Hubs always awake)

First extract file and then rename it to rpt64952.htm



diderius6 has attached files to this post
#1265 canonkong ⇗ @diderius6
Make a try to install in safe mod (F8) hub3.sys driver from Fresco new, onto another Hub from other vendor installed.
I tried it, BSOD again.
#1266 canonkong ⇗ @daniel_k
Can you help me modifiy VIA USB 64bit driver as a generic usb driver? I found that your method is unique.
I don't know any assembly language, so I usually use ID replace and jmp/nop to modify it.
#1267 diderius6 When I change my DSDT on the Asrock z370 K6 board with the post 1256 from ⇗ @daniel_k
I got famous BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
Hm, this looks strange to me, because before I thought, this BSOD happens
only in the case of unknow words from Acpi 2.0.
But with this hack in DSDT I only want to set xhc driver always awake
Dietmar

PS: May be ⇗ @Mov AX, 0xDEAD can help with this.
On page 12, post 172 he wrote, that he overcomes to 99% this BSOD with custom acpi.sys.
And it can be, that his acpi.sys is better than our one.

EDIT: It can be, that the Device (XHC) becomes faulty,
if I destroy in
Method (_PS0, 0, Serialized)  // _PS0: Power State 0
the settings and construction for this device xhc in this method. And so, no acpi.sys at all can help.
May be it is enough, just to cancel this part about sleeping in the end from this method
If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
{
MPMC = One
While (PMFS)
{
Sleep (0x0A)
}
}
EDIT: Strange, I got the same famous BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) again,
even the only thing I changed in DSDT is to delete the above 8 lines.
#1268 infuscomus ⇗ @diderius6

does it work even if you make no changes but load the table into registry anyway?

I mean, dump the table from BIOS and then load it into registry using microsoft ASL?
#1269 diderius6 ⇗ @infuscomus

Exact the same idea I have had 5 min ago:)).

So, I delete with the asl Tool the modded dsdt.raw,
ok, XP starts after deleting with full ACPI Multiprocessor.
Then I upload with the asl Tool the exact original working dsdt.raw which I extracted before from its real own working Bios.
Now comes the good and bad news at the same time:

The asl Tool fails with BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) after uploading a working DSDT table for Acpi, brrr..

So, now again on Intel boards I have to use flashtools but for AMD boards this means
flash always whole Bios

Dietmar
#1270 infuscomus ⇗ @diderius6

one more idea to try

perhaps microsoft ASL uses a different syntax to Intel ASL?

take original unmodded dsdt.raw then disassemble with Microsoft ASL, change nothing, then reassemble with Microsoft ASL and upload to registry?
#1271 diderius6 ⇗ @infuscomus

I tried this. 4 Bytes are changed as I can see with Winhex,
but BSOD is the same
Dietmar
#1272 diderius6 Again I noticed, that the Tool

Universal BIOS Backup ToolKit 2.0.exe


reads also the Bios from Asrock k6 board

faulty out.

So be just careful, take an intensive look with UEFItool at your Bios before you flash it

Dietmar

PS: FPTW.exe from Intel seems to work ok.
#1273 diderius6 The mod of XHC gives BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy)
also with real new modded DSDT in Bios and in "MPS" the network card i211 is listened but red cross in Task list as if no cable is connected
Dietmar

EDIT: hihi, what crazy things Bios Mod do:
Before in win7 32 bit, always the networkcard does not work.
But after this mod (kill sleep of xhc) networkcard works in Win7 for the very first time.
So, the set to sleep affects also Win7, logo, because they use one and the same Bios!

EDIT2: The Bios Mod with only deleting the last 8 lines in DSDT (for sleep XHC device, see above) gives also
BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy) in ACPI XP.
But now, in XP "MPS" networkcard works again.
#1274 diderius6 The FPTW.exe from Intel produce also faulty Bios.
I upload DSDT.aml (which works for Acpi) in Bios with Uefi Tool.
This Bios I compare with winhex with the original complete outread via FPTW.exe -D
Winhex tells: 100% identic.
But when I upload this Bios again,
I got BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
This simply means: The outread from FPTW.exe is different from original Bios.
Now I trust only Epromer
Dietmar

EDIT: Waaoh, a compare with Beyond Compare 2 with the original 3.20 Bios from Download site of Asrock tells 127 sections are different.
This is a lot, I know from experiments with Bios before.

EDIT2: Hard job, to give Asrock fatal1ty z370 gaming k6 full XP SP3 ACPI back, but now I have. Crazy Bios..
#1275 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1266
@daniel_k
Can you help me modifiy VIA USB 64bit driver as a generic usb driver? I found that your method is unique.
I don't know any assembly language, so I usually use ID replace and jmp/nop to modify it.

⇗ @canonkong

Sure.

 

Page 86

#1276 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1274
The FPTW.exe from Intel produce also faulty Bios.
I upload DSDT.aml (which works for Acpi) in Bios with Uefi Tool.
This Bios I compare with winhex with the original complete outread via FPTW.exe -D
Winhex tells: 100% identic.
But when I upload this Bios again,
I got BSOD 0x000000A5 (0x00000003, xxx, C0140001, yyy).
This simply means: The outread from FPTW.exe is different from original Bios.
Now I trust only Epromer
Dietmar

EDIT: Waaoh, a compare with Beyond Compare 2 with the original 3.20 Bios from Download site of Asrock tells 127 sections are different.
This is a lot, I know from experiments with Bios before.

That is why I bought Gigabyte boards, completely unlocked descriptors, I can flash and mod without any worries using their own utility.

Good luck, hope you can get it working soon to help me with the Hub driver issue.
#1277 AddFun My Ryzen 1600x X370 machine is still getting 000000x7B issue. Tried half a dozen combinations of using the modified ACPI.sys, nLite'ing proper files, and similar, no difference. Tried F7 no ACPI, uni, multi, etc, etc, what have you. Just burned my 6th nlite'd CD. Nope. In fact no difference, never get past the reboot stage of WinXP setup where it goes straight into the 0x7b BSOD. Like it did with stock WinXP SP3 install.

What are you guys EXACTLY doing? What is your success rate with the modified files? (100%, 50%, random%?) Is there a XP ISO out there that has the files needed for the Ryzen platform that has repeatable success rate? It feels like this is not 100% repetable and there is a certain element of "luck" + random piece of hardware + random BIOS rev + random combo of ACPI/modded files = maybe it install XP is what the algorithm of WinXP on Ryzen platform seems to be.
#1278 infuscomus ⇗ @AddFun

have you integrated the storahci driver we used?

are you using a SATA or USB optical drive?
#1279 AddFun single SATA DVD drive with a single 120GB SATA disk and only PS/2 keyboard plugged in. Nothing else plugged to keep from any issues cropping up. Motherboard is Gigabyte AX370 Gaming 5. I've even tried 4-5 different BIOS revisions over the last week or so before coming to this board/thread. No difference, always dead ends at the usual x7b BSOD after the first reboot.
#1280 diderius6 ⇗ @AddFun

Before, XP with ACPI was impossible on Ryzen.
Now, the situation is complete other.
Use of the latest modded acpi.sys , the storahci driver together with my storport.sys (post 706)
and result via nlite is for me at once 100% succeed install on 3 different AMD boards 350, 350, 570
Dietmar
#1281 infuscomus ⇗ @AddFun

after first reboot?
So I'm assuming XP textmode setup completes without a BSOD?

that might be the storport.sys not copying itself across for 1st reboot issue we had earlier

to fix - in txtsetup.sif look for [files.acpi]

make it look like this

[files.acpi]
acpi.sys,4
acpiec.sys,4
oprghdlr.sys,4
storport.sys,4

then the storahci driver should work

edit:
If you have not yet grabbed the storahci driver it is here
¶ Windows XP SP3 32bit and modern PC parts (64)
#1282 AddFun Textmode always finishes, I had no problems with that even with my stock XP-SP3 disc when I tried XP on x370 first time two years ago. Let me check the txtsetup.sif as per your instructions.
#1283 AddFun Yeah, its in there. Everyone is using regular XP SP3 correct?
#1284 diderius6 ⇗ @daniel_k

I flash my new DSDT without the 8 lines for sleep of xhc to my new Bios (asl.exe for DSDT does again not work, BSOD)
Now no BSOD but still on ACPI XP your Renesas/nec driver for xhci does not start, code 10
Dietmar

EDIT: I did the whole mod of my DSDT for XHC but this gives BSOD 0x7B (only for ACPI, "MPS" starts).
Even Win7 32 bit does not start, tells BSOD 0xA5(0x00000011,..) so its acpi related.
To edit the DSDT for USB3 on Intel chipset with full ACPI on XP is really hard bread.
#1285 infuscomus ⇗ @AddFun

Yep, using XP SP3

Do you know what the HWIDs of your storage controllers are?


Do you mind uploading your txtsetup.sif so I can check it?
#1286 diderius6 ⇗ @AddFun

"always dead ends at the usual x7b BSOD after the first reboot"

I think acpi.sys and/or storport.sys have changed back to their original version, which gives BSOD 0x7B on first reboot

Dietmar
#1287 AddFun I meant after textmode reboot, after it copies the files and attempts to continue the install. Not sysos reboot.
#1288 diderius6 ⇗ @AddFun
Use nlite and life becomes easy
Dietmar

PS: Make sure, that your harddisk is aligned to 2048. This means, any use of the XP for formatting is forbidden.
#1289 AddFun PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51
PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02
PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01

PCI\VEN_126F&DEV_2262&REV_03
USB\VID_0BC2&PID_331A&REV_0911

Nothing exotic
#1290 AddFun Burning 7th nlite'd disc, diderius6. I don't think that's it.

 

Page 87

#1291 infuscomus ⇗ @AddFun

also, check driver.cab and replace the acpi.sys, storahci.sys and storport.sys in there

use 7zip to extract driver.cab and cabpack 1.4 to recompress - ⇗ https://www.techspot.com/downloads/7104-cabpack.html
#1292 infuscomus
Zitat von ⇗ AddFun im Beitrag ¶ #1289
PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51
PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02
PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01

PCI\VEN_126F&DEV_2262&REV_03
USB\VID_0BC2&PID_331A&REV_0911

Nothing exotic







PCI\VEN_1022&DEV_7901&SUBSYS_B0021458&REV_51 - amd ahci - will need storahci
PCI\VEN_1022&DEV_43B5&SUBSYS_10621B21&REV_02 - amd ahci  - will need storahci
PCI\VEN_11AB&DEV_5040&SUBSYS_152592D4&REV_01 - Sonnet Tempo SATA Gen 1 PCI-X Adapter (i'm not sure if ahci)

PCI\VEN_126F&DEV_2262&REV_03 - nvme?
USB\VID_0BC2&PID_331A&REV_0911 - usb HDD? disconnect this
#1293 diderius6 Yessssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I got it, USB3.2 USB3.1 USB3.0 USB 2.0 USB1.1

on Intel Chipset under XP 32 bit with full "ACPI Multiprocessor"

Dietmar

#1294 AddFun Alright, tried it with some tweaks. I got this error in textmode install (pic #1 below)



but ignoring it the install continued and rebooted without the BSOD, it continued into graphical install where it installed all the drivers and then it rebooted again.... however I got a different BSOD this time (pic #2 below)



this is the farthest Ive gotten to date, any tips?
#1295 diderius6 ⇗ @AddFun
I have seen this picture for myself.
It happens, when the driver (here acpi.sys) is not copied correct to the CD.
Copy acpi.sy_ in the installations folder i386 before you run nlite
Dietmar

PS: I do NOT integrate all the drivers in the *.cab file.
This force me on every reboot to put them on harddisk by hand again, but it works.
#1296 AddFun Was copied, both in the cab that I repackaged and the i386 directory. Hmm.
#1297 diderius6 ⇗ @AddFun

Have you used the last checksum corrected version of acpi.sys from @Infuscomus?
Dietmar
#1298 infuscomus
Zitat von ⇗ AddFun im Beitrag ¶ #1294
Alright, tried it with some tweaks. I got this error in textmode install (pic #1 below)



but ignoring it the install continued and rebooted without the BSOD, it continued into graphical install where it installed all the drivers and then it rebooted again.... however I got a different BSOD this time (pic #2 below)



this is the farthest Ive gotten to date, any tips?




⇗ @AddFun

for the 1st image, I solved this error by replacing the acpi.sys copy in driver.cab

the 2nd error - A5 BSOD probably happens because the old unpatched acpi.sys was copied from driver.cab
#1299 infuscomus ⇗ @AddFun

I just noticed, there is a copy of acpi.sys in SP3.cab, so that will need replacing too
#1300 AddFun Just went into the XP install remotely, and replaced the ACPI.sys with yours, 186kb vs 234kb. Tried booting and got the 7b BSOD, non-specific this time. Any ideas?
#1301 AddFun Technically, the XP system is installed and configured since the graphical install completed on it's end. Browsing the "\WINDOWS\system32\drivers" now and I can see proper storport and storahci in there. Proper ACPI was copied too.

Dunno guys...
#1302 AddFun Browsing from a different OS with the drive in question attached that is...
#1303 diderius6 ⇗ @AddFun
The acpi.sys was replaced again with the old one.
This gives exact this BSOD
Dietmar
#1304 infuscomus ⇗ @AddFun

So storahci.sys and storport.sys are present in C:\WINDOWS\SYSTEM32\DRIVERS but you are still getting 7B BSOD?
#1305 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1293
Yessssaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

I got it, USB3.2 USB3.1 USB3.0 USB 2.0 USB1.1

on Intel Chipset under XP 32 bit with full "ACPI Multiprocessor"

Dietmar


⇗ @diderius6

What did you do?

Tell me so I can try it!

 

Page 88

#1306 diderius6 ⇗ @daniel_k

I use your brandnew driver:)).

And I delete only everything in the  Method (_PS0 for the device XHC in DSDT.

I look for this at the other installations of

Method (_PS0, 0, Serialized)  // _PS0: Power State 0

how this is handled there.

Even I succeed to disable also any energy savings for the hubs via the device manager of XP,
still not always all USB devices are recogniced at boot. The "unknown device" message is gone,
but happens sometimes just nothing. But when I delete the xhci device one time in devicemanger
always at once all other is recogniced and works.
Now it is not perfect, only about 90% because I also do not find the switch that the hubs are always awaken.
There entries in DSDT marks them always as in D0, awaken
Dietmar

PS: Example for the hub from DSDT

           Device (RHUB)
           {
               Name (_ADR, Zero)  // _ADR: Address
               Method (_PS0, 0, Serialized)  // _PS0: Power State 0
               {
                   If (DVID == 0xFFFF)
                   {
                       Return (Zero)
                   }

                   If (CondRefOf (\_SB.PCI0.XHC.RHUB.PS0X))
                   {
                       PS0X ()
                   }
               }
#1307 infuscomus ⇗ @daniel_k

I tried your Renesas driver in virtualbox and got code 39 after installing
#1308 AddFun ACPI.sys is still the modified one from here @ 234kb, sitting pretty in system32/drivers directory, it hasn't been swapped back. The proper storahci.sys and storport.sys are there too. 7b error just again. Went through my BIOS, not a whole lot there.

ACPI.sys: SHA1 -- 182eb4f6911818923965f938700546d87bb268ce
STORAHCI.sys: SHA1 -- 6daf4bb09af562d978a3503ef17dedaad0e4880a
STORPORT.sys: SHA1 -- 911e15fada65ab813ef4ce4cea82d185e82cb55a

that's whats in there.
#1309 AddFun Updated with proper hashes, copy paste playing with me.
#1310 diderius6 ⇗ @AddFun
May be crazy XP loads acpi.sys from other place.
This BSOD is typical for old acpi.sys
Dietmar
#1311 AddFun windows/system32? minus drivers folder?
#1312 AddFun Wait, heh, I have half a dozen images of WinXP installs from other machines, I can check.
#1313 diderius6 ⇗ @AddFun

I have seen, that XP can load drivers from different other places.
XP looks in all directories, if there is a "better" bootfile for this.
I have seen this for acpi.sys ntoskernl.exe hal.dll ntbootdd.sys
It is like a small part of intelligence from XP, I would say more "intelligent" than any other system on market
Dietmar
#1314 daniel_k ⇗ @diderius6, can you please share your DSDT?

From what I understand, to delete the XHCI controlller has the same effect as Disabling / Enabling the device, like I do.

Did you manage to get it working immediately after a reboot?
#1315 infuscomus ⇗ @AddFun

my acpi.sys is different
acpi.sys - 79a50a477541bea181d8a5009e5ec2e12209ffb4

but storahci.sys and storport.sys match

storahci.sys - 6daf4bb09af562d978a3503ef17dedaad0e4880a
storport.sys - 911e15fada65ab813ef4ce4cea82d185e82cb55a

it is strange that GUI setup manages to complete before reboot to 7B BSOD

are any of your drives not in ahci mode? ide mode?
#1316 AddFun Nope, it's in the right place. I just checked two of my other XP installs, acpi.sys is system32/drivers folder.
#1317 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1307
@daniel_k

I tried your Renesas driver in virtualbox and got code 39 after installing

Thanks for trying.

Does the original driver work? I think I got it working some time ago.
#1318 AddFun hmm, what is the link for the ACPI.sys, I downloaded the one from few pages ago.
#1319 AddFun SHA1 00e5ccbf42176c5cedf2f076314f30610638b602 for best5048acpi.sys that one?
#1320 infuscomus ⇗ @AddFun

here is that file

but SHA1 00e5ccbf42176c5cedf2f076314f30610638b602 might be the most recent, not sure now, I've confused myself



infuscomus has attached files to this post

 

Page 89

#1321 diderius6 ⇗ @daniel_k

Until now, on reboot the intel 3.1 xhci and the 3.0 renesas hub are there.
But no USB device.
If you deinstall the Intel 3.1 xhci one time
all other is recogniced automatically and also all USB devices
Dietmar

PS: The DSDTUSB3.rar file contains old DSDT file from me before xhc mod
     and DSDT2 contains xhc mod.

My Asrock Fatal1ty z370 gaming k6 has the BIOS 3.20.
This is important, because you can only flash a Bios version with a higher versions number with the ezflash tool from Asrock.
The DSDT tables are in Bios 3.20 and 3.30 identic.



diderius6 has attached files to this post
#1322 infuscomus ⇗ @daniel_k

In virtualbox, I tried installing both, same result
#1323 AddFun Downloaded, just dropped it in. Thanks! Let me give it a whirl. Will report.
#1324 daniel_k ⇗ @canonkong

Here they are, Renesas and VIA final modified drivers.

Please sign both without changing anything and post the signed driver here.

You can make your own changes later for your own release.

For Renesas, only rusb3xhc.inf and rusb3xhc.sys must be signed, used a trick so the hub always has the same device ID.

For VIA, only xhcdrv.inf and xhcdrv.sys must be signed. No device check in the Hub driver.
#1325 AddFun Sigh, 7b BSOD as usual. Going to take a short coffee break and then load up the registry hives from this XP install and see how the HAL is set up, but I KNOW it's ACPI since it wouldn't have gotten this far and I didn't go with the F7 route or no-ACPI option anywhere during the install.
#1326 diderius6 ⇗ @AddFun
This is the last and best acpi.sys for Ryzen boards
Dietmar

PS: I can understand frustration a lot. Since yesterday I work about 20 hours for USB. And going nearly crazy with Bios modding and BSODs with all Tools.
     In bad times, just fetch coffee and have an apple for 5 min relax, this is important.



diderius6 has attached files to this post
#1327 daniel_k ⇗ @canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder?

Thanks!
#1328 canonkong ⇗ @daniel_k
OK, I will send it soon.
#1329 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1321
@daniel_k

Until now, on reboot the intel 3.1 xhci and the 3.0 renesas hub are there.
But no USB device.
If you deinstall the Intel 3.1 xhci one time
all other is recogniced automatically and also all USB devices
Dietmar

PS: The DSDTUSB3.rar file contains old DSDT file from me before xhc mod
     and DSDT2 contains xhc mod.

My Asrock Fatal1ty z370 gaming k6 has the BIOS 3.20.
This is important, because you can only flash a Bios version with a higher versions number with the ezflash tool from Asrock.
The DSDT tables are in Bios 3.20 and 3.30 identic.


That's exactly the same behaviour I'm experiencing.

Must be something in the ACPI table that XP doesn't like as the same Renesas driver works perfectly on Windows 7 x64.
#1330 AddFun Yeah, went through the relevant registry hives... it is set up as "acpiapic_mp" aka "ACPI Multiprocessor". ACPI enabled. So far, this seems like work in progress guys and an experiment without completely repeatable results. Hopefully with more time we will get there.
#1331 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1328
@daniel_k
OK, I will send it soon.


⇗ @canonkong

By the way, let me know how the VIA driver works.

Let me clarify something.

I recommend that you don't include a generic XHCI ID like PCI\CC_0C0330 to prevent the driver from being installed on XHCI controllers which have an official driver provided by the manufacurer.

For example, both the Renesas and the VIA drivers will BSOD if you install on ASMedia.
#1332 canonkong ⇗ @daniel_k
I use ID replace, VIA usb driver Include four manufacturers: VIA is 1106, Gigabyte is 1458, MSI is 1462, ZHAOXIN is 1D17, so you can replace them with other VEN ID and DEV ID, like 149C A36D 9DED ect. It can modify to support 4 VEN ID and16 dev ID.
#1333 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1332
@daniel_k
I use ID relace, VIA usb driver Include four manufacturers: VIA is 1106, Gigabyte is 1458, MSI is 1462, ZHAOXIN is 1D17, so you can replace them with other VEN ID and DEV ID, like 149C A36D 9DED ect. It can modify to support 4 VEN ID and16 dev ID.

Yeah, I noticed that.

Did the driver work?

PS: Thanks for the signed files!
#1334 canonkong ⇗ @daniel_k
It is working well on my X370 and B360, and the 149C USB from 3700X on win7.
#1335 daniel_k ⇗ @canonkong

Glad to know it works.

Found a small bug, could you please sign the Renesas driver again?

 

Page 90

#1336 canonkong ⇗ @daniel_k
OK, I will send it soon.
#1337 diderius6 ⇗ @daniel_k  ⇗ @canonkong

On XP, the Via xhci starts but the Via hub shows code 10.
So, may be this is a good test for DSDT to have a look,
why this code 10 happens and maybe then also the Nec/Renesas drivers works
to 100%
Dietmar

EDIT: Also on "MPS" the Via Hub shows code 10. So this is not ACPI related!
#1338 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1336
@daniel_k
OK, I will send it soon.

Thanks, now it is perfect!
#1339 daniel_k ⇗ @diderius6

VIA driver also gives error code 10 on Windows 7 x64, so this is definitively a driver issue.

Renesas works just fine on Windows 7x 64, so we need to find out, what in the ACPI table affects its behavior on XP.
#1340 diderius6 ⇗ @daniel_k

May be, it is a problem of usbstor.sys.
There was a patch from Microsoft for XP, after that no USB devices where recogniced any longer,
because setting wrong rights for usbstor.sys
Dietmar
#1341 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1340
@daniel_k

May be, it is a problem of usbstor.sys.
There was a patch from Microsoft for XP, after that no USB devices where recogniced any longer,
because setting wrong rights for usbstor.sys
Dietmar

⇗ @diderius6

Unfortunately not, it even fails to detect a simple USB 2.0 hub.
#1342 canonkong ⇗ @diderius6 ⇗ @daniel_k
The VIA usb driver modified by daniel_k work very well for 149C on win7, maybe xp also can work.
But the Renesas usb driver can not work for 149C, it will bsod when it install.
#1343 canonkong ⇗ @daniel_k
Do you think it is possible to transplant the universal USB driver of win8/win8.1/win10 to win7 or Xp? In the absence of USB driver source.
#1344 infuscomus ⇗ @AddFun

I forgot to ask this earlier, have you double checked that you have disabled driver signing?
#1345 infuscomus
Zitat von ⇗ daniel_k im Beitrag ¶ #1327
@canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder?

Thanks!


⇗ @daniel_k
do you know what this driver is used for?

I have a card with the same chip and i found the stock usbehci.sys driver worked fine
#1346 diderius6 ⇗ @daniel_k

The problem with hub3 under XP may be in CapabilityFlags (0x00001602)  DeviceD2
Do you know, where those flags are set

"DeviceD2
Specifies whether the device hardware supports the D2 power state. Drivers should not change this value."

Dietmar

0: kd> !DevNode 0x8a4dbce8
DevNode 0x8a4dbce8 for PDO 0x8a4dbe30
Parent 0x8a6a3848 Sibling 0000000000 Child 0000000000
InstancePath is "RENESAS_USB3\ROOT_HUB30\4&556f44c&8"
ServiceName is "rusb3hub"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[07] = DeviceNodeEnumerateCompletion (0x30d)
StateHistory[06] = DeviceNodeStarted (0x308)
StateHistory[05] = DeviceNodeStartPostWork (0x307)
StateHistory[04] = DeviceNodeStartCompletion (0x306)
StateHistory[03] = DeviceNodeResourcesAssigned (0x304)
StateHistory[02] = DeviceNodeDriversAdded (0x303)
StateHistory[01] = DeviceNodeInitialized (0x302)
StateHistory[00] = DeviceNodeUninitialized (0x301)
StateHistory[19] = Unknown State (0x0)
StateHistory[18] = Unknown State (0x0)
StateHistory[17] = Unknown State (0x0)
StateHistory[16] = Unknown State (0x0)
StateHistory[15] = Unknown State (0x0)
StateHistory[14] = Unknown State (0x0)
StateHistory[13] = Unknown State (0x0)
StateHistory[12] = Unknown State (0x0)
StateHistory[11] = Unknown State (0x0)
StateHistory[10] = Unknown State (0x0)
StateHistory[09] = Unknown State (0x0)
StateHistory[08] = Unknown State (0x0)
Flags (0x00000130) DNF_ENUMERATED, DNF_IDS_QUERIED,
DNF_NO_RESOURCE_REQUIRED
CapabilityFlags (0x00001602) DeviceD2, SurpriseRemovalOK,
WakeFromD0, WakeFromD2
  
#1347 XPLAKE8175 I want intel hd 5500 drivers for windows xp. I finished modding Windows XP drivers for my 940m PC. Or will it work with Vesa VBE miniport.
#1348 XPLAKE8175 I want windows xp drivers for my Intel HD 5500 drivers for Windows XP to run Nvidia Geforce 940m.
#1349 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1343
@daniel_k
Do you think it is possible to transplant the universal USB driver of win8/win8.1/win10 to win7 or Xp? In the absence of USB driver source.

Unfortunately, it is just impossible.

There are far more changes besides resolving missing function API dependencies, which I've already tried.

Microsoft makes changes "under the hood", the way memory is allocated, ACPI changes also affect the driver behavior.
#1350 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1345
Zitat von ⇗ daniel_k im Beitrag ¶ #1327
@canonkong, could you please sign mosflt.inf and mosflt.sys in the Vista 32-bit and Vista 64-bit folder?

Thanks!


@daniel_k
do you know what this driver is used for?

I have a card with the same chip and i found the stock usbehci.sys driver worked fine


Hi, that is a filter driver to fix Power Management issues with the MSC9990 chipset.

On my both H270 / Z370 based boards, the system would not shutdown completely, I'll try the driver later to see if this helps.

 

Page 91

#1351 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1346
@daniel_k

The problem with hub3 under XP may be in CapabilityFlags (0x00001602)  DeviceD2
Do you know, where those flags are set

"DeviceD2
Specifies whether the device hardware supports the D2 power state. Drivers should not change this value."

Dietmar


The issue is not with the Hub itself.

For some reason when the device is detected is remains in Disabled (D3) state.

PS: The driver you've asked me by PM is here:
¶ Windows XP SP3 32bit and modern PC parts (89)

It's just a minor Revision and SubsysID cosmetic issue.
#1352 canonkong ⇗ @daniel_k
I found for AMD 149C usb, VIA usb driver will cause 0x0000001E bsod suddenly sometimes.So we need to find a better driver.
And ASMedia and TI usb driver cant work for the U disk on 149C.
After testing all the usb drivers, there are only three drivers can work as a generic both can support intel/amd/asmedia/nvidia and more.
There are Intel series usb drivers , AMD zeppelin USB driver, Etron USB drivers.
Can you use your method to modify them?
#1353 diderius6 ⇗ @daniel_k

It seems, that from the 3 Hubs only
Renesas Electronics USB 3.0 Root Hub
can find the driver rusb3hub.sys
by itself.
Renesas Electronics USB 2.0 Hub
asks in my very best driver version now always for rusb3hub.sys and shows me the correct path, but asks,
even rusb3hub.sys is found there from first Hub before.
The same is true for
Renesas Electronics USB 3.0 Hub.
I modded the *.inf files, so after install USB starts with this driver,
but I think on reboot the path to rusb3hub.sys is not found from
the other 2 Hubs as mentioned before
Dietmar

PS: This USB driver works for Intel chipset USB3 under XP SP3 for the Asrock Fatal1ty z370 gaming k6 board.

EDIT: I just found, that my idea is true. Now I have to mod the *.inf files again, I split them in hub1.Inf hub2.inf hub3.inf

EDIT2: I can load only one HUB with hub.inf, for example 2.0 Hub but no possibility to load the other 2 hubs with other *.inf.
#1354 skullteria Hello, ⇗ @diderius6, in case, Renesas driver works on XP SP3 with ACPI enabled (HALMACPI) or only MPS/Standard PC?
#1355 canonkong ⇗ @diderius6
Etron USB driver also can also work as a generic USB driver and it also support Xp, we can try it.
#1356 diderius6 ⇗ @skullteria

Take a look at picture in post  1293,
the Renesas driver works also on full "ACPI Multiprocessor"
Dietmar

PS: The only problem with this driver ist, that not all 3 Hubs start always. This may be a problem in xhci.sys, how the Hub is called.
I think it has to do, that for first HUB sleep D3 isnt allowed, but for the other both D3 (sleep) is allowed.
And my idea above ist just, that these 2 Hubs sometimes cant find their driver rusb3hub.sys.
#1357 diderius6 ⇗ @canonkong

Do you have a test driver for Etron? I am very bad in modding, because no good tools for this here,
I do all by hand (and brain sometimes)
Dietmar
#1358 canonkong ⇗ @diderius6
I tested it for amd 149C, it is working very well.
#1359 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1352
@daniel_k
I found for AMD 149C usb, VIA usb driver will cause 0x0000001E bsod suddenly sometimes.So we need to find a better driver.
And ASMedia and TI usb driver cant work for the U disk on 149C.
After testing all the usb drivers, there are only three drivers can work as a generic both can support intel/amd/asmedia/nvidia and more.
There are Intel series usb drivers , AMD zeppelin USB driver, Etron USB drivers.
Can you use your method to modify them?

Sure, will do it later today.
#1360 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1353
@daniel_k

It seems, that from the 3 Hubs only
Renesas Electronics USB 3.0 Root Hub
can find the driver rusb3hub.sys
by itself.
Renesas Electronics USB 2.0 Hub
asks in my very best driver version now always for rusb3hub.sys and shows me the correct path, but asks,
even rusb3hub.sys is found there from first Hub before.
The same is true for
Renesas Electronics USB 3.0 Hub.
I modded the *.inf files, so after install USB starts with this driver,
but I think on reboot the path to rusb3hub.sys is not found from
the other 2 Hubs as mentioned before
Dietmar

PS: This USB driver works for Intel chipset USB3 under XP SP3 for the Asrock Fatal1ty z370 gaming k6 board.

EDIT: I just found, that my idea is true. Now I have to mod the *.inf files again, I split them in hub1.Inf hub2.inf hub3.inf

EDIT2: I can load only one HUB with hub.inf, for example 2.0 Hub but no possibility to load the other 2 hubs with other *.inf.

Just tested the XP driver on Windows 7, and it works just fine.

Now I'm sure the issue really lies in the ACPI, something that XP doesn't like.
#1361 diderius6 ⇗ @daniel_k
It can be,
that XP dont like different path.
Normaly, all hubs are under Enum\USB
but this Renesas Hub builds an own path with Enum\RENESAS_USB3.
I checked the Via Hub, the Via Hub is also under Enum\USB\VIA_RootHub
and the same for Asmedia_RootHub
Dietmar

PS: I just check this again. From Renesas the Hub2 and Hub3 are also build under Enum\USB
but the RootHub is build under Enum\RENESAS_USB3, means an extra path.
This could be tested, the call from driver xhci.sys just change from

RENESAS_USB3 => USB

Dietmar

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d]
"Capabilities"=dword:00000080
"UINumber"=dword:00000000
"HardwareID"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,53,\
00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,00,33,00,\
30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,26,00,50,00,49,\
00,44,00,5f,00,41,00,32,00,41,00,46,00,26,00,52,00,45,00,56,00,5f,00,30,00,\
30,00,30,00,30,00,26,00,53,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,31,\
00,38,00,34,00,39,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
55,00,53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,\
00,33,00,30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,26,00,\
50,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,26,00,52,00,45,00,56,00,5f,\
00,30,00,30,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,\
5f,00,55,00,53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,\
00,42,00,33,00,30,00,26,00,56,00,49,00,44,00,5f,00,38,00,30,00,38,00,36,00,\
26,00,50,00,49,00,44,00,5f,00,41,00,32,00,41,00,46,00,00,00,00,00
"CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
53,00,42,00,33,00,5c,00,52,00,4f,00,4f,00,54,00,5f,00,48,00,55,00,42,00,33,\
00,30,00,00,00,00,00
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Class"="USB"
"Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0115"
"Mfg"="Renesas Electronics"
"Service"="rusb3hub"
"DeviceDesc"="Renesas Electronics USB 3.0 Root Hub"
"ConfigFlags"=dword:00000000
"ParentIdPrefix"="4&3296d942&0"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\Device Parameters]
"SymbolicName"="\\??\\RENESAS_USB3#ROOT_HUB30#3&216d82cf&1d#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
"EnumStatusID3"=dword:00000000
"EnumStatusID6"=dword:00000000
"EnumStatusID7"=dword:00000003
"EnumStatusID8"=dword:00000000
"EnumStatusID12"=dword:00000000
"EnumStatusID14"=dword:00000000
"EnumStatusID17"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\LogConf]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\RENESAS_USB3\ROOT_HUB30\3&216d82cf&1d\Control]
"ActiveService"="rusb3hub"


And for HUB2
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3]
"DeviceDesc"="Renesas Electronics USB 2.0 Hub"
"LocationInformation"="ASM107x"
"Capabilities"=dword:00000084
"UINumber"=dword:00000000
"HardwareID"=hex(7):55,00,53,00,42,00,5c,00,56,00,69,00,64,00,5f,00,31,00,37,\
00,34,00,63,00,26,00,50,00,69,00,64,00,5f,00,32,00,30,00,37,00,34,00,26,00,\
52,00,65,00,76,00,5f,00,30,00,31,00,30,00,30,00,00,00,00,00
"CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,00,26,\
00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,30,00,26,00,\
50,00,72,00,6f,00,74,00,5f,00,30,00,32,00,00,00,52,00,45,00,4e,00,45,00,53,\
00,41,00,53,00,5f,00,55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,\
73,00,5f,00,30,00,39,00,26,00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,\
00,5f,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,\
00,00,00,00,00
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Class"="USB"
"Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0116"
"Mfg"="Renesas Electronics"
"Service"="rusb3hub"
"ConfigFlags"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\Device Parameters]
"SymbolicName"="\\??\\USB#Vid_174c&Pid_2074#4&3296d942&0&3#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"
"EnableSelectiveSuspend"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\LogConf]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_2074\4&3296d942&0&3\Control]


And for Hub3

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23]
"DeviceDesc"="Renesas Electronics USB 3.0 Hub"
"LocationInformation"="ASM107x"
"Capabilities"=dword:00000084
"UINumber"=dword:00000000
"HardwareID"=hex(7):55,00,53,00,42,00,5c,00,56,00,69,00,64,00,5f,00,31,00,37,\
00,34,00,63,00,26,00,50,00,69,00,64,00,5f,00,33,00,30,00,37,00,34,00,26,00,\
52,00,65,00,76,00,5f,00,30,00,31,00,30,00,30,00,00,00,00,00
"CompatibleIDs"=hex(7):52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,55,00,\
53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,00,26,\
00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,30,00,26,00,\
50,00,72,00,6f,00,74,00,5f,00,30,00,33,00,00,00,52,00,45,00,4e,00,45,00,53,\
00,41,00,53,00,5f,00,55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,\
73,00,5f,00,30,00,39,00,26,00,53,00,75,00,62,00,43,00,6c,00,61,00,73,00,73,\
00,5f,00,30,00,30,00,00,00,52,00,45,00,4e,00,45,00,53,00,41,00,53,00,5f,00,\
55,00,53,00,42,00,33,00,5c,00,43,00,6c,00,61,00,73,00,73,00,5f,00,30,00,39,\
00,00,00,00,00
"ClassGUID"="{36FC9E60-C465-11CF-8056-444553540000}"
"Class"="USB"
"Driver"="{36FC9E60-C465-11CF-8056-444553540000}\\0120"
"Mfg"="Renesas Electronics"
"Service"="rusb3hub"
"ConfigFlags"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\Device Parameters]
"SymbolicName"="\\??\\USB#Vid_174c&Pid_3074#4&3296d942&0&23#{f18a0e88-c30c-11d0-8815-00a0c906bed8}"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\LogConf]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\Vid_174c&Pid_3074\4&3296d942&0&23\Control]
#1362 diderius6 ⇗ @canonkong

Please send me your Etron driver
Dietmar
#1363 canonkong ⇗ @diderius6
Test it.
⇗ https://yadi.sk/d/Li6PI1NZG6NFbQ
#1364 diderius6 ⇗ @canonkong
Unfortunately the Etron driver crashes during install on XP,
for "MPS" and for Acpi mode
Dietmar
#1365 canonkong ⇗ @diderius6
AMD platfrom? Maybe I modifed incorrect on 32bit, I wiil upload a new one.

 

Page 92

#1366 diderius6 ⇗ @canonkong

No, for the AMD platform with x570, the AMD driver from post 1095 works for XP 32 bit
Dietmar
#1367 diderius6 I found the problem with the Renesas driver.
Only the Root_HUB30 is in energylevel D0 (full on).
The other 2 Hubs stay until now in D2 and this makes the problem
Dietmar

EDIT: When I disable the switch in device manager "Computer enable power save"
those energylevel D2 => D0 after clicking ok, as I can see via Devicemanager.
But all my other Hubs stay only in D0, even when this switch  "powersave" is enabled.

PS: This Renesas driver with modded *.inf by me is best until now for Intel chipset and XP 32 bit.



diderius6 has attached files to this post
#1368 daniel_k ⇗ @canonkong, here is the Etron driver.

There are 2 variants, as there are some hacks depending on the XHCI controller detected.

Couldn't try them here, as it crashes or hangs Windows immediately.

Try both and pick the best one.

Theoretically, the 7052 driver should be "better" as it has less hacks for the newer models.

What is the version of the AMD Zeppelin driver?
#1369 diderius6 ⇗ @daniel_k
I just tested the 2 Etron drivers.
Both crash for XP 32 bit on Intel chipset from the Asrock k6 board.
They crash in "ACPI Multiprocessor" and in "MPS".
After crash, compi does even not boot in Safe Mode (F8)
Dietmar
#1370 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1369
@daniel_k
I just tested the 2 Etron drivers.
Both crash for XP 32 bit on Intel chipset from the Asrock k6 board.
They crash in "ACPI Multiprocessor" and in "MPS".
After crash, compi does even not boot in Safe Mode (F8)
Dietmar


Yeah, it is of no use for Intel.

Actually, they are meant for AMD Ryzen.

Can you try it on Ryzen, please? It's based on the same driver canonkong used in post 1095.
#1371 diderius6 ⇗ @daniel_k

On 149C the etronxhci7052.sys works at once.
It is Ryzen 3700x on the nice AMD board asrock fatal1ty ab350 gaming k4
Dietmar

PS: On 43BB it gives unknown device. Also the USB 2.0 port does not work.
For the etronxhci7023.sys is exact the same.


EDIT: With my modded driver in post 1095 it is other. ALL USB on Ryzen 1700x and Ryzen 3700x works on
asus prime x570-pro and asrock fatal1ty ab350 gaming k4 board under XP 32 bit.
#1372 daniel_k ⇗ @diderius6!!!!!

I did it!!!!

Finally a working driver for Intel which fully works and passes basic tests.

All devices are detected after several restarts, doesn't crashes when disabled/enabled!

Performance seems OK, detects USB 2.0 hub and a pendrive connected to it.

Just hold a few minutes.
#1373 diderius6 ⇗ @daniel_k
I wantttttttt !!!!!
#1374 canonkong ⇗ @daniel_k
AMD zeppelin USB driver is 2.0.0.48
⇗ Download
#1375 canonkong ⇗ @daniel_k
Your modified Etron USB driver work very well. Etron seems that has ven_1033, dev_1094 in the xhci.sys.
#1376 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1373
@daniel_k
I wantttttttt    !!!!!

Here it is, based on the last USB 3.0 driver for XP from AMD.

Please try it on Intel Z370 or Z390 (do you have any?) and also on AMD platform.

Test USB 2.0, 3.1 and 3.2 devices.

USB 3.1 and 3.2 benchmarks would be great as well.

Driver can be found in the following post:
¶ Windows XP SP3 32bit and modern PC parts (128)
#1377 asasin ⇗ @daniel_k
Can this driver work on intel h110?

Edit:Thanks
I will write when I test
#1378 daniel_k
Zitat von ⇗ asasin im Beitrag ¶ #1377
@daniel_k
Can this driver work on intel h110?



Possibly yes.
#1379 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1374
@daniel_k
AMD zeppelin USB driver is 2.0.0.48
⇗ Download


Hmm, this driver is strange.

Either the device codes are encrypted somehow or there is simply no device check.

Try to edit the INF file and install it.
#1380 diderius6 ⇗ @daniel_k

Itworksitworksitworks!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

What a nice day for Windows XP

Dietmar

PS: Thank you a lot Daniel!

 

Page 93

#1381 skullteria In my computer, Motherboard H110 and core i7 6700k, all drivers get code 10 on Windows XP/2003 32 bits. I think maybe is related with ACPI OSI, maybe checking Windows Version provided by ACPI
#1382 diderius6 ⇗ @skullteria

You have to mod the DSDT table in Bios for to overcome code 10
see post 1321

Dietmar

PS: Be very careful with Bios mod. I crashed 2 compis, even I try to work as careful as possible.
     I succeed to reflash the Bios to this compis but it needs months.
#1383 diderius6 Now its time, lets start XP 32 bit on UEFI:))
Dietmar
#1384 diderius6 ⇗ @daniel_k

On the Scandisk Ultra I get more than 300 Mbyte/s read write via the AMD driver on the Intel chipset USB3.0 via XP SP3.
This is exact as fast as the Asmedia 3.1 USB slot with the same USB stick.
I tested a lot of different USB, all work, even the crazy Samsung phone is recogniced at once.
When I change 6 USB devices at the same time, I get "unknown device".
But on next reboot this is gone. Now I try USB boot via your nice AMD driver
Dietmar
#1385 skullteria Well, i think we need find a way to get usb working without modify the bios. I'm trying compile usb 3.0 from win 8/win 10, however, it is not easy.
#1386 diderius6 ⇗ @skullteria
Before I thought, that we need Microsoft Kernel-Mode Driver Framework Install-v1.9-Win2k-WinXP-Win2k3.rar
For example the Renesas driver has in coinstaller something like this and mostly all newer USB drivers.
You can see with Dependency Walker if WDFLDR.sys is needed for this driver.
But the AMD driver from Daniel from just now shows, that it is possible without WDFLDR.sys
Dietmar
#1387 skullteria I understand...However, i mean modify BIOS is dangerus and if we want Windows XP keep used on the world, need a easy way to end users. And maybe run it on reactos, for example.
#1388 infuscomus ⇗ @skullteria ⇗ @diderius6

It may be possible to avoid doing a bios mod to fix the USB code 10 problem

But it would require the installation of grub2 bootloader onto windows for its ability to apply ACPI patches
#1389 canonkong ⇗ @skullteria ⇗ @diderius6 ⇗ @daniel_k
Can we use this USB Driver source code to modified and make a usb general driver?
⇗ https://yadi.sk/d/yQw1Q3mtLsiA_w
#1390 infuscomus ⇗ @canonkong ⇗ @skullteria ⇗ @diderius6 ⇗ @daniel_k

correct me if i'm wrong but it's my understanding that the ReactOS usbxhci driver is unfinished/incomplete
#1391 diderius6 ⇗ @infuscomus  ⇗ @skullteria  ⇗ @daniel_k  ⇗ @canonkong

I also think, that the Reactos xhci driver will not be ready next years and so cant help us.
I noticed, that the AMD driver vers. 1.1.0.0145, which works for XP on Intel chipsets has a problem
with
Class_08&SubClass_06&Prot_50 (USB harddisks)
devices. It is not the fault of the driver direct, because under Win7 my last driver from Renesas and
the nice driver AMD 1.1.0.0145 from Daniel work.
The device is recogniced, it sounds (plop) 3 times in a quick row
and thats all
Dietmar

EDIT: For my last Renesas driver vers. 3.0.23.0 happens exact the same under XP. All USB devices are recogniced.
But Class_08&SubClass_06&Prot_50 (USB harddisks) devices gives always 3 fast plops and thats all.
May be it has to do with the switch in XP, that they are not removable disks.
Yepp, I have a Kingston Workspace USB stick, which is set as nonremovable. There happens exact the same, 3 fast plops.

EDIT2: It has nothing to do with Class_08&SubClass_06&Prot_50
I have an USB stick with exact this class (removable) which is recogniced and works under XP and Intel chipset.

EDIT3: I set up a new XP. Now this problem is gone with the nice driver AMD vers. 1.1.0.0145 from Daniel. I changed soso many settings in USB before, so one makes, that no unremovable sticks or disks are recogniced. Funny, I search all database from Microsoft and via Internet, such a switch is not documented for XP. Only, that all USB devices are forbidden (easy set start=4 for service usbstor in registry).
#1392 daniel_k ⇗ @diderius6, glad you sorted it out.

Never had such issue here.

Does USB work fine during Setup? Did you install XP from USB?
#1393 diderius6 ⇗ @daniel_k

I just boot this XP direct from USB with no other device connected,
this is really the hardest test for this nice driver from you
Dietmar

PS: The speed on USB boot device is during USB3 slot 93.55% from native speed, waaoh !

EDIT: I run Cinebench, prime95, 3Dmark2001 on this XP, bootet with your AMD driver from USB3 port,
        absolut stable:)).

#1394 canonkong ⇗ @daniel_k
AMD vers. 1.1.0.0145 bsod will bsod when it install for 149C.
And now I found that only Etron usb driver can work well. Intel serise and AMD 2.0.0.48 also can work, but it must install it on windows after install the AMD chips driver. If don't install like that. it will BSOD.
#1395 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1394
AMD vers. 1.1.0.0145 bsod will bsod when it install for 149C.
And now I found that only Etron usb driver can work well. Intel serise and AMD 2.0.0.48 also can work, but it must install it on windows after install the AMD chips driver. If don't install like that. it will BSOD.

⇗ @canonkong, so the AMD 2.0.0.48 works without modding amdxhci.sys? Only INF mod needed?

At least one driver, Etron, works fine.

 

Page 94

#1396 canonkong ⇗ @daniel_k
Yes, AMD 2.0.0.48 is only INF mod needed, and it can support almost all usb devices, it can work for intel, amd asmedia, nvidia usb-c and more.
#1397 diderius6 ⇗ @daniel_k

What do you think,
is it possible, to mod one of the following Intel network drivers for XP,
that it supports i219? This package contains them all from i210 to i218 for XP 32 bit.
i219 is the Intel chipset driver for network on a lot of motherboards
Dietmar



diderius6 has attached files to this post
#1398 canonkong ⇗ @diderius6
You can replace the i218-v GBE to the i219 use uefitool with the BIOS.
#1399 diderius6 ⇗ @canonkong

I want vice versa:))
i219 => i218

And this are only the networkfiles in Bios.
For XP, you need to mod for example the e1rxp5132.sys (for i210, i211) for to support i219.
But there are other files coinstaller etc. also
Dietmar

PS: Have you modded networkfiles via this way in Bios?
#1400 canonkong ⇗ @diderius6
Yes, my board have i219-v, and it don't have windows server driver, when you replace the i219-LM GBE, I219-V will become I219-LM, becaus it is not a fully network device, just a phy.
Also i211-AT can replace the rom, and it will becom  to i210 serise.
#1401 diderius6 ⇗ @canonkong
Hm, does this mean, that the newer Intel PCI device IDs for the network only depend
on Bios?
And will it work for

i219 => i211

Dietmar
#1402 canonkong ⇗ @diderius6
Yes, the newer Intel PCI device IDs for the network depend on bios GBE.
But i219 => i211 is not possible, i219 => i218/i217 is OK.
#1403 diderius6 ⇗ @canonkong

Can you please write a short tutorial,
how to change i219 => i218/i217

Dietmar
#1404 XPLives ⇗ @canonkong
I would be interested in seeing a step by step tutorial on how you signed the drivers from scratch.

Is this a free program or where to get it?

This would be helpful in making the driver installation process automated without user interaction.

Since you are using Windows 7, do you know how to disable ACPI in Windows 7 or Vista during setup?
#1405 canonkong ⇗ @diderius6
Use uefitool (UBU) to open a bios which have i218, then extract the gbe, use uefitool to open your needed bios, repalce it and save it, then you can flash it.
#1406 diderius6 ⇗ @XPLives

Vista or Win7 cant be installed without ACPI.
I tried to install Vista 32 on Ryzen PC, impossible. But Vista 32 bit works after the same hack in acpi.sys for Vista as for XP.
Depending on Bios version and motherboard, even Win7 32 bit can fail install on Ryzen, I have had this experience.
And all Linux versions 32 bit, that I testet, fail on Ryzen.

Dietmar
#1407 canonkong ⇗ @XPLives
I signed the drivers use a signtool named Trust Asia, it very easy to sign a driver using this tool.
Disable ACPI in Windows 7 or Vista during setup is very hard, but if you meet A5 bsod, try to delete the acpipmi.sys and its regs before install.
#1408 asasin hello again

Unfortunately, I have a problem with the driver (or something else) from ⇗ @daniel_k .
Installs it through the device manager.
The device returns code 39.
Driver installation returns error "Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)".
any ideas?

Motherboard: ⇗ https://www.asus.com/us/Motherboards/H11...specifications/
usb id PCI\VEN_8086&DEV_A12F&CC_0C0330
#1409 diderius6 ⇗ @asasin
Code 39 means,
that something with the driver is wrong, for example checksum
Dietmar
#1410 asasin So for now I can't do anything about this usb?

 

Page 95

#1411 infuscomus ⇗ @asasin

we are still experimenting
#1412 infuscomus ⇗ @daniel_k

concerning your previously uploaded AMDXHCI driver from post #1376 - there is a hardcoded HWID in there

could that hardcoded HWID cause issues?
#1413 cedar ⇗ @diderius6, ⇗ @infuscomus

Regarding sleep states:

My Asus Prime B350-Plus Ryzen can not sleep like
my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.

The Ivy board with its cpu fan can go to a complete stop and wake up in
a keystroke.   Is this a D3 sleep mode? How can I enable this?

The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
stopped. And it stays locked forever(test for an hour) unless reboot!.

Any helps appreciated.

Cedar
#1414 diderius6 ⇗ @cedar

Please ask a concrete question.
Some steps about sleep states can be done in Bios
settings. But be careful there,
Dietmar
#1415 cedar ⇗ @diderius6

I will double check the bios setting again. maybe I missed something before.
#1416 diderius6 ⇗ @infuscomus ⇗ @daniel_k ⇗ @canonkong

Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.

Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?

Also I want to try the nice tip from ⇗ @canonkong for the Intel i219 => i217, which this board has but no XP driver for it.
I never used the UBU tool only UEFI-tool, so any help with UBU is welcome.
When I succeed, I write a tutorial about all. May be it is possible, to mod the BIOS in a generic way, that it can be flashed
with its own tools. For this we need to understand, how the flash tool check validity of the Bios.
We can then use the normal Bios from download side in Web, do the generic DSDT mod for xhc on it, check it and flash.
Via this way the risk is minimal (but not zero, as I have seen for the Asus x570 -Pro board)
Dietmar
#1417 diderius6 ⇗ @Lost_N_BIOS

Can there be a problem, when you use for modbiosfilenamehere.bin the original Bios version from download Webside

FPTw.exe -bios -f modbiosfilenamehere.bin

Dietmar

PS: I ask this, because I noticed, that the all in one order for to backup Bios via
     FPTw.exe -d myBios.bin
     gives not the original flashed Bios on chip back.
#1418 XPLives ⇗ @diderius6

I have not tried to full install from scratch for Vista or W7 on AMD AM4.

But here's a trick if  you want to use Vista or Windows 7 on AMD AM4.  This worked with Bristol Ridge CPU.  Install the OS on Ivy Bridge then just move the SATA drive over and connect to the AMD AM4 system and it boots up to the desktop no issue.  It uses the Microsoft AHCI SATA driver so no BSOD 7B.  It might trigger the genuine activation since it detects different hardware however not matching motherboard may deactivate the genuine status.  But you can still bypass and continue to use the OS with an occasional nag screen every now and then.  I used this to copy the Hardware IDs of the SATA controller before installing XP as this was the only way to get it easily.
#1419 diderius6 ⇗ @XPLives
Does it work also for Vista 32 bit
Dietmar
#1420 XPLives ⇗ @canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1407
@XPLives
I signed the drivers use a signtool named Trust Asia, it very easy to sign a driver using this tool.
Disable ACPI in Windows 7 or Vista during setup is very hard, but if you meet A5 bsod, try to delete the acpipmi.sys and its regs before install.


Is this Trust Asia signtool free?  Can you upload or message me the link to get it?  I need to test if this will work with my customized drivers that I want to later upload for user testing in unattended 2000->W7 installs.

Also can you name the company who signed it or will it say only Trust Asia on the certificate?

How about a customized unattended install file for Vista / W7?  That would be easier to do to disable ACPI internally from the start if it is similar to XP.  Later we can look into disabling the registry references to acpi files and registry entries so it doesn't load them.
#1421 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1419
@XPLives
Does it work also for Vista 32 bit
Dietmar


Yes it does.  I actually test with Vista 32-Bit because it is smaller in size than the 64-Bit version.  It had to fit on a 16GB SSD so I chose Vista 32-Bit for the portable Vista boot to get Hardware Ids for XP.   Vista 64-Bit needs at least 20GB to even start the installation.  I used Vista 64-Bit on a larger hard drive and boots up also with swapping the drive.  I also have a Windows 7 32-Bit also but it should work the same as Vista.
#1422 XPLives ⇗ @diderius6
Zitat von ⇗ diderius6 im Beitrag ¶ #1416
@infuscomus @daniel_k @canonkong

Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.

Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?

Also I want to try the nice tip from @canonkong for the Intel i219 => i217, which this board has but no XP driver for it.
I never used the UBU tool only UEFI-tool, so any help with UBU is welcome.
When I succeed, I write a tutorial about all. May be it is possible, to mod the BIOS in a generic way, that it can be flashed
with its own tools. For this we need to understand, how the flash tool check validity of the Bios.
We can then use the normal Bios from download side in Web, do the generic DSDT mod for xhc on it, check it and flash.
Via this way the risk is minimal (but not zero, as I have seen for the Asus x570 -Pro board)
Dietmar


   
You shouldn't need to mod the BIOS for Intel USB 3.0 to work.  That would prevent a lot of laptop users from using them.

Just as ACPI.SYS mod is better than BIOS mod for universal usage.

Also your ACPI.SYS I tested on Z370 Coffee Lake had issues.  Works to install ACPI Multiprocessor.

Problem is Video Card does not show up in Device Manager.  It's missing.  I cannot install the driver for it so XP becomes useless without Titan X as its friend.

Did you figure out how to change device default IRQs assigned?  Can you disable IRQ6 and free it from being used by the FDC so maybe the video card can use it or Intel USB 3.0 will use that IRQ instead?  I think this is the problem the Intel USB 3.0 may not be functioning correctly since it does not get assigned the necessary resources.

Also a way to disable some PCI standard PCI-PCI bridge from using any resources.  Too many of these overwhelm XP and I believe that's why the Video card is not showing up in Device Manager and possibly why Intel USB 3.0 not working.
#1423 diderius6 ⇗ @XPLives
This means,
that Vista 32bit can handle crazy Irq calls from the AM4 processors
better than Linux 32 bit
Dietmar

PS: I have no success to install Vista 32 on Ryzen. I also noticed big problems with all AHCI drives in Vista,
compared with XP.

Intel chipset USB does not work until now in XP, because Intel set its driver to sleep in DSDT, gives code 10.
And only the Intel xhci.sys knows, how to wake up. No other USB driver on the market can do that.
Because of this, there was no USB for XP on the Intel chipset, even the drivers are nearly all the same (generic).
#1424 canonkong ⇗ @XPLives
Trust Asia signtool can down free, but you need CA. I can share this tool and CA, but this tool only has Chinese language, I dont know you can read it or not.
#1425 diderius6 I just notice, that for the xhc device on Asrock k6 and on Asus Apex X

Method (_PS0, 0, Serialized)  // _PS0: Power State 0

in DSDT table is absolut identic. Force to sleep with code 10.
So, from tomorrow also USB 3.0 should run on Intel chipset on the Asus Apex X board

Dietmar

 

Page 96

#1426 XPLives ⇗ @canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1424
@XPLives
Trust Asia signtool can down free, but you need CA. I can share this tool and CA, but this tool only has Chinese language, I dont know you can read it or not.


Yes can you upload the link here?  I can probably have it translated or figure it out.

Are there any English sign tools you know of free/paid to do this?
#1427 diderius6 ⇗ @XPLives

Just try other grafikcard for XP

Dietmar
#1428 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1427
@XPLives

Just try other grafikcard for XP

Dietmar


Yes I did that with multiple cards swapping.  All appear Missing in Device Manager.  But you can still boot up on the Video Card and get video output.  Just no way to install a driver for the graphics card so stuck at MS VGA driver on Coffee Lake.

When moving the drive to Ivy Bridge, it sees the Video Card in Device Manager.
#1429 diderius6 ⇗ @XPLives
Something went wrong during install of XP.
I have also strange results for some newer boards during install of XP.
In this case I use an install of XP from another board,
where everything works.
I think it depends on faulty DSDT and other SSDT in Bios
Dietmar
#1430 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1429
@XPLives
Something went wrong during install of XP.
I have also strange results for some newer boards during install of XP.
In this case I use an install of XP from another board,
where everything works.
I think it depends on faulty DSDT and other SSDT in Bios
Dietmar



So far besides your Z370, Z390, how many other users tested your ACPI to work on Coffee Lake without issues and no Bios Mod done?

Did you try testing your Z370 and Z390 on clean unmodified BIOS and only using your ACPI.sys mod for XP SP3 clean install?

On AMD AM4 Bristol Ridge test, ACPI Multiprocessor shows, VGA card shows, only issues is slower processor performance, and when using a very large Ramdisk it slows the boot up time that does not happen on Intel.
#1431 canonkong ⇗ @XPLives
Signtool always is free and you can use Microsoft signtool, but the CA is not free and very expensive.
#1432 XPLives ⇗ @canonkong

Zitat von ⇗ canonkong im Beitrag ¶ #1431
@XPLives
Signtool always is free and you can use Microsoft signtool, but the CA is not free and very expensive.


Okay message me the link where you download yours from and I will test.  Or you can upload the one you have if it is clean.

As long as it is signed and can install without prompting the user to confirm is all I need for testing.
#1433 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1423
@XPLives
This means,
that Vista 32bit can handle crazy Irq calls from the AM4 processors
better than Linux 32 bit
Dietmar

PS: I have no success to install Vista 32 on Ryzen. I also noticed big problems with all AHCI drives in Vista,
compared with XP.

Intel chipset USB does not work until now in XP, because Intel set its driver to sleep in DSDT, gives code 10.
And only the Intel xhci.sys knows, how to wake up. No other USB driver on the market can do that.
Because of this, there was no USB for XP on the Intel chipset, even the drivers are nearly all the same (generic).


I have not done extensive testing on Vista on AMD AM4 but I didn't see any problems booting into it and checking Device Manager and seemed stable to me.  I used a USB card to use the USB mouse.

Do you have an Ivy Bridge or earlier Intel chipset MB to install Vista 32-Bit clean onto a Sata drive?

After fully installed you can then move the drive to your AMD AM4 and it should boot to the OS without issue.  I only tested on my Bristol Ridge but I don't see why it would not work on Ryzen CPU.

It's possible you can't install Vista clean on AMD AM4 directly but I never tried.   On SkyLake I can install Vista on it without issue.  I didn't test a clean Vista install using Coffee Lake yet have you tried?
#1434 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1393
@daniel_k

I just boot this XP direct from USB with no other device connected,
this is really the hardest test for this nice driver from you
Dietmar

PS: The speed on USB boot device is during USB3 slot 93.55% from native speed, waaoh !

EDIT: I run Cinebench, prime95, 3Dmark2001 on this XP, bootet with your AMD driver from USB3 port,
        absolut stable:)).


So glad to know!

After so much work, it was worth the effort!
#1435 canonkong ⇗ @daniel_k
How to solve the problem about the USB driver meet 01E and 02C BSOD sometimes?
For example, 149C use via intel amd 2.0.0.48 driver mod driver. VIA will meet 01E BSOD sometimes. Intel/AMD 2.0.0.48 will meet 02C BSOD when install/uninstall, or meet memory can not read 0x0000002C.
#1436 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1412
@daniel_k

concerning your previously uploaded AMDXHCI driver from post #1376 - there is a hardcoded HWID in there

could that hardcoded HWID cause issues?

Not at all.

I've just changed the minimum required for the driver to work with any XHCI controller.

Those HWIDs are used just for device specific fixes and ensures the driver will behave the same when used with the devices it was originally designed for.

The less changes the better.
#1437 daniel_k
Zitat von ⇗ canonkong im Beitrag ¶ #1435
@daniel_k
How to solve the problem about the USB driver meet 01E and 02C BSOD sometimes?
For example, 149C use via intel amd 2.0.0.48 driver mod driver. VIA will meet 01E BSOD sometimes. Intel/AMD 2.0.0.48 will meet 02C BSOD when install/uninstall, or meet memory can not read 0x0000002C.

⇗ @canonkong

Unfortunately, that is beyond my knowledge.

While XHCI is a standard, manufacturers include a lot of device specific code to fix design flaws etc.

Most probably the driver expects something the controller doesn't do or the driver does something that it shouldn't if following the standards.

When we remove the device ID checks, we are just hoping for the driver to work properly. It's just a matter of luck.
#1438 daniel_k
Zitat von ⇗ cedar im Beitrag ¶ #1413
@diderius6, @infuscomus

Regarding sleep states:

My Asus Prime B350-Plus Ryzen can not sleep like
my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.

The Ivy board with its cpu fan can go to a complete stop and wake up in
a keystroke.   Is this a D3 sleep mode? How can I enable this?

The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
stopped. And it stays locked forever(test for an hour) unless reboot!.

Any helps appreciated.

Cedar

ACPI 1.0a support is broken in the new systems.

It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.

I've tried really hard to fix the ACPI table, but just gave up.
#1439 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1429
@XPLives
Something went wrong during install of XP.
I have also strange results for some newer boards during install of XP.
In this case I use an install of XP from another board,
where everything works.
I think it depends on faulty DSDT and other SSDT in Bios
Dietmar



Yes.  I intend to do another project to shrink down XP setup files to the bare minimum smaller than Tiny XP size.  But will require lots of help to identify all the files we don't need.

After sorting through the 6,000+ files then the fun can begin to trim XP to bare minimum and XP install will be very fast even on an optical drive.  Maybe it's possible to shrink below 100MB and hopefully under 100 files.

Currently, XP SP0 uses the least amount of files and installs to around 600 some MB.  XP SP3 uses more files and bloats it too much.

But XP SP1 first supports large partition so may need to use this as the XP installer source.

I found XP SP0 can get the full 4.0GB memory usage compared to SP2/SP3 drops to 3.15GB->3.5GB max.  So MS stole 0.5->0.85GB of memory from XP users.
#1440 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1414
@cedar

Please ask a concrete question.
Some steps about sleep states can be done in Bios
settings. But be careful there,
Dietmar

⇗ @diderius6

He wants to get Standby working on Ryzen.

Dietmar, have you ever try to put your system in Standby (Sleep) then Wake it?

Tried to fix myself but gave up, too much work.

 

Page 97

#1441 XPLives ⇗ @daniel_k

Zitat von ⇗ daniel_k im Beitrag ¶ #1438
Zitat von ⇗ cedar im Beitrag ¶ #1413
@diderius6, @infuscomus

Regarding sleep states:

My Asus Prime B350-Plus Ryzen can not sleep like
my Gigabyte Intel GA-P75-D3 Ivy board with i3470 (all Z77 drivers works fine here in Xp).
The Ryzen B350, if sleep in XP, will need a reboot. Not too ideal.

The Ivy board with its cpu fan can go to a complete stop and wake up in
a keystroke.   Is this a D3 sleep mode? How can I enable this?

The Prime B350-Plus Ryzen board with 2600 can not even have it cpu fan
stopped. And it stays locked forever(test for an hour) unless reboot!.

Any helps appreciated.

Cedar

ACPI 1.0a support is broken in the new systems.

It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.

I've tried really hard to fix the ACPI table, but just gave up.


I never use hibernation since if you install 32GB or more RAM it requires an equal amount of RAM for the hibernat.fil in Vista and maybe even 2003.  But since XP memory will be capped it's probably 3.15->4.00GB in size depending on which SP version used.

Standby was never 100% reliable even on Ivy Bridge.  Sometimes if you sleep too long you can never wake the system up and if you use a large Ramdrive you cannot backup the data first so it is lost.

I prefer to underclock and undervolt the system to your preferred speed and just leave all cores running.  XP hardly crashes in this scenario.

If you used Standby on IB it is better to not let it sleep too long.  A few minutes is safe.  Better to get a UPS instead so you can shut down safely.

On the bright side diderius6 ACPI.sys mod still allows Coffee Lake and Ryzen MB to shut down instead of a manual power off.
#1442 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1416
@infuscomus @daniel_k @canonkong

Tomorrow I make a try for USB3 on Intel chipset for the z370 ROG-MAXIMUS-X-APEX board with 9900k cpu.
First challenge is the DSDT mod for its Bios there. At once we will see, if this is a generic mod in DSDT for the xhc device.

Funny, only the Intel chipset is mentioned in Bios with its xhc and not for example Asmedia xhc?

⇗ @diderius6

Found the culprit ACPI statement that prevents the driver from loading on XP.

Taken from the ACPI table of your ASRock Z370 board.

Search for Device (XHC) and change this:
 
            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
{
If (DVID == 0xFFFF)
{
Return (Zero)
}

Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
PDBM &= 0xFFFFFFFFFFFFFFF9
D3HE = Zero
STGE = Zero
D0D3 = Zero
MEMB = XWMB /* \XWMB */
PDBM = (Local1 | 0x02)
OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
Field (MC11, DWordAcc, Lock, Preserve)
{
Offset (0x81C4),
, 2,
UPSW, 2
}

UPSW = Zero
PDBM &= 0xFFFFFFFFFFFFFFFD
MEMB = Local2
PDBM = Local1
If (CondRefOf (\_SB.PCI0.XHC.PS0X))
{
PS0X ()
}

If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
{
MPMC = One
While (PMFS)
{
Sleep (0x0A)
}
}
}



To this:

 
            Method (_PS0, 0, Serialized)  // _PS0: Power State 0
{
If (DVID == 0xFFFF)
{
Return (Zero)
}

Local2 = MEMB /* \_SB_.PCI0.XHC_.MEMB */
Local1 = PDBM /* \_SB_.PCI0.XHC_.PDBM */
If (OSYS >= 0x07D6)
{
PDBM &= 0xFFFFFFFFFFFFFFF9
}
D3HE = Zero
STGE = Zero
D0D3 = Zero
MEMB = XWMB /* \XWMB */
PDBM = (Local1 | 0x02)
OperationRegion (MC11, SystemMemory, XWMB, 0x9000)
Field (MC11, DWordAcc, Lock, Preserve)
{
Offset (0x81C4),
, 2,
UPSW, 2
}

UPSW = Zero
If (OSYS >= 0x07D6)
{
PDBM &= 0xFFFFFFFFFFFFFFFD
}
MEMB = Local2
PDBM = Local1
If (CondRefOf (\_SB.PCI0.XHC.PS0X))
{
PS0X ()
}

If (UWAB && ((D0D3 == Zero) || (^^XDCI.D0I3 == Zero)))
{
MPMC = One
While (PMFS)
{
Sleep (0x0A)
}
}
}



Which means that PDBM &= 0xFFFFFFFFFFFFFFF9 and PDBM &= 0xFFFFFFFFFFFFFFFD must be run only if OS is Vista or later. That's all.

This way we ensure the changes won't affect other OSes.

#1443 diderius6 ⇗ @daniel_k

I have not tried sleeping mode on XP,
because also on chipsets before Skylake it was faulty.
On the evga z390 dark board they make a Bios for real XP.
It is version 0.92 and there you may find some intuition
for to change Acpi tables. It is not on their Website,
so I put it here.
This board I use for generic XP install, really best.
Have you an idea, how to overcome for your new driver
the sleeping code 10 in DSDT table in
Method (_PS0, 0, Serialized)  // _PS0: Power State 0

⇗ @XPLives is right, that Bios mod of DSDT is nothing for "normal" people.
But I think, this mod can make like generic
Dietmar

Edit: Funny, I wrote this few mins ago.
The Bios 0.92 for XP on z390 is too big for to upload here,
so I give you the link, it is on top of this website

⇗ https://forums.evga.com/EVGA-Z390-DARK-O...T-m2930290.aspx
#1444 diderius6 ⇗ @XPLives
I make XP SP1 install at a size of about 3 Mbyte^^
Dietmar

⇗ http://reboot.pro/topic/3717-xpsp1-with-...fs-below-10-mb/

PS: And Windows Server 2003 at a size of about 2 Mbyte, fits on1 diskette.
     This is record until now.
#1445 diderius6 ⇗ @daniel_k
I just give the asl.exe tool a new chance.
I upload your new mod DSDT table via asl.exe.
But then I get again BSOD A5, crazy tool because of ACPI.

But then I remembered, that I still have a "MPS" XP installation.
And voila, there your mod works.
This means, also the asl tool works, only not correct for Acpi mod.

So at once I can give a mini Tutorial for to test if USB3 for intel chipset works on your compi without real Bios modding.

0.) Make a "MPS" XP installation (This is without ACPI. You can also use "Standart PC" hitting F5 during setup of XP.)
1.) Extract with UEFI tool your DSDT table. From this raw file make dsdt.dsl with the tool iasl in commandline C:\ iasl.exe dsdt.raw
2.) Do the mod in DSDT as in post 1442.
3.) Make dsdt.aml from this modded file dsdt.dsl via C:\iasl dsdt.dsl in commandline.
3.) Copy the Tool asl.exe to your C:\    folder
4.) Type via commandline C:\asl /loadtable dsdt.aml
    Reboot your Compi.
5.) Install the USB driver from ⇗ @daniel_k

Voila:))

Thats all. The real Bios is not touched on your COMPI!
Modded DSDT is stored only in registry.
When you want to unload the modded DSDT from your compi
just type in commandline C:\asl /loadtable -d dsdt.aml

I just tested this,
it works
Dietmar
#1446 infuscomus ⇗ @diderius6

i recall from my experimenting earlier that you need to load the FACP table before loading the DSDT table

perhaps that is why you get A5 BSOD when in ACPI mode?

try

asl.exe /loadtable facp.raw
asl.exe /loadtable dsdt.raw
#1447 cedar ⇗ @daniel_k
------------
ACPI 1.0a support is broken in the new systems.

It's though enough to get XP working on new systems, don't expect StandBy or even Hibernation to ever work properly.

I've tried really hard to fix the ACPI table, but just gave up
.
------------

It is good to know that it is not my specific Prime B350 that has this problem.
So it is a general problem.

I tried all the usb 3.0 drivers from yours,diderius6,and canonkong.
So far no success on my Gigabyte B75 Ivy board. Some Host controllers
can be installed, but none of 3.0 hubs drivers can be installed.  


Have you had any successful USB3.0 XP installed on any other Intel board?


As older boards have no ACPI problems. Wouldn't it be more likely to be modded
successfully than present board?

Cedar
#1448 cedar ⇗ @XPLives

Were you able to install XP sp2 and earlier on Ryzen?
#1449 skullteria Hello, i will install Windows Vista on my system, motherboard with chipset H110 and try install usb driver from here. If succeded, maybe problem ACPI driver or power saving on Vista. If get Code 10 too, maybe it is related with Windows version on OSI function. We really need run usb 3.0 on XP without edit Bios
#1450 diderius6 ⇗ @daniel_k
I just tested my own Tutorial for USB mod direct on the Asus Apex X board
with minimod of DSDT via Daniel.
Works !!!

Have a nice day
Dietmar



#1451 cedar ⇗ @diderius6 and ⇗ @XPLives

3 Mb XP is really good and hilariuous.  I am very interested to stall a very small XP64 or
Win7x64 on my ivy MB or Win7x64 on Ryzen, as long as it can run ffmpeg64 for fast
x265 backup.  I prefer ffmpeg over x265.exe as no audio remux (intermediate files
created) is required.

Cedar
#1452 diderius6 ⇗ @daniel_k
At the same time I feel,
that we will not be able to have an USB driver for XP 32 bit
for Intel chipset USB without Bios Mod,
because always XP hangs up itself when it comes in Bios
for the xhc driver to the lines (64 bit) with

PDBM &= 0xFFFFFFFFFFFFFFF9
and
PDBM &= 0xFFFFFFFFFFFFFFFD

Dietmar

PS: So it is not (?!) the fault of Intel but of motherboard manufacturers.
#1453 diderius6 ⇗ @infuscomus

I tried first to load facp and then dsdt

asl.exe /loadtable facp.raw
asl.exe /loadtable dsdt.raw

but again on ACPI XP BSOD 0xA5
this is very strange, because the asl tool works very good in other cases
Dietmar

PS: So, the only hope without real Bios Mod Intel USB is to repair or write new the Tool asl.exe.
#1454 infuscomus ⇗ @diderius6

There is source code for intel ASL on github

⇗ https://github.com/acpica/acpica

I am not sure if it will help
#1455 diderius6 ⇗ @infuscomus

Do you have the binary for Intel ASL
and how is the Syntax for its use?

Another idea would be: The DSDT table can be seen in (ACPI only) XP registry
and also been edited there. But on next boot the Bios loads
its original own DSDT. If we just can stop writing of Bios its own DSDT to the registry again,
it would be done
Dietmar

 

Page 98

#1456 infuscomus ⇗ @diderius6

is this what you are looking for?
⇗ https://acpica.org/downloads/binary-tools

can we set DSDT to read only using permissions in the registry editor?
#1457 diderius6 I just found, how the asl Tool works.
When you read the registry on running XP with ACPI out,
the values of the DSDT are NOT stored.
But when you upload DSDT with asl.exe
suddently is there a BIG set of data, all Hexvalues at the place from DSDT
Dietmar

EDIT: With asl the whole DSDT is blown up to a very big dataset at the same place,
where in working ACPI XP it stays.
It gets an extra start signature,
but then follows the normal "DSDT" signature
and it ends with the normal signature for dsdt.
And then follows in registry the entry for FACP, as normal.
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\DSDT\ALASKA\A_M_I_\01072009]

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\FACP]


=> (asl loads DSDT)


[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\DSDT\ALASKA\A_M_I_\01072009]
"00000000"=hex:0d,ae,02,00,00,00,00,00,00,00,00,00,f0,1b,00,00,44,53,44,54,0d,\
ae,02,00,02,6b,41,4c,41,53,4b,41,41,20,4d,20,49,20,00,00,09,20,07,01,49,4e,\
54,4c,05,04,19,20,a0,43,83,00,15,5c,2e,5f,47,50,45,41,4c,36,46,08,00,15,5c,\
2e,5f,47,50,45,48,4c,56,54,08,00,15,5c,2e,5f,47,50,45,50,30,4c,36,08,00,15,\
5c,2e,5f,47,50,45,50,31,4c,36,08,00,15,5c,2e,5f,47,50,45,50,32,4c,36,08,00,\
15,5c,2e,5f,50,52,5f,42,47,49,41,00,00,15,5c,2e,5f,50,52,5f,42,47,4d,41,00,\
00,15,5c,2e,5f,50,52,5f,42,47,4d,53,00,00,15,5c,2e,5f,50,52,5f,43,46,47,44,\

...


35,31,34,39,30,37,31,34,38,35,28,52,29,00,5b,82,4d,05,57,4d,49,31,08,5f,48,\
49,44,0d,50,4e,50,30,43,31,34,00,08,5f,55,49,44,0d,4d,58,4d,32,00,08,5f,57,\
44,47,11,17,0a,14,3c,5c,cb,f6,ae,9c,bd,4e,b5,77,93,1e,a3,2a,2c,c0,4d,58,01,\
02,14,20,57,4d,4d,58,03,8a,6a,00,46,55,4e,43,a0,10,93,46,55,4e,43,0c,53,4c,\
49,41,a4,53,4c,49,43,a4,00
"Action"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\ACPI\Parameters\FACP]


Because in registry only ControlSet001 is stored, FACP is always stored normally,
but DSDT without asl is always loaded new via Bios.


May be adding the line in DSDT in registry
"Action"=dword:00000000
is enough and copy DSDT into ControlSet001


Dietmar
#1458 diderius6 ⇗ @infuscomus

"can we set DSDT to read only using permissions in the registry editor?"

Good idea, but until now without success for me
Dietmar
#1459 infuscomus
Zitat von ⇗ diderius6 im Beitrag ¶ #1457
Which means, with use of asl the whole FACP entry in registry is gone.


asl.exe /loadtable facp.raw
did not help?
#1460 XPLAKE8175 I'm getting A5 ACPI error on my ASUS k555lb laptop. I don't want to install XP without ACPI. Which is the latest version of XP ACPI compliant for my laptop K555LB?
#1461 diderius6 ⇗ @infuscomus

The asl tool
builds complete DSDT entry new in ControlSet001.

Without asl, the DSDT is not stored at all in ControlSet001,
DSDT is loaded each time on reboot new from Bios

Dietmar
#1462 diderius6 ⇗ @XPLAKE8175

acpi.sys from post 1326 should work,
this is a notebook with Intel chipset
Dietmar
#1463 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1457
I just found, how the asl Tool works.
When you read the registry on running XP with ACPI out,
the values of the DSDT are NOT stored.
But when you upload DSDT with asl.exe
suddently is there a BIG set of data, all Hexvalues at the place from DSDT
Dietmar

EDIT: With asl the whole DSDT is blown up to a very big dataset at the same place,
where in working ACPI XP it stays.
It gets an extra start signature,
but then follows the normal "DSDT" signature
and it ends with the normal signature for dsdt.
And then follows in registry the entry for FACP, as normal.
...

Because in registry only ControlSet001 is stored, FACP is always stored normally,
but DSDT without asl is always loaded new via Bios.


May be adding the line in DSDT in registry
"Action"=dword:00000000
is enough and copy DSDT into ControlSet001


Dietmar


While I can't help you with this, isn't possible to export the ACPI tables created by the ASL tool then import them into SETUPREG.HIV, which is the default registry for Windows Setup?

This way could be possible to create a custom SETUPREG.HIV for every board.
#1464 daniel_k
Zitat von ⇗ cedar im Beitrag ¶ #1447
I tried all the usb 3.0 drivers from yours,diderius6,and canonkong.
So far no success on my Gigabyte B75 Ivy board. Some Host controllers
can be installed, but none of 3.0 hubs drivers can be installed.  


Have you had any successful USB3.0 XP installed on any other Intel board?


As older boards have no ACPI problems. Wouldn't it be more likely to be modded
successfully than present board?

Cedar


⇗ @cedar

What do you mean by "none of 3.0 hubs drivers can be installed"?

Isn't the root hub detected?

Or it is detected but won't work properly?
#1465 infuscomus ⇗ @daniel_k

if you have the time - can you figure out what causes code 39 error when using amdxhci driver for USB 3.0 in virtualbox?
#1466 cedar ⇗ @daniel_k

I didn't see any usb 3.0 root hub entry available after installing the 3.0 host controller. Only the default generic usb 2.0 hub is available. So I guessed at that point, I am stuck.

I ran the drivers without my hardware ID first. When they failed. I  added my Ivy HW ID as
an alternative test. But without any successes. If you are interested, I can test your drivers
again.

Cedar
#1467 daniel_k
Zitat von ⇗ cedar im Beitrag ¶ #1466
@daniel_k

I didn't see any usb 3.0 root hub entry available after installing the 3.0 host controller. Only the default generic usb 2.0 hub is available. So I guessed at that point, I am stuck.

I ran the drivers without my hardware ID first. When They failed. I  added my Ivy HW ID as
an alternative test. But without any successes. If you are interested, I can test your drivers
again.

Cedar  

The root hub is detected as an unknown device.

If the XHCI host controller is enabled succesfully, it immediately creates a child device.

Try to view the devices by connection and check if the host controller has a child device.
#1468 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1465
@daniel_k

if you have the time - can you figure out what causes code 39 error when using amdxhci driver for USB 3.0 in virtualbox?

You must use the Renesas driver and am sure I've got it working.

Will try again later.
#1469 XPLAKE8175 #1326
#1470 diderius6 ⇗ @infuscomus
I think, the Renesas driver from post 1367
ist best
Dietmar

 

Page 99

#1471 infuscomus ⇗ @diderius6

I tried renesas driver you mentioned in virtualbox - code 39 again
#1472 cedar ⇗ @daniel_k

I retest AMDXHCI_FINAL_ from #1376 on XP32 on Ivy Mb with
my hardware IDs
%AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C0320
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C03
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458&REV_04
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C0320
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C03 ; my tests

All instant reboots after installing the host controller with or without my HW IDs.
I did remember some host controller drivers can be installed a few days ago.
The TI Host controller can definitely installed.

I will try the XP64 versions soon.

Cedar
#1473 daniel_k
Zitat von ⇗ cedar im Beitrag ¶ #1472
@daniel_k

I retest AMDXHCI_FINAL_ from #1376 on XP32 on Ivy Mb with
my hardware IDs
%AMDXHC.DeviceDesc%   = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C0320
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E26&CC_0C03
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458&REV_04
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&SUBSYS_50061458
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C0320
%AMDXHC.DeviceDesc% = AMDXHC,PCI\VEN_8086&DEV_1E2D&CC_0C03 ; my tests

All instant reboots after installing the host controller with or without my HW IDs.
I did remember some host controller drivers can be installed a few days ago.
The TI Host controller can definitely installed.

I will try the XP64 versions soon.

Cedar



The BIOS is not properly configured for USB 3.0.

Those device IDs are USB 2.0 controllers (CC_0C0320).

You need to set xHCI Mode to Enabled and HS Port #1 Switchable~HS Port #4 Switchable to Disabled.
#1474 cedar ⇗ @daniel_k

Ok. the test was on AMDXHC,PCI\VEN_8086&DEV_1E26&SUBSYS_50061458&REV_04,
as it was the 1st top entry chosen during installation. I didn't pick
CC_0C03 specificly.  "my tests" was there to remind myself I tested the driver.

I will delete all (CC_0C0320)s entries. I believe my Bios was with xHCI enabled.
But I will recheck to confirm.

Cedar
#1475 daniel_k The device ID of the Intel USB 3.0 controller should be the following:

PCI\VEN_8086&DEV_1E31&SUBSYS_50071458
PCI\VEN_8086&DEV_1E31&CC_0C0330

Unless you are using PS/2 keyboard or mouse, your input device will be unavailable until a proper driver is installed.
#1476 diderius6 I understand a little bit more, how the asl Tool works.
In registry HKLM\services the acpi.sys driver is called. Normally, acpi.sys fetch its data from DSDT from Bios.
May be, this happens just now also and only later it should be overwritten with the DSDT values in "parameters".
Then the call from the DSDT table from Bios gives BSOD A5, before it can be overridden by the "parameters".
The asl.exe Tool writes after loadtable the data of DSDT in its "parameters"
for next boot. There, "new DSDT" stays.
The size of the ACPI "parameters" there is enourmous, but it is just the dsdt.aml with very small changes.
It is splitted in 19 entries whereas its  counterpart in HKLM\hardware\acpi\dsdt is not splitted

Dietmar

PS: Interesting, how "MPS" XP can read the DSDT, because it has no acpi.sys.

EDIT: May be, the asl.exe tool cant work together with  If (OSYS >= 0x07D6)
#1477 XPLAKE8175 you have to download ahci drivers or switch sata mode to ide (if it is available).
#1478 cedar ⇗ @daniel_k

I disable the 4 switchable in bios and delete VEN_8086&DEV_1E26&CC_0C0320.
The XP32 still instantly reboot, without install anything upon
reboot.

But the XP64 version is better. I can install the host controller, and
install the 3.0 hub. This time the unknown hub 3.0 appear and can also
installed but with code 10.


Edit: I will retest 32 bits with
PCI\VEN_8086&DEV_1E31&SUBSYS_50071458
PCI\VEN_8086&DEV_1E31&CC_0C0330

Cedar
#1479 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1443
@daniel_k

I have not tried sleeping mode on XP,
because also on chipsets before Skylake it was faulty.
On the evga z390 dark board they make a Bios for real XP.
It is version 0.92 and there you may find some intuition
for to change Acpi tables. It is not on their Website,
so I put it here.
This board I use for generic XP install, really best.
Have you an idea, how to overcome for your new driver
the sleeping code 10 in DSDT table in
Method (_PS0, 0, Serialized)  // _PS0: Power State 0

@XPLives is right, that Bios mod of DSDT is nothing for "normal" people.
But I think, this mod can make like generic
Dietmar

Edit: Funny, I wrote this few mins ago.
The Bios 0.92 for XP on z390 is too big for to upload here,
so I give you the link, it is on top of this website

⇗ https://forums.evga.com/EVGA-Z390-DARK-O...T-m2930290.aspx





When XP is installed in MPS, NO ACPI, which file is loaded instead of ACPI.SYS?

Is there a way to take the code for shutdown you fixed in ACPI.SYS and add as a registry fix or patch alternate file XP uses for NO ACPI mode?

This is still useful for F7 test on Intel even without hyperthreading but all cores will show up.  AMD AM4 can only use Standard PC unicore so alas. :(
#1480 XPLives ⇗ @XPLAKE8175

Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1460
I'm getting A5 ACPI error on my ASUS k555lb laptop. I don't want to install XP without ACPI. Which is the latest version of XP ACPI compliant for my laptop K555LB?


Since you have a Kaby Lake laptop this is interesting to test for compatibility.

Can you still do F7 NO ACPI XP install on it to completion to GUI setup mode or all the way to first desktop screen?

Is CSM mode still intact?
#1481 XPLAKE8175 I have got Broadwell Laptop
#1482 XPLives ⇗ @XPLAKE8175

Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1481
I have got Broadwell Laptop


Broadwell laptop should install with ACPI normally since Haswell laptop should work.

Are you getting BSOD A5 issue on it?

Try F7 NO ACPI install method and see if it finishes to desktop.  The USB 2.0 ports on it should work for USB mouse/keyboard.

Check the Task Manager and you should see all cores working just no hyperthreading.
#1483 XPLAKE8175 Yes I'm still getting ACPI error on my K555LB. My BIOS version is 605 which is the latest version.
#1484 XPLAKE8175 I don't want to install Windows XP without ACPI because my integrated keyboard does not work, I can't see my battery life and I can't shutdown without holding power button.
#1485 XPLives ⇗ @XPLAKE8175

Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1483
Yes I'm still getting ACPI error on my K555LB. My BIOS version is 605 which is the latest version.


Then it's possible Haswell laptops will have the same issue since they should be the same.

Haswell/Broadwell desktops are the last fully XP ACPI compliant then it seems for fresh install and Ivy Bridge laptop the last generation.

For now then try the F7 NO ACPI install method and see if it finishes to desktop. The USB 2.0 ports on it should work for USB mouse/keyboard.

Check the Task Manager and you should see all cores working just no hyperthreading.

Which CPU is installed in your laptop?  How many memory slots does it have?

 

Page 100

#1486 XPLAKE8175 My CPU is Intel Core i5 5200u and I have two memory slots and total of 8 gb of ram.
#1487 diderius6 ⇗ @XPLAKE8175

Make a photo or describe all the exact numbers
of your BSOD

Dietmar
#1488 XPLives ⇗ @XPLAKE8175

Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1484
I don't want to install Windows XP without ACPI because my integrated keyboard does not work, I can't see my battery life and I can't shutdown without holding power button.


If you don't even attempt the F7 NO ACPI install you will never know if the USB 2.0 ports on it will even work so the internal keyboard will not work either even with ACPI since it's hooked into the USB ports and if it's connected to the USB 3.0 ports then it will not work.  But if your laptop has USB 2.0 ports then you have a chance to use external USB mouse/keyboard combo.  Also I use Das Keyboard instead of the laptop keyboard.  Laptop keyboards have a very lousy orientation sometimes hitting the wrong key due to non standard layouts when they swap the keys with others you are not used to compared to standard 101 enhanced.

Aside from that you will still have to deal with the laggy MS VGA standard driver as there are no working Intel HD Graphics XP drivers for laptops past Ivy Bridge.  So no 3D gaming in XP will be possible.  Internet surfing might be possible if you have XP drivers for the WIFI or a removable one to swap.

What are your Wired Ethernet and Wireless WIFI devices called in Device Manager?

Can you copy the Hardware IDs of both including the Compatible IDs, and Matching IDs and paste here?

Also which onboard Audio is it?  Include the Hardware IDs of both including the Compatible IDs, and Matching ID.

It might be possible to get some multimedia usage out of it for internet only if you really want to use XP on a Broadwell laptop.
#1489 XPLAKE8175 I don't want to use my laptop without acpi. I want using with acpi.
#1490 infuscomus ⇗ @XPLAKE8175

you should first install XP without ACPI for testing purposes

once that works you can re-enable ACPI with another XP install later
#1491 XPLAKE8175 I don't want to test
#1492 infuscomus ⇗ @XPLAKE8175

If you are not willing to test then there is no way we can help you
#1493 XPLAKE8175 I don't want to get help from you.
#1494 XPLives ⇗ @XPLAKE8175

Zitat von ⇗ XPLAKE8175 im Beitrag ¶ #1491
I don't want to test


If you don't test you will never find out if it works.  Like I said your first complaint is you want to use the internal keyboard.  But if you don't do the F7 NO ACPI test you will not find out whether or not the internal keyboard is tied to the USB 2.0 or USB 3.0 ports.  If it's tied to the USB 3.0 ports then even with ACPI you are screwed and cannot use the internal keyboard.

I hope you understand this reasoning.   Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work.

Also without knowing whether you have USB 2.0 ports that can work with a USB floppy drive or USB flash drive with MSDOS 7.1 you cannot do the acpi.sys overwrite manually.  If your USB 3.0 ports can do xHCI hand off and operate as USB 2.0 eHCI then you are in luck.

Unfortunately since I do not own any laptop beyond Ivy Bridge I cannot tell you whether yours has real USB 2.0 ports or USB 3.0 ports or if your USB 3.0 ports can act as USB 2.0 ports.

Infuscomus is correct that you need to do the F7 NO ACPI test to see if you can even get a working desktop screen and use the internal keyboard or external USB mouse.  If you can't then it doesn't matter whether it's ACPI or not.  Also if you are worried about laptop battery life there is no guarantee even diderius6 acpi.sys can handle sleep mode or stand by mode on laptops.  I think it doesn't work on desktops at the moment but I have not tested. Shutdown does work on desktops so I assume it will also work on laptops.

One final thing if you ever get this far to do the F7 NO ACPI test.  I can show you how to install 32GB of RAM on the laptop.   It might even be possible to use 28GB-29GB as a large Ramdrive on a Broadwell laptop in XP.
#1495 diderius6 ⇗ @XPLives
"Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work."

When you use RMPrepUSB v2.1.739 version and you format your harddisk in an ICY USB box,
you can format it with NTFS. With this nice tool, you can also change after its formatting files as much as you want in Vista, Win7..
Dietmar
#1496 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1471
@diderius6

I tried renesas driver you mentioned in virtualbox - code 39 again

#1497 XPLives
Zitat von ⇗ diderius6 im Beitrag ¶ #1495
@XPLives
"Also applying the diderius6 patch requires using a FAT32 partition because you will have to copy the acpi.sys file a few times after each reboot or it will BSOD A5 and you will think it doesn't work."

When you use RMPrepUSB v2.1.739 version and you format your harddisk in an ICY USB box,
you can format it with NTFS. With this nice tool, you can also change after its formatting files as much as you want in Vista, Win7..
Dietmar




I like XP on FAT32. :) Easier to do hack tests or use with 98SE to exchange files.  I used the built in 98SE DOS to go to prompt so no need for USB floppy.  Then modify XP files as needed.
NTFS I only use for large video files.  But NTFS only required for Vista+ which is a shame.  Would be nice to install Vista or W7 clean onto FAT32 partition.
#1498 daniel_k ⇗ @diderius6

Forgot to tell you,

I've managed to patch the DSDT of my Z370 to be fully compatible with XP. No patched ACPI.SYS here.

Do you have any interest?

I can patch the DSDT table of your board if you want, there are several changes to explain here, nothing to do with the eVGA's Z390 XP BIOS.
#1499 diderius6 ⇗ @daniel_k

Of course I want to know.
I also think, that it is very interesting here for a lot of people.

I hope, that you have time and mood to write a Tutorial,

Dietmar

PS: I succeed to mod the Bios of my Asus Apex X board. Now I have really full USB support!
#1500 diderius6 ⇗ @XPLives

Long time ago I wrote Tutorial how to install Vista
on Fat32 partition

Dietmar

⇗ https://msfn.org/board/topic/102556-how-...at32-partition/

 

Page 101

#1501 diderius6 The flash of the modded Bios for the Asus Apex X was not easy.
I downloaded from webside the Bios version 1704,
which works also for the 9900k, despite Asus tells there.
I delete with UEFI-Tool the Cap of this Bios.
Then with Uefi-tool I changed dsdt against my modded one.
But when I try to flash this Bios with Intel flash tool

FPTw.exe -bios -f modbiosfilenamehere.bin

it tells me, that it is not allowed^^ to flash this Bios.

Ok, I try direct Bios flashback on this nice board,
renaming my Bios file to the wished M10A.CAP name.
Does not work.
Then I use the original Bios 1704 from Asus website and change there with Uefi-tool
the DSDT to my modded one.
This time, I do not touch the CAP header of this crazy Bios.
Then I make a new try for to flash via Bios flashback, compi
is not on, only power is connected.
This time it works
Dietmar

PS: As you can see, now ALL USB ports work on this board.
And pur USB boot from XP SP3 works on the Asus Apex X now for the very first time!

#1502 cedar ⇗ @daniel_k

I absolutely thrilled if you can patch my Asus Prime B350 Plus
of its the DSDT to be fully compatible with XP. Or my
Gigabyte Ivy D3-P75 to use usb 3.0. I have lot of problems install
XP on my Asus Prime B350. Although win2003 works.

That would be great news for many users.

If patched, since it does not need acpi.sys. Can XP64 be installed
as well?.

Cedar
#1503 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1500
@XPLives

Long time ago I wrote Tutorial how to install Vista
on Fat32 partition

Dietmar

⇗ https://msfn.org/board/topic/102556-how-...at32-partition/


Ah... I was hoping you found a new way to install from scratch directly to FAT32 from optical disc install.

Your method involves copying files after installation from NTFS partition.

If you can use a NTFS to FAT32 partition conversion program that would probably do the same?

But still nice that Vista can work on FAT32 after all that work as it should and Windows 7 should as well.

Now how to force NTFS check to be disabled for Vista / Windows 7 fresh optical disc installation from the beginning?

Even XP POS 2009 forces NTFS installation partition and no longer supports installation to FAT32 and forces to partition 1 so you can't install multiple times to different partitions like XP.
#1504 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1499
@daniel_k

Of course I want to know.
I also think, that it is very interesting here for a lot of people.

I hope, that you have time and mood to write a Tutorial,

Dietmar

PS: I succeed to mod the Bios of my Asus Apex X board. Now I have really full USB support!


Using your modified BIOS for USB 3.0 can you test if you install XP in MPS Mode or Standard PC (NO ACPI) without using your acpi.sys does the USB 3.0 still function correctly?
#1505 daniel_k ⇗ @diderius6

Take a look at the tables.

Included is the table of BIOS 4.00, I've already modded it before I realized you were on BIOS 3.20.



daniel_k has attached files to this post
#1506 diderius6 ⇗ @XPLives

"Using your modified BIOS for USB 3.0 can you test if you install XP in MPS Mode or Standard PC (NO ACPI) without using your acpi.sys does the USB 3.0 still function correctly?"

Yes, I just test this. It works in "MPS" and in "ACPI Multiprocessor" mode of XP SP3 also on the Apex X board.

Dietmar
#1507 cedar ⇗ @diderius6

Could you please test Xp64 as well?
Edit: Nevermind. I was having too much hopes.

Cedar
#1508 daniel_k ⇗ @diderius6

Here is the DSDT table of your ROG MAXIMUS X APEX 1704.

Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out.



daniel_k has attached files to this post
#1509 daniel_k
Zitat von ⇗ cedar im Beitrag ¶ #1502
@daniel_k

I absolutely thrilled if you can patch my Asus Prime B350 Plus
of its the DSDT to be fully compatible with XP. Or my
Gigabyte Ivy D3-P75 to use usb 3.0. I have lot of problems install
XP on my Asus Prime B350. Although win2003 works.

That would be great news for many users.

If patched, since it does not need acpi.sys. Can XP64 be installed
as well?.

Cedar


Ryzen has other issues, don't think we can simply patch the ACPI table.
#1510 diderius6 ⇗ @daniel_k

"Here is the DSDT table of your ROG MAXIMUS X APEX 1704.

Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out."

Yes, I know this. The board Apex IX before was full XP compatibel from beginning.
And the acpi.sys from Vista-Longhorn 5048 works on  ROG MAXIMUS X APEX 1704 without any mod.
But on direct install with normal Acpi.sys from XP I get BSOD A5 (0x11,..)
so I have until now to use my modded acpi.sys from december 2018
Dietmar

PS: So, for me it is very strange, why the asl Tool shows BSOD A5 on this board.
#1511 asasin hello again
Would you advise something on the main board asus h110m-a / m.2?
I still have the same problem with usb.
#1512 cedar ⇗ @daniel_k

So even the bios modded could not save XP64!. What is the difference between
⇗ @diderius6 's Acpi.sys modded and the Bios modded?

Cedar
#1513 diderius6 ⇗ @daniel_k

How can you fix so quick a DSDT table?
I need for this whole day..

By the way: For you, to make your life easier,
update the iasl tool.

*     Compiler Version 0x20160422 (538313762)

The messages about unknown dependencies are complete gone
with newer version
Dietmar

PS: And thank you a lot!

EDIT: I just notice, that XP support for this iasl.exe is gone.
So I add the last version from iasl.exe, which supports XP.



diderius6 has attached files to this post
#1514 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1513
@daniel_k
By the way: For you, to make your life easier,
update the iasl tool.

*     Compiler Version 0x20160422 (538313762)

The messages about unknown dependencies are complete gone
with newer version


Thanks.

I know that IASL is updated frequently.

For compatibility reasons, I usually like to compile the table with the same version used to build the original, as you should know, the BIOS updates certain variables in the ACPI tables.
#1515 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1510
@daniel_k

"Here is the DSDT table of your ROG MAXIMUS X APEX 1704.

Interesting, the ASUS BIOS is almost 100% XP compatible. Check it out."

Yes, I know this. The board Apex IX before was full XP compatibel from beginning.
And the acpi.sys from Vista-Longhorn 5048 works on  ROG MAXIMUS X APEX 1704 without any mod.
But on direct install with normal Acpi.sys from XP I get BSOD A5 (0x11,..)
so I have until now to use my modded acpi.sys from december 2018
Dietmar

PS: So, for me it is very strange, why the asl Tool shows BSOD A5 on this board.


How do you create your modded acpi.sys?

Are you using XP's acpi.sys original file and hex mod?

Can you use Windows 2000's acpi.sys file instead for full forward compatibility will all NT5.X versions?

If not I will help to remake from scratch if I know how you did the XP version.

Also need to disable or reassign default IRQs for devices detected.  Any ideas to free IRQ6 from FDC?

 

Page 102

#1516 XPLAKE8175 But Vista does not get this A5 error message.
#1517 XPLAKE8175 My laptop is ASUS too and why I'm getting A5 error on Windows XP but not Vista.
#1518 XPLAKE8175 How did you get ACPI on the Latest Gen i9?
#1519 infuscomus ⇗ @diderius6

that HWID PCI\VEN_1912&DEV_0014 doesn't match the HWID I get in virtualbox - I get PCI\VEN_8086&DEV_1E31
#1520 infuscomus
Zitat von ⇗ XPLives im Beitrag ¶ #1515
Are you using XP's acpi.sys original file and hex mod?

Can you use Windows 2000's acpi.sys file instead for full forward compatibility will all NT5.X versions?


⇗ @XPLives

We used acpi.sys of Vista beta 5048 because it includes new acpi words like CreateQWordField that are not present in 2000/XP acpi.sys
#1521 XPLAKE8175 OK, I will try adding the new acpi words to XP x86 and x64 acpi from Vista x86 and Vista x64. Vista ACPI works on my broadwell laptop.
#1522 XPLAKE8175 It finishes to desktop without errors with MPS multiprocessor.
#1523 XPLAKE8175 I can disable XHCI preboot mode from bios without bricking BIOS and I can enable Launch CSM setting from BIOS.
#1524 XPLAKE8175 How can I patch my DSDT table on my ASUS k555lb laptop without bricking my bios?
#1525 diderius6 ⇗ @XPLAKE8175

There is still a risk, even when you have flashed 100 Bios.
When you have no experience with Bios mod
it is a big risk and I would do NOT!

Dietmar
#1526 diderius6 ⇗ @daniel_k

I just install your nice USB driver without any Bios mod
on the EVGA z390 dark board.
This is only possible, because its Bios does
not contain the Device (xhc).

Oho, there is a motherboard manufactor with Intel chipset,
who is not slave of Intel

Dietmar

PS: And for the very first time I can boot XP direct from USB on this nice EVGA z390 dark board !



diderius6 has attached files to this post
#1527 XPLAKE8175 OK, I will install with your acpi.sys
#1528 diderius6 ⇗ @infuscomus

"that HWID PCI\VEN_1912&DEV_0014 doesn't match the HWID I get in virtualbox - I get PCI\VEN_8086&DEV_1E31"


There are some synonyme in VEN_&DEV_ for an absolut identic device
Dietmar
#1529 diderius6 Crazy, even the EVGA z390 dark board crashes with BSOD A5
when I upload via asl.exe its own DSDT.
So, this tool has a major problem with ACPI on newer boards

Dietmar
#1530 infuscomus ⇗ @diderius6

even if the device is a synonym - I still get code 39





 

Page 103

#1531 XPLAKE8175 ⇗ @diderius6
Can I test your modded acpi.sys on my asus k555lb i5 5200u laptop? If it works, may your acpi.sys brick my bios? If I still get ACPI A5 error, I'll send you an error message with error image and error description. I know laptop bios is more vulnerable to brick than desktop bios.
#1532 diderius6 ⇗ @infuscomus

This is not the Renesas driver from my post 1367

Dietmar

PS: You can try a change by hand in xhci.inf
to
%PCI\VEN_1912&DEV_0014&REV_01.DeviceDesc% = RUSB3XHC, PCI\CC_0C03
#1533 diderius6 ⇗ @XPLAKE8175

No, the modded acpi.sys does nothing with Bios.
This was the reason, why we make it
Dietmar

PS: When you get BSOD A5
you can try this acpi.sys. This was my first from December 2018.



diderius6 has attached files to this post
#1534 XPLAKE8175 OK, I will try.
#1535 infuscomus ⇗ @diderius6

yes, i have tried the renesas driver, as well as VIA, Etron, TI, and AMD

I have also tried that INF mod

all give code 39 in virtualbox 5.2 (last 32bit version)

I will boot into 64bit windows to install 6.0 64bit and see if that works
#1536 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1526
@daniel_k

I just install your nice USB driver without any Bios mod
on the EVGA z390 dark board.
This is only possible, because its Bios does
not contain the Device (xhc).

Oho, there is a motherboard manufactor with Intel chipset,
who is not slave of Intel

Dietmar

PS: And for the very first time I can boot XP direct from USB on this nice EVGA z390 dark board !


Can you try 2 things for me please?

- Renesas driver, if it has the same device detection issue or works fine with the proper eVGA XP BIOS.

- Standby/sleep works maybe or even hibernation, I'm really curious about them.
#1537 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1535
@diderius6

yes, i have tried the renesas driver, as well as VIA, Etron, TI, and AMD

I have also tried that INF mod

all give code 39 in virtualbox 5.2 (last 32bit version)

I will boot into 64bit windows to install 6.0 64bit and see if that works

Here I'm running VirtualBox 6.0.10, maybe this is the reason it works fine?
#1538 canonkong ⇗ @daniel_k
Most modify usb driver can use on VM, but real machine can not.
#1539 infuscomus ⇗ @daniel_k ⇗ @diderius6

So I upgraded virtualbox to 6.0

I still get code 39

maybe it's because my host machine is AMD ryzen?
#1540 diderius6 ⇗ @daniel_k

I succeed to start the Renesas USB3 driver on the EVGA board, but behavior is exact like before.
You have to deinstall the xhci.sys driver and in about each 3. attempt you succeed that all the other Hubs are loaded
and the USB devices can be used. If the other Hubs are not loaded, the message "unknown device" appears for each USB device. The same is true for reboot, no USB device starts.
On the Asrock k6 board I succeeded with the Renesas driver in full ACPI, that after reboot the USB devices are correct recogniced
but this was unstable.

Sleeping or Hibernation does not work. XP starts with this, the monitor and harddisk went off.
But then a message appears, that the driver for Acpi sleeping does not work correct and XP starts at once to active mode again

Dietmar

PS: In Hibernation, the compi went down (shuts not complete off), but does not awake again .
#1541 diderius6 ⇗ @infuscomus
What happens,
when you use the driver from post 1095
Dietmar
#1542 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1539
@daniel_k @diderius6

So I upgraded virtualbox to 6.0

I still get code 39

maybe it's because my host machine is AMD ryzen?

Possibly yes.

Don't you have an Intel based system to try it?
#1543 infuscomus ⇗ @diderius6

using driver from post 1095, the controller start
but hub fails with code 39
#1544 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1540
@daniel_k

I succeed to start the Renesas USB3 driver on the EVGA board, but behavior is exact like before.
You have to deinstall the xhci.sys driver and in about each 3. attempt you succeed that all the other Hubs are loaded
and the USB devices can be used. If the other Hubs are not loaded, the message "unknown device" appears for each USB device. The same is true for reboot, no USB device starts.
On the Asrock k6 board I succeeded with the Renesas driver in full ACPI, that after reboot the USB devices are correct recogniced
but this was unstable.

Sleeping or Hibernation does not work. XP starts with this, the monitor and harddisk went off.
But then a message appears, that the driver for Acpi sleeping does not work correct and XP starts at once to active mode again

Dietmar

PS: In Hibernation, the compi went down (shuts not complete off), but does not awake again .

Thanks for trying.

That's a pity it doesn't work.

At least I'm not missing anything.
#1545 infuscomus
Zitat von ⇗ daniel_k im Beitrag ¶ #1542
Possibly yes.

Don't you have an Intel based system to try it?


⇗ @daniel_k

I have an older Z97 system i'm not using at the moment, i'll have to setup XP on it

which driver should I test on it first?

 

Page 104

#1546 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1545
Zitat von ⇗ daniel_k im Beitrag ¶ #1542
Possibly yes.

Don't you have an Intel based system to try it?


@daniel_k

I have an older Z97 system i'm not using at the moment, i'll have to setup XP on it

which driver should I test on it first?

If there is an OS installed and running fine, try VirtualBox with the oficial Renesas driver.

Otherwise, install XP as usual before messing with USB 3.0 drivers.
#1547 cedar ⇗ @infuscomus

As I tried daniel_k AMD-final driver again today on 64 bit XP.
I did get code 39.  It was tried on my Ivy board.  I also got
code 10 on usb3 root hub and code 28 on controller upon reboots at different time.

It was all tested on real XP64. The 32bit ver. did not installed
at all. We still have a long way to go.

Cedar
#1548 asasin How does the "xhci hand-off" option work in bios?
I made a flash bios to an earlier version and this option appeared to me.
My tests have shown that changing this option does nothing.
Any ideas?
#1549 infuscomus ⇗ @diderius6 ⇗ @daniel_k

I tried virtualbox 6.0 on my intel system, same result as before - code 39 (either on the controller, or the hub, depending on the driver)

I'll install XP natively andd see what result I get
#1550 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1549
@diderius6 @daniel_k

I tried virtualbox 6.0 on my intel system, same result as before - code 39 (either on the controller, or the hub, depending on the driver)

I'll install XP natively andd see what result I get

Did you follow the instructions outlined in the VB's forum?
⇗ https://forums.virtualbox.org/viewtopic.php?f=28&t=74575
#1551 infuscomus
Zitat von ⇗ daniel_k im Beitrag ¶ #1550
Did you follow the instructions outlined in the VB's forum?⇗ https://forums.virtualbox.org/viewtopic.php?f=28&t=74575


⇗ @daniel_k

Thanks, I actually didn't know about this - I thought the emulated intel USB 3.0 was the only option.

So this changes the emulated USB 3.0 controller from an intel to a Renesas?
#1552 diderius6 I changed GbE region in Bios in the Asus Apex X board with Lan i219-V
against the GbE region in Bios from Asus Z87I-PRO with Lan i217-V with the Uefi-tool.
But nothing changed. The Lan is still shown as VEN_8086&DEV_15B8
which is i219-V as before
Dietmar

PS: May be, here is a fundamental missunderstanding.
When I change in the *.inf file against the one for i217-V
I get code 10, exact as before.
And Win7 32 bit starts happy again with its i219-V driver for VEN_8086&DEV_15B8.
#1553 daniel_k ⇗ @infuscomus, yes it changes the chipset emulated to a Renesas one.

After trying this, if possible, would be great if you could test any of the USB3 drivers and see if it Works with your Z97 board.
#1554 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1552
I changed GbE region in Bios in the Asus Apex X board with Lan i219-V
against the GbE region in Bios from Asus Z87I-PRO with Lan i217-V with the Uefi-tool.
But nothing changed. The Lan is still shown as VEN_8086&DEV_15B8
which is i219-V as before
Dietmar

PS: May be, here is a fundamental missunderstanding.
When I change in the *.inf file against the one for i217-V
I get code 10, exact as before.
And Win7 32 bit starts happy again with its i219-V driver for VEN_8086&DEV_15B8.

Try this.
#1555 diderius6 ⇗ @daniel_k

Gives also code 10. What did you change and
do you think, there is any chance to mod this?
Do you know something about GbE region?
I tried also the UBU tool UBU_v1_74_0_3
but no information which can help there
Dietmar

PS: The output from the UBU tool before mod and after
is to 100% identic.

Comparing the both Bios (Original 1704 and after Mod 1704) shows with Beyondcompare 2 (minimal) differences,
very first in the beginning. The rest of the Bios are complete identic.

This code 10 remembers me a lot at code 10 for USB3 before^^.
May be, Intel set this device also to sleep in Bios via 64 bit entries for variables.
Do you know the name of the lan Device () in DSDT?
#1556 diderius6 ⇗ @daniel_k

For to test my idea,
I just boot Apex X in "MPS" mode.
Oha, suddently the network i219-v is recogniced as i217-v version 2, installs correct,
but on reboot again code 10.
So, the Bios mod changed something into the right direction, question is about this version 2
Dietmar

Edit: I just see with Ida Pro, that beside *.inf mod you also changed the ID number in e1d5132.sys.
But in the original file, the ID 1559h appears at 3 places,
and you changed only one place.

EDIT2: I change ID     

1559h => 15B8h

with Winhex at all its three places in e1d5132.sys.
But this does not help, still code 10.

When I delete this lan driver in device manager,
now always comes the message, that a new device is found
i217-V, its crazy.



diderius6 has attached files to this post
#1557 canonkong ⇗ @diderius6
Replace GBE, you need to flash the bios with flashback or flash burner. Another is you can compare 219-V GBE and 217-V GBE, find the difference and modify the 219-V GBE.
#1558 diderius6 ⇗ @canonkong

"Replace GBE, you need to flash the bios with flashback"

I used the Bios flashback on the Asus Apex X board. Do you mean a special program
and why you need this. And how can I compare this 2 files? I put them here,
Dietmar

EDIT: Is it because normally only the Bios-region is flashed?
But the downloaded Bios file from Website contain its own correct GbE?

EDIT2: Now I think, my GbE files are just nearly empty, right?
I have to use the whole Bios content from both compi, extract its GbE and then
change? This would mean, I need another real Compi or full Bios with i217-V in its Bios.



diderius6 has attached files to this post
#1559 canonkong ⇗ @diderius6
219-v: F4 18 00 0A 43 08 13 01 B7 15 AD BA B7 15 B8 15 is dev id 15B7
217-v: F4 18 00 0A 43 08 13 01 3B 15 AD BA 3B 15 3B 15 is dev id 153B
What happen you replace the 217 GBE?
POST your need bios and a bios has a 217-V/LM from the same brand. I help you to modify it.
#1560 diderius6 ⇗ @canonkong

Thanks a lot:))!

When I change this 2 Hexvalues in my own 219-v GbE
and load it up again to my own Bios with Uefi-Tool,
than it is flashed to compi with normal Bios Flashback?

Interesting, what happend, because I changed whole GbE with i219 against Gbe with i217 on my Asus Apex X Bios
Dietmar

PS: I still do not understand this procedure: I just see, that those ID appear more than one time in this Hexvalues.
Which of them is the correct one? Have I to change them all?

Or is it only one time direct after the Hexvalues 13 01?

 

Page 105

#1561 canonkong ⇗ @diderius6
Flash it.
⇗ https://yadi.sk/d/KFetwSwt-_mSGw
#1562 diderius6 ⇗ @canonkong

Thank you. But it looks not as easy.
45 regions are different in this 2 Bios files.
Because I have 1704 Bios version, which is even modded with DSDT table for Intel USB,
I need to understand, how this works
Dietmar
#1563 canonkong @ diderius6
217/218/129 series of network cards are incomplete, just a PHY, you can regard GBE as the firmware of this PHY, replacing GBE is like replacing the firmware of network cards.
Device ID and MAC address are determined by GBE.
#1564 diderius6 ⇗ @canonkong

This is a very good explanation from you!

I just extracted the GBE from those 2 Bios files, that you send to me.
They are 100% identic to my 2 GBE files.
So, why does it not work for me?
When I flash this Bios, is the GBE also flashed or only the Bios region
Dietmar

PS: When the GBE region would be also flashed, my Mac etc. would be gone.
#1565 canonkong @ diderius6
GBE is similar to ME and has high permissions. Generally, a burner is needed to burn BIOS.
#1566 diderius6 ⇗ @canonkong

Ok, this I understand. I have good Eprom flasher.
So, when I want to keep all my informations as Mac etc.
is there a way just to change the needed values for to go from i219 => i217 ?

Or is the rest really like firmware, so I have to burn the whole package at once?
And then later put my Mac etc. back into Bios by hand?

Dietmar

PS: By the way, now I understand what happens during my Bios flash.
The whole GBE region is complete ignored from compis Biosflashback, it copied only the Bios-region,
so I just changed to an 100% identic Bios.
#1567 canonkong ⇗ @diderius6
Yse, use HxD open GBE, the first line 88 88 88..., use MAC replace it and save.
#1568 diderius6 ⇗ @canonkong

Thanks a lot, I understand everything.

I do not know anybody, who succeeds to change his 219-V => 217-V.

But always somebody will do it first,

why not me

Dietmar

PS: The funny thing in this is, I have the mainboard ASUS Z87I-Pro with whole Bios with i217-V.
So a make a try, to understand which parts are really needed to be copied, away from Uefi-tool.
#1569 daniel_k ⇗ @diderius6

In DSDT, the LAN is Device (GLAN).

About the driver, many Intel devices are identical, just different IDs.

For each "group" of devices, there are 2 sets of "presets".

Open e1d6232_Win7.sys and search for B8 15 (15B8), you'll find:

 
00430451: 3DB8150000      cmp   eax,0000015B8
00430456: 7F6D jg 0004304C5 -> JUMP IF GREATER THAN 15B8
00430456: 3DB7150000 cmp eax,0000015B7
00430456: 7D3A jge 000430499 -> JUMP IF GREATER OR EQUAL (15B7/15B8)
...
00430499: C7819C0000000C000000 mov d,[ecx][00000009C],00000000C -> PRESET ID
004304A3: E91CFEFFFF jmp 0004302C4



 
0043DD98: 3DB8150000     cmp   eax,0000015B8
0043DD9D: 7F23 jg 00043DDC2
0043DD9F: 3DB7150000 cmp eax,0000015B7
0043DDA4: 7D2C jge 00043DDD2
...
0043DDD2: 898E406D0000 mov [esi][000006D40],ecx
0043DDD8: C7864808000002000000 mov d,[esi][000000848],2 -> PRESET ID



The XP driver doesn't have the device IDs 15B7 and 15B8, but the presets are there, so I've added a compare against these IDs and, if there is a match, it jumps right to the corresponding ID.

The order of the checks is reversed in the XP driver. First preset is set to 2 and the second is C.

At offset 38F00 there are more checks, against the mask and later against the ID.

Got it?

#1570 daniel_k Here is another try.
#1571 diderius6 ⇗ @daniel_k

Yes, I understand everything. If there are no other differences between those i219 and i217 it will work.
Oh, nice so much help, also to ⇗ @canonkong!
I will test both methods,
but now I am sure
we get it to work.
And I know, there are a lot of other users,
who go away from XP because no USB and no Internet any longer
Dietmar
#1572 diderius6 ⇗ @daniel_k

On "MPS" and on ACPI Multiprocessor again code 10.
Question is, if the drivers for i217 and i219 even for Win7
are a little bit different. I think yes.
And so, the way via firmware change in Bios may be the easier way.
Question in this is only, if those 2 physical devices (called i217 and i219) are identic
Dietmar

PS: And still remains (because of code 10) the possibility, that Device GLAN is killed somewhere
in DSDT for newer Bios via Intel for XP.

Now I am tired and 4 hours after midnight here in germany:))!
But tomorrow..
#1573 diderius6 ⇗ @daniel_k

A test for to check the driver compatibility is,
if a real i219 device can run under Win7 with a modded (for i219) i217 driver from Win7
Dietmar

EDIT: For Win7, the i217 and i219 appear for the very first time together in the Intel driver package

Intel® Netzwerk Adapter-Treiber für Windows 7 *
Version: 21.0 (Zuvor veröffentlicht) Datum: 23.05.2016

And in the other package is the very first driver for Intel i217-V for Win7 32 bit.
If THIS driver can be modded for to support i219 on Win7, than XP i219 should be possible.
This driver is from Intel 18.4.



diderius6 has attached files to this post
#1574 diderius6 ⇗ @canonkong

I make a check between the GBE for Bios 1704 from Asus Apex X website
and my GBE direct from Compi.

Ok, in the very first Bytes I see the MAC and I also noted,
that the Hex values for i219
F4 18 00 0A 43 08 13 01 B7 15 AD BA B7 15 B8 15
appear a second time only in GBE from compi. Not so many differences,
so it can be done by hand with Winhex
Dietmar

PS: Now it is the turn, to find all this differences direct in the HEX file of outread Bios from my Apex X with Epromer
and change to the wished owns. The same I do for the Asus Bios of my real board Bios ASUS Z87I-Pro.



diderius6 has attached files to this post
#1575 diderius6 ⇗ @canonkong ⇗ @daniel_k

I flashed the whole GBE region from Bios of real Compi Asus z87i-Pro
to the Bios 1704 GBE region of the Apex X board.

Now appears at start the message

PXE-E04: Error reading PCI configuration space.

The network card is now indeed shown as i217-V
and with VEN_8086&DEV_153B
but with yellow exclamation mark and code 10.

Dietmar

PS: Everything other on Apex X board seems to work normal.

 

Page 106

#1576 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1575
@canonkong @daniel_k

I flashed the whole GBE region from Bios of real Compi Asus z87i-Pro
to the Bios 1704 GBE region of the Apex X board.

Now appears at start the message

PXE-E04: Error reading PCI configuration space.

The network card is now indeed shown as i217-V
and with VEN_8086&DEV_153B
but with yellow exclamation mark and code 10.

Dietmar

PS: Everything other on Apex X board seems to work normal.

Perhaps you've changed too much?

Attach the old and the new GBE region here.

Can the device ID be found in the GBE region?
#1577 canonkong ⇗ @diderius6
PXE need to replace the lom, use uefitool.
#1578 diderius6 ⇗ @daniel_k
I make a new try, where I only change at its 4 places in my original Apex X GBE
B815 => 3B15 (like ID hack in drivers).

But exact the message at boot appears
PXE-E04: Error reading PCI configuration space.
The lan device is again shown as i217-V code 10 under Win7 and the same in XP.

⇗ @canonkong
"PXE need to replace the lom, use uefitool."

This message ist to short for me, I dont understand.
#1579 canonkong ⇗ @diderius6
Use uefitool serch B8 15, find out this block, and path it out. Use UBU SetDevID to change lom dev_ID, than use this modify lom to replace it back.
#1580 kukonosau Do you have ACPI for Windows XP x64 for Ryzen? Windows XP is no laggind in game with Ryzen and graphics card, for example 980 Ti?
#1581 diderius6 ⇗ @kukonosau

Until now is no good acpi.sys for XP 64 on the market.
For me, everything works ok with Ryzen and gtx 980 under XP 32 bit
Dietmar
#1582 kukonosau Games is no lagging? How to working Windows XP in Ryzen 3 2200G with graphics card 9th series? My motherboard is ASUS AM4 B350 PRIME B350M-K. If buy fraphics card 9th series can I play computer games in Windows XP?  I have 1050 Ti, but I haven't drivers for 10th series.
#1583 diderius6 ⇗ @canonkong

The problem is, that the Hexvalues B8 15
appear at a lot of places, when I search with Uefi tool.
And which Bios file should I search?
The modded one or the original one with DEV_15B8 ?

Is it in GBE region

Dietmar

Can the words PXE, LOM help me for search?


PXE-E04: Error reading PCI configuration space.

This message is displayed if any of the PCI BIOS calls made to read the PCI configuration space return an error code.

I flashed my own original GBE region from Apex board back.
Now this errormessage is gone but again the networkdevice i219-V is shown (works only under Win7).
#1584 skullteria My version of acpi.sys from 5048 is not a good option? On my system (skylake, core i7 6700k and motherboard ) work fine!
#1585 skullteria
Zitat von ⇗ diderius6 im Beitrag ¶ #1581
@kukonosau

Until now is no good acpi.sys for XP 64 on the market.
For me, everything works ok with Ryzen and gtx 980 under XP 32 bit
Dietmar



My version of acpi.sys from 5048 is not a good option? On my system (skylake, core i7 6700k and motherboard ) work fine!
#1586 diderius6 ⇗ @skullteria

We have only the 32 bit version from this acpi.sys 5048

Dietmar

PS: And for Ryzen, the hack from infuscomus has also to be done on the acpi.sys 5048 64 bit.
#1587 diderius6 The question is, if the message

PXE-E04: Error reading PCI configuration space.

stops the lan from working or not. It is shown in device manager as i217-V with correct changed ID.
May be it is just a message,
this would mean,
that i217 and i219 are different in hardware
and the driver for pur i217 cant run on i219,
because also Win7 showes code 10
on i219 => i217
modded device
Dietmar
#1588 daniel_k
Zitat von ⇗ diderius6 im Beitrag ¶ #1587
The question is, if the message

PXE-E04: Error reading PCI configuration space.

stops the lan from working or not. It is shown in device manager as i217-V with correct changed ID.
May be it is just a message,
this would mean,
that i217 and i219 are different in hardware
and the driver for pur i217 cant run on i219,
because also Win7 showes code 10
on i219 => i217
modded device
Dietmar


PXE is actuallly an option ROM, read this:
⇗ https://en.wikipedia.org/wiki/Preboot_Execution_Environment

Usually used on diskless systems, boots an OS by loading its files remotely from a connected network.

I think those models are just too diferent for it to work.
#1589 daniel_k Try this modded driver, recommened with a BIOS with original GBE region.

If this doesn't work, it is very unlikely it ever will.
#1590 diderius6 ⇗ @daniel_k

I found the lan chip on the nice Asus z87i-Pro board. From this board I know, that i217 works for XP and Win7.

Intel® Ethernet Controller I217V
Consumer LAN product with support for Energy Efficient Ethernet (802.3AZ)1, Intel® Standard Manageablity, ACBS and standard Gigabit networking features Intended for mobile, desktop, and embedded design
WGI217V

Dietmar

EDIT: The i219-V is integrated in the Intel® Z370 Chipset. So, the hardware is different.

EDIT2: BUT
Key Details
Design is Highly Compatible with the
Intel® 82579 GbE Controller

The Intel® Ethernet Controller I217 is
highly compatible with the Intel® 82579
GbE Controller, making new designs easy
to generate while gaining the improvements
of features now available on the
Intel® Ethernet Controller I217.

 

Page 107

#1591 skullteria
Zitat von ⇗ diderius6 im Beitrag ¶ #1586
@skullteria

We have only the 32 bit version from this acpi.sys 5048

Dietmar

PS: And for Ryzen, the hack from infuscomus has also to be done on the acpi.sys 5048 64 bit.


Here version x64

skullteria has attached files to this post
#1592 diderius6 ⇗ @canonkong

After loong search I think I found the wished part via Uefi tool looking in whole Bios.
I look for a header with Hex 55 AA 87 E8.
It is only in
GUID:              A0327FE0-1FDA-4E5B-905D-B510C45A61D0
and there only in
Subtype GUID: 50339D20-C90A-4BB2-9AFF-D8A11B23BC15

I extracted the body of this subguide with Uefi Tool and name it otto.bin.
There I found words Intel R) Boot Agent ..

Then I type in commandline (path to UBU)

C:\SetDevID 153B otto.bin ottoModID.bin

and a message tells,
that this ID was set.
With Winhex I take a look what changed. I see, that the DEV_15B8 => DEV_153B as wished.
Now I flash this back to Bios and we will see

Dietmar

#1593 canonkong ⇗ @diderius6
Good, you found the right way. if i217 can not work try i218 or other phy GBE.
#1594 diderius6 ⇗ @daniel_k

I tested your new driver with original Bios 1704 From Apex X board under Win7.
Yes, nice idea to test, if this driver pur i217-V, can be modded to support also i219-V.
It is necessary, because if this does not work,
something other is in the way and I would also say incompatible hardware.
During install after about 1 min the compi gets frozen,
so it is not so easy to say what is going on
Dietmar
#1595 XPLives ⇗ @diderius6

Zitat von ⇗ diderius6 im Beitrag ¶ #1594
@daniel_k

I tested your new driver with original Bios 1704 From Apex X board under Win7.
Yes, nice idea to test, if this driver pur i217-V, can be modded to support also i219-V.
It is necessary, because if this does not work,
something other is in the way and I would also say incompatible hardware.
During install after about 1 min the compi gets frozen,
so it is not so easy to say what is going on
Dietmar



I don't think this method is worth the effort.  It's possible the chipset is different that even tricking the hardware to appear as i217-V when it is really i219-V if the chips are different then the driver itself still can't function with it.  Only Intel has knowledge of their own chips or the company who made the chips could make a new XP driver for i219-V.

This is probably the same reason why Intel HD Graphics 4200 cannot use Intel HD Graphics 4000 XP driver.  Possibly the chips are different enough that the code is specific.  But probably easiest is the Hardware ID substitution test without going into the BIOS.

It is much easier to just spend $5 to get Realtek 8111E PCIe network card and just use PCIe x1 tiny slot.  Or get USB 3.0 card and use USB ethernet or USB wifi adapter if sacrificing just one internal PCIe x1 slot in order to use XP.  Then add USB Audio and you got sound.   Graphics card still requires another PCIe slot that can't be helped.  At most two PCIe slots will be needed for full XP functionality.

In the future Ice Lake and Tiger Lake those onBoard network will be i220-V+ and more foreign.  USB 3.X may change to USB 4.0 but hopefully not or only if backward compatible to USB 3.0 then driver can still work.  USB 3.0 cards will be the only path forward for easy USB network, USB audio, USB keyboard, and USB mouse if no more PS/2 ports.
#1596 infuscomus ⇗ @XPLives

PCI-E usb 2.0 cards are still a possibility for XP if you need guaranteed USB for XP
⇗ https://www.ebay.com/itm/USB-2-0-to-PCI-...lEAAOSwaBZZmNXa

The following contents have been linked to this post:
#1597 diderius6 ⇗ @canonkong ⇗ @daniel_k
I flashed the whole Bios to the Asus Apex X board after integrating all changes from @canonkong.
But the message about PXE stays the same and also the now as i217-V shown lan device has yellow
exclamationmark in XP and in Win7 and does not work (each code 10).
I tried a lot before I succeed to flash this Bios chip in a whole.
From all the Epromers I have, only Revelprog IS works via the TPI socket
with my own build adapter (see photo).
The Epromer can only work, after I connect the normal power supply to the board (board not startet).
The CPU, RAM and Bios battery stay all in the board.

So, there seems to be hardware differences between the i217 and i219
Dietmar




#1598 diderius6 I just noticed,
that the Hex values B8 15 for the old Lan i219-V
still remains in

Guid
4953F720-006D-41F5-990D-0AC7742ABB60

and there only in PE32 section of its Subguide
EE4E5898-3914-4259-9D6E-DC7BD79403CF

And the message abbout PXE has not only to do with PXE:

PXE-E04: Error reading PCI configuration space. The Boot Agent cannot continue. PCI configuration space could not be read. Machine is probably not PCI compliant. The Boot Agent was unable to read one or more of the adapter's PCI configuration registers. The adapter may be mis-configured, or the wrong Boot Agent image may be installed on the adapter. The Boot Agent will return control to the BIOS and not attempt to remote boot. Try to update the flash image. If this does not solve the problem, contact your system administrator or Customer Support.

This means: When the lan adapter is misconfigurated, this message appears also

Dietmar

EDIT: Problem in this is only, that B8 15 appears at 5 places. And the UBU tool does not work for this.
#1599 infuscomus The latest Intel networking driver I can find for XP is 12.7.28

The first version that supports 217 is 12.8.33 - according to daniel_k

they are only a few months apart

I don't know if this can be hacked to work



infuscomus has attached files to this post
#1600 cedar ⇗ @skullteria

I tried your acpi 64. Unfortunately, it bsod 7E on Ryzen.
#1601 cedar With further tests, my Mboard seems to work with usb3.0. Thanks to
daniel_k ,canonkong ,diderius6's great efforts. Seem stable at the moment,
if not, I can always go back to the Mediasonic PCIe usb3.0 card.


⇗ https://www.amazon.ca/Mediasonic-HP1-SU3-USB-Express-Card/dp/B003X26VVO
#1602 diderius6 ⇗ @cedar
On which board USB3 works for you now
Dietmar
#1603 cedar ⇗ @diderius6
Ivy Gigabyte D3-P75.
#1604 diderius6 ⇗ @skullteria

"I tried your acpi 64. Unfortunately, it bsod 7E on Ryzen."

The last hack (only this makes Ryzen work with Acpi) from ⇗ @infuscomus and me is not integrated in this 64 bit version I think
Dietmar
#1605 cedar @ diderius6
I tried your and  infuscomus 64 bit version too. Don't remember if
it was B7 or A5.

 

Page 108

#1606 infuscomus ⇗ @diderius6

when you have time to test, can you test the driver I posted?

- post #1599 (it needs an INF mod)
#1607 diderius6 ⇗ @infuscomus

Soon I will test your driver, after I did Bios Mod.

Because now I have full, easy to handle Eprom possibility for the Asus Apex X board,
I use it ..

So, I just did the following:
With UEFI tool I copied the whole Intel Gigabyte Lan file *.ffs
from GUIDE 4953F720-006D-41F5-990D-0AC7742ABB60 of the Asus z87i-Pro board Bios
and replace with it the same one in the Apex X Bios. So the problem is gone, how I can change there the DEV_ numbers for lan.
But maybe the DEV_ number for lan is still stored in the Bios at other places.
But it is a try and I think, compi will start
Dietmar
#1608 infuscomus ⇗ @diderius6

actually this driver i think might be better choice

found here -
⇗ https://msfn.org/board/topic/176687-seac...comment=1162644

e1d5132 - XP driver for 218-V



infuscomus has attached files to this post
#1609 diderius6 "With UEFI tool I copied the whole Intel Gigabyte Lan file *.ffs
from GUIDE 4953F720-006D-41F5-990D-0AC7742ABB60 of the Asus z87i-Pro board Bios
and replace with it the same one in the Apex X Bios."

Ok, this does not change anything. PXE-04 message again
and again yellow questionmark for the now "i217-V" in the device manager under XP and Win7, all driver tested,
Dietmar

EDIT: I flashed all back to my original, own Bios with DSDT mod for USB3.
Now the lan device is shown again as i219-V,
works under Win7 and XP shows yellow exclamationmark.
#1610 diderius6 ⇗ @infuscomus

Easy *.inf mod does not help in XP for lan i219-V with driver bearwindows 808615A1_x86.7z.zip.
It installs and shows then code 10
Dietmar

PS: I modded this driver from Bearwind in exact the same way as he did,
6 places different, just edit *.inf file and A115 (i218-V2) => B815 (i219-V2) and checksum.
In XP and in Win7 this driver is loaded, but then again in both code 10.

This means: The hardware for i217, i218 is compatible but not with i219.
#1611 diderius6 In 2016, they also cant start the i219 driver in Linux.

"The e1000e driver is the one that can run the I2xx intel Ethernet Controllers. And the latest e1000e driver (as of this writing) is capable of running the I219 chip.

The The NVM Checksum Is Not Valid message during boot is what was preventing the older drivers from being loaded. On other OSes (notably MS windows) that error is ignored. But Linux appears to be stricter.

NVM is a ROM (read only memory) in the chip, which undergoes a checksum, and the older version of the e1000 driver was not aware of the NVM contents of the newer chips. Since the card works on other OSes that ignore the error another possibility could have been to force the driver to ignore the error."

Dietmar
#1612 diderius6 ⇗ @AddFun

do you get my message

Dietmar
#1613 AddFun Thanks!
#1614 canonkong ⇗ @diderius6
Did you try i218 GBE? Or used ID replace to test it?
#1615 XPLAKE8175 ⇗ @diderius6
Your ACPI.sys gives the 0x00000D1 BSOD after txt mode. ACPI and ACPI Multiprocessor gives the same error.
#1616 XPLAKE8175 Advanced error information is:
ACPI.sys - Address F7359AB6 base at F7346000, Datestamp 424d8208
#1617 XPLAKE8175 Now I'm installing XP in a fat formatted drive on same laptop
#1618 diderius6 ⇗ @XPLAKE8175

The BSOD 0x000000D1 acpi.sys happens, because a PCI device is not handled correct from acpi.sys.

"The Advanced Configuration and Power Interface (ACPI) BIOS on this computer contains a namespace object that is not a PCI device. However, Windows assumes that the device is a PCI device incorrectly. Therefore, if Windows tries to access the PCI configuration space for the device, you receive a "STOP 0x000000D1" error message.
This issue occurs because of an error in the Acpi.sys system driver. The Acpi.sys system driver returns an incorrect flag that causes the device to be regarded as a PCI device instead of a child of the PCI bus. Therefore, the device may not function correctly when the operating system tries to access it by using a special function."

Disable all devices in Bios, that you dont need for install
Dietmar

PS: When this BSOD appears after XP install, it can help when you boot the compi in Safe Mode (F8)
because then only important drivers are loaded.
#1619 diderius6 ⇗ @canonkong
i218 I do not test until now.
When I change only the DEV_15B8 => DEV_153B in GBE ( means i219-V => i217-V)
at once after reboot appears the message about PXE 4 error,
which means, that the original ID is safed at other place(s?)
in Bios too
Dietmar
#1620 infuscomus ⇗ @XPLAKE8175

Do you get D1 BSOD during textmode setup? or after reboot?

 

Page 109

#1621 diderius6 From Intel itself:

"Design is Highly Compatible with the
Intel® I218 Ethernet Connection: The
Intel® Ethernet Connection I219 is highly
compatible with the Intel® Ethernet
Connection I218, making new designs
easy to generate while gaining the improvements
of features now available
on the Intel® Ethernet Controller I219."

Hm, so next try with i219 => i218

Dietmar

EDIT: In porting the i219 to Mac OS, all the devices i217, i218, i219 look very similar.

⇗ https://github.com/al3xtjames/IntelMausi...0(original).cpp
#1622 diderius6 I have the board Asus Z97-DELUXE/USB 3.1
which has the i218-V chip,
so next test extracting whole real GBE from Z97 board and flash to the Apex X board i219-V => i218-V can start
Dietmar

PS: By the way I noticed, that Intel sells the chip WGI219V also as extra device in the same package size.

#1623 diderius6 Ok, exact the same happens as before.
After changing the whole GBE region
first appears the PXE-4 error,
than under Win7 and XP yellow exclamationmark with code 10,
now for lan device i218-V (DEV_15A1) which is exact the device
for what the bearwind driver XP was modded for
Dietmar

PS: The only(?) problem seems to be this errormessage PXE-4.
#1624 diderius6 I just notice,
that with RW-Everything you can EDIT the
pci configuration space of the i219-v
tomorrow I try
Dietmar

#1625 canonkong ⇗ @diderius6
Use UEFITOOL open your needed bios, search 42 6F 6F 74 20 41 67 65 6E 74, find it out and right click mouse than Extract Body, use SetDevID to midify the ID, than replace it back the same place. Save the bios. When you finish this, use UBU to checksum the bios first than you can flash it.
I think you meet PXE erro, maybe you have not checksum the bios.
My board with i219-v repalce i219-LM, work very well.
⇗ http://uploadoss.smxdiy.com/forum/201802/08/135216l6gt77a2fx71f967.png
⇗ http://uploadoss.smxdiy.com/forum/201802/08/143055ilplgvwbdp6lbn15.png
#1626 diderius6 ⇗ @canonkong

I just extract with Uefitool this file you told me to look for.
When I compare it with Winhex I found,
that it is exact the file, that I extracted 2 days before and where
I use SetDevID from UBU on it.
And this I flashed back,
Dietmar

PS: Yes, I have not tested checksum. But I think, that in the PCI space the nic still tells,
that it has the device ID from before.
#1627 XPLAKE8175 ⇗ @infuscomus
after reboot. I get this error by installing XP on NTFS
#1628 infuscomus ⇗ @XPLAKE8175

There is a backup copy of acpi.sys located in SP3.CAB and/or DRIVER.CAB - check both

extract the CAB file with 7zip into a separate folder

replace original acpi.sys with patched version

download cabpack 1.4 - ⇗ https://www.techspot.com/downloads/7104-cabpack.html
re-compress CAB file and replace the old one

rebuild XP ISO with nlite
#1629 XPLAKE8175 I installed XP without external devices except usb and it reached to the GUI mode
#1630 XPLAKE8175 PC copied the modded acpi.
#1631 XPLAKE8175 Now I got to the GUI mode. After GUI mode it gives the pre-text mode A5 error.
#1632 infuscomus ⇗ @XPLAKE8175

BSOD A5 D1 same as before?

can you post a checksum of your acpi.sys in XP /windows/system32/drivers
#1633 XPLAKE8175 I installed XP successfully. Now I'm installing Windows 10 alongside windows XP. ACPI detects my battery life successfully. There is one problem that I can't hibernate Windows XP
#1634 diderius6 ⇗ @canonkong

Even I try everything, to mod correct the device i219-V => i218-V
this does not work.
I get the same error message at boottime after flashing whole Bios with nice
Epromer Revelprog IS

PXE-E04: Error reading PCI configuration space.

I updated via UBU tool everything for lan, UBU tool tells always success.
The checksums are all ok.
This seems to be a hardware problem, but I think it is only one thing,
which device "i218-V" is asked for, but correct answer can give only i219-V.
Here I notice (see below) that there are a lot of 0x00000000
which are filled with other numbers at the other nic on this board 5 Gigabit LAN AQUANTIA AQC108.

I also noticed with RW-everything (PCI), that the DEV_ ID has changed to the wished
value VEN_8086&DEV_15A1 (i218-V (vers2)).
So, on PCI space now this DEV ID is used, but does not help.

Here is the text from RW everything about this "i218-V" nic now
;Bus 00, Device 1F, Function 06 - Intel Corporation Ethernet Controller
;Device/Vendor ID 0x15A18086
;Revision ID 0x00
;Class Code 0x020000
;Cacheline Size 0x00
;Latency Timer 0x00
;Interrupt Pin INTA
;Interrupt Line IRQ16
;BAR1 0xDFA00000
;BAR2 0x00000000
;BAR3 0x00000000
;BAR4 0x00000000
;BAR5 0x00000000
;BAR6 0x00000000
;Expansion ROM 0x00000000
;Subsystem ID 0x85C41043

Dietmar
#1635 infuscomus ⇗ @diderius6

just curious, does the most recent version XP driver in post #1599 work? or code 10?

 

Page 110

#1636 diderius6 ⇗ @canonkong
I did the following:
In this modded Bios I only change GBE
against my original GBE (i219-v) and reboot.
No message about PXE 4 error now and internet works in Win7 (shows i219 device).
This simply means, it is enough to mod the *.gbe region.
Ok, next test, I change in my original *.gbe region
only at 4 places ID B815 => A115
Again message PXE 4 error, device "i218" is shown, not works.
Hm, this time I think, the checksum of *.gbe is not correct.
But I have no idea, how to fix its checksum.
I would be happy, if somebody here can fix the checksum for this *.gbe file for me
Dietmar

EDIT: Seems, that i219 has other hardware than i218, despite what Intel says.
i218-V and i219-V are not compatible.

EDIT2: I test the same on the Asrock k6 board. It has i211 and i219-V nics. After changing its GBE against the one from the z97 board (i218-V) no error message appears, but I also cant install the driver. XP tells code 10 and win7 tells code 31.



diderius6 has attached files to this post
#1637 diderius6 ⇗ @infuscomus

"just curious, does the most recent version XP driver in post #1599 work? or code 10?"

Code 10 ^^

Dietmar
#1638 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #1455

Another idea would be: The DSDT table can be seen in (ACPI only) XP registry
and also been edited there. But on next boot the Bios loads
its original own DSDT. If we just can stop writing of Bios its own DSDT to the registry again,
it would be done


I feel that it is time to remind about my util called "acpi patcher" )
it is dsdt/ssdt table manipulation tool before OS loading, even for winxp textmode setup
#1639 diderius6 ⇗ @Mov AX, 0xDEAD
Yes, this is a nice tool. Please write a Tutorial,
which can be used on other compis also. May be your modded DSDT can stay in registry of XP?
For me it is now no problem just to edit DSDT and to flash it to Bios.
But I also learned, that manipulating Bios is always a risk
Dietmar

PS: Have you updated your to do list for XP from page 12 here? USB on Intel chipsets is done .
#1640 daniel_k ⇗ @diderius6

Unfortunately I'm not familiar with those modules, you need to ask someone who is used to UEFI.

In the mean time, I'm sharing my modded version of RSTe, which works just fine with consumer chipsets in AHCI and RAID modes.

Being much newer than 11.2 (2012), this one is much more compatible with new chipsets.

It's version 4.6.0.1085, which originally doesn't work because of missing imports. Seems fairly stable so far and nice performer.

Supports SSD's immediate standby for proper shutdown operation, not supported by versions older than 3.5.1 (RSTe storport) and 11.2.

The only issue it that HDDs spin down during Windows restart.

Could you please also test it? It's 32-bit only, for now, and automatically installs storport.sys.
#1641 infuscomus ⇗ @daniel_k

is this generic? or just newer chipsets?

Zitat von ⇗ daniel_k im Beitrag ¶ #1640
which originally doesn't work because of missing imports.


concerning missing imports, would it be possible to fix imports for newer intel lan driver for 219-V for windows 7 to make it compatible with XP?
#1642 daniel_k
Zitat von ⇗ infuscomus im Beitrag ¶ #1641
@daniel_k

is this generic? or just newer chipsets?

Generic.

Zitat
concerning missing imports, would it be possible to fix imports for newer intel lan driver for 219-V for windows 7 to make it compatible with XP?


Unfortunately, no.

Only certain driver classes might be compatible across diferent Windows versions, being storage one of them, as long as there are no missing imports.

NDIS, WLAN, Graphics, HID, HDAudio drivers are just impossible.

Even USB XHCI drivers can be incompatible even if there are no missing imports: AMD host drivers newer than the one I've modded will install and aparently work just fine, but will crash when shutting down Windows because it doesn't properly support XP power management.

#1643 diderius6 ⇗ @daniel_k

I test your driver RSTe_4.6.0.1085_MOD.rar on the asrock fatal1ty z370 gaming k6 board.
It works:))! I noticed no strange behavior about harddisk spindown.

I test harddisk WD 2TB
ssd disk Samsung 860
nvme boot XP via disk Intel Optane.

I noticed, that also the filter driver iastorF.sys is installed for all the devices above and starts.
It is the Intel version of TRIM.
With cristaldiskinfo I can see, that TRIM is supported but I do not know, how to test under XP,
if TRIM works.
I also noticed, that nvme boot of XP is still possible with the latest storport.sys driver version 5.2.3790.4485.

Nice driver , generic for all Intel ahci
Dietmar

PS: On harddisk, the speed is about the same as with the old ahci 1006 driver from Intel.
On SSD your driver is about 4% faster than the old one.
#1644 canonkong ⇗ @daniel_k
For AMD USB XHCI, I tested all usb drivers, only Etron usb driver can work very well. Maybe other driver need to find out the breakpoint and use nop to stop it.
Like this: ⇗ https://forum.videohelp.com/threads/390651-Way-to-make-Intel-UHD-620-graphics-driver-to-works-in-windows-7-(no-crash)
#1645 infuscomus ⇗ @diderius6

have you made any progress on getting XP UEFI to work?
#1646 diderius6 ⇗ @infuscomus

I read only a little about XP UEFI,
but have not tried.
First I have to do some ground base work,
what is known and what not.
An interesting message was, that
the XP SP2 32 bit Media version from 2005
can be booted with the bootloader from Vista
Dietmar
#1647 infuscomus ⇗ @diderius6 ⇗ @skullteria ⇗ @kukonosau

I attempted to patch acpi.sys 5048 64 bit

Since I did not have symbols, I made guesses based on similarity comparisons in the assembly.

I don't know how well I did.

Let me know if it works.



infuscomus has attached files to this post
#1648 Mov AX, 0xDEAD
Zitat von ⇗ diderius6 im Beitrag ¶ #1643

With cristaldiskinfo I can see, that TRIM is supported but I do not know, how to test under XP,
if TRIM works.


same as for win7 - trimcheck
to force generate trim command to drive i used in past TxBENCH (manual with GUI) and O&O Defrag in CLI mode (scheduled at booting time of winxp)
#1649 kukonosau Thanks. But "acpi.sys is corrupted" or BSOD. I don't compression archive SP2.CAB, I put file acpi.sy_ in folder AMD64.
#1650 infuscomus ⇗ @kukonosau

I did not get "acpi.sys is corrupted" error

make sure to replace acpi.sy_ in amd64 with new version

grab a clean x64 iso here
⇗ https://the-eye.eu/public/MSDN/Windows%20XP/

 


Part 1    ►   Part 2   ►    Part 3    ►   Part 4   ►   Part 5