Damnation Posted February 9 Share Posted February 9 @Dietmar Looking at the logs, is it shutting down because it thinks the CPU is too hot? I'm probably misreading that though. Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted February 10 Author Share Posted February 10 (edited) 12 hours ago, Dietmar said: @Mov AX, 0xDEAD Now here are the correct Acpi tables from the HP 255 g6 Bios F31 with CPU E2-9000e and Graphik R2 all on one chip. Crazy, RW Everything has had a problem to extract them correct and so me, @Dietmar Some strange with second PRT4: Quote ba91ca22: Device(PRT3)OSNotifyCreate: 8A5931C0 (PRT3) = 00000103 ba91ca29: { ba91ca29: Name(_ADR,0x3) ba91ca30: Method(_UPC,0x0) ba91ca3f: Method(_PLD,0x0) ba91ca4e: } ba91ca4e: Device(PRT7)OSNotifyCreate: 8A593320 (PRT7) = 00000103 ba91ca55: { ba91ca55: Name(_ADR,0x7) ba91ca5c: Method(_UPC,0x0) ba91ca6b: Method(_PLD,0x0) ba91ca7a: } ba91ca7a: Device(PRT4)ACPI0007 def #1 OSNotifyCreate: 8A593480 (PRT4) = 00000103 ba91ca7a: { ba91ca7a: Device(PRT4)ACPI0007 def #1 OSNotifyCreate: 8A5934C4 (PRT4) = 00000103 ba91ca7a: { ba91ca7a: Device(PRT4)ACPI0007 def #1 OSNotifyCreate: 8A593508 (PRT4) = 00000103 DSDT: Quote Device (PRT7) { Name (_ADR, 0x07) // _ADR: Address Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { Return (SUPC (One, 0x03)) } Method (_PLD, 0, NotSerialized) // _PLD: Physical Location of Device { Return (SPLD (0x03, One)) } } Device (PRT4) { Name (_ADR, 0x04) // _ADR: Address Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities { Return (SUPC (Zero, Zero)) } } PRT4 was processed few time in loop and no Name(_ADR,0x4) in log There is two PRT4 in dsdt: 1) EHC1.RHUB.GHUB.PRT4 Device (EHC1) { Name (_ADR, 0x00120000) Device (RHUB) { Name (_ADR, Zero) // _ADR: Address Device (GHUB) { Device (PRT1)... Device (PRT2)... Device (PRT3)... Device (PRT4) { Name (_ADR, 0x04) 2) XHC0.RHUB.PRT4 Device (XHC0) { Name (_ADR, 0x00100000) Device (RHUB) { Name (_ADR, Zero) Device (PRT1) Device (PRT5) Device (PRT2) Device (PRT6) Device (PRT3) Device (PRT7) Device (PRT4) { Name (_ADR, 0x04) Device (PRT8) 1) Try to remove ACPI0007 patch from acpi sources (namedobj.c) 2) Try to remove second PRT4 definition from DSDT Edited February 10 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted February 10 Author Share Posted February 10 On 2/9/2024 at 4:52 AM, Dietmar said: @Mov AX, 0xDEAD Do you have an Debug acpi.sys together with its acpi.pdb for XP SP3, that can look deeper into this, why the videodriver is not loaded, @Dietmar There is no new acpi.sys updates from me, v7 is still last, compile yourself as usual Seems videodriver issue is not related with acpi, i see error on sxs.dl Quote SXS: BaseSrvSxsGetActivationContextGenerationFunction: LdrLoadDll(C:\WINDOWS\system32\sxs.dll) failed 0xc0000142 SXS: BasepCreateActCtx() Calling csrss server failed Link to comment Share on other sites More sharing options...
Dietmar Posted February 10 Share Posted February 10 (edited) @Mov AX, 0xDEAD Can this error "SXS: BaseSrvSxsGetActivationContextGenerationFunction: LdrLoadDll(C:\WINDOWS\system32\sxs.dll) failed 0xc0000142 SXS: BasepCreateActCtx() Calling csrss server failed" happen, because there is an error in the Thermal Device, that tells, that the temperature is too high? When I install Minlogon.exe from XP Embedded instead of winlogon.exe, can I just disable this Thermal acpi device in Device Manager? Or is it even possible to disable this Thermal acpi device in Registry? thanks a lot Dietmar PS: Is there a possibility with Windbg to look deeper, why the sxs.dll fails to load? Edited February 10 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted February 10 Share Posted February 10 I notice, that on the Lenovo m625q where XP SP3 with full Acpi Multiprocessor installs, there is no Thermal Device at all, as I can see in Device Manager under running XP SP3 under System Devices. But on the HP 255 g6 there are 2 Thermal Devices, as I can see in Device Manager under Win7 SP1. ACPI\THERMALZONE\TSZ0 ACPI\THERMALZONE\TSZ2 It is under ACPI_HAL\PNP0C08 (motherboard devices). Is it possiple to tell XP in TXT Setup, not to install those Thermal Devices or is the only way to delete those 2 Thermal Devices in its DSDT Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted February 10 Share Posted February 10 (edited) I make a strange discovery on the HP 255 g6 notebook. I read its full Bios out with EEpromer. Then, with UEFI Tool, I extract its DSDT, delete the 2 Thermalzone Devices TSZ0 and TSZ2. And the whole procedure, from where Thermalzone was called in DSDT. Put this DSDT back into its original Bios and flash via EEPromer Revelprog IS. Check everything 2 times. All seems ok. But then, some LED blinks on the notebook, but screen stays dark. I repeat the same with the original F31 Bios from HP homepage. Delete also TSZ0 and TST2 and the whole procedure, that called them. Same result. I also put out Bios batterie, does not help. This calling procedure is not present on the Lenovo m625q, so I thought, it can be deleted. But "VGA" appears in this procedure. Again, Notebook shows some LEDs blinking, but no screen. Then, I flash back the original F31 Bios from HP homepage. When I switch on the compi, I get a small box, where something tells me, that it is flashing parts of Bios back. Hm, is the crazy TPM device doing that? For me it is strange as much as possible, that if the screen can be seen in the very first switch on notebook, depends on DSDT. Now I think, that HP installed some mechanismus, to prevent editing Bios. Next step is, to load DSDT only at boottime of XP Dietmar This is, what I delete in DSDT Scope (_TZ) { ThermalZone (TSZ0) { Name (REGN, "Processor Thermal Zone") Method (FMAX, 0, NotSerialized) { Return ((\_SB.PCI0.LPC0.EC0.FNMX * 0x64)) } Method (FMIN, 0, NotSerialized) { Return ((\_SB.PCI0.LPC0.EC0.FNMN * 0x64)) } Method (FRSP, 0, NotSerialized) { Return ((\_SB.PCI0.LPC0.EC0.FRPM * 0x64)) } Method (FSSP, 1, NotSerialized) { \_SB.PCI0.LPC0.EC0.FNSW = One \_SB.PCI0.LPC0.EC0.FWPM = (!Arg0 & One) \_SB.PCI0.LPC0.EC0.FNSW = Zero } Method (_CRT, 0, Serialized) // _CRT: Critical Temperature { Return (0x1388) } Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { If ((SR6W == 0x6C)) { Return (0x0E62) } Else { Return (0x0E8A) } } Method (_TMP, 0, Serialized) // _TMP: Temperature { If ((\_SB.PCI0.LPC0.EC0.CPUT > CMST)) { CMST = \_SB.PCI0.LPC0.EC0.CPUT } Return ((0x0AAC + (\_SB.PCI0.LPC0.EC0.CPUT * 0x0A))) } Method (_PSV, 0, Serialized) // _PSV: Passive Temperature { Return ((0x0AAC + (\_SB.PCI0.LPC0.EC0.CPTP * 0x0A))) } } ThermalZone (TSZ2) { Name (BOTP, Zero) Method (_HOT, 0, Serialized) // _HOT: Hot Temperature { Return (0x0E30) } Method (_TMP, 0, Serialized) // _TMP: Temperature { Local1 = (FFAL | PDPN) If ((Local1 || BOTP)) { Return (0x0E30) } Else { Return (0x0B74) } } } } Scope (_SB.PCI0.LPC0.EC0) { OperationRegion (DBG1, SystemIO, 0xB0, 0x02) Field (DBG1, WordAcc, NoLock, Preserve) { PB0, 8, PB1, 8 } Method (_Q11, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x11 Notify (^^^VGA.LCD, 0x87) // Device-Specific } Method (_Q12, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x12 Notify (^^^VGA.LCD, 0x86) // Device-Specific } Method (_Q13, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x13 If (ECON) { THSD = One Notify (\_TZ.TSZ0, 0x80) // Thermal Status Change } } Method (_Q14, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x14 If (ECON) { If (!FANE) { FFAL = One } Notify (\_TZ.TSZ2, 0x80) // Thermal Status Change } } Method (_Q15, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x15 If (IGDS) { Notify (LID, 0x80) // Status Change } } Method (_Q1D, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x1D Local0 = PCVL /* \_SB_.PCI0.LPC0.EC0_.PCVL */ \_PR.C000.PPCV = Local0 Notify (\_PR.C000, 0x80) // Performance Capability Change } Method (_Q1E, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x1E ^^^VGA.AFN2 (DTCL, 0x02) } Method (_Q24, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x24 Debug = "=====QUERY_24=====" Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change } Method (_Q25, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x25 Debug = "=====QUERY_25=====" Sleep (0x03E8) Notify (BAT1, 0x81) // Information Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change } Method (_Q26, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x26 Local0 = (CPBC & 0x80) If ((Local0 == 0x80)) { PB1 = 0x48 PB0 = 0xC7 } Else { PB1 = 0x49 PB0 = 0xC7 } } Method (_Q37, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x37 Debug = "=====QUERY_37=====" Notify (ACAD, 0x80) // Status Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change ^^^^WMID.WEI1 = 0x03 ^^^^WMID.WED1 = Zero Notify (WMID, 0x80) // Status Change PWRS = One } Method (_Q38, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x38 Debug = "=====QUERY_38=====" Notify (ACAD, 0x80) // Status Change Sleep (0x03E8) Notify (BAT1, 0x80) // Status Change PWRS = Zero } Method (_Q40, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x40 If ((((OSYS == 0x07DC) || (OSYS == 0x07DD)) || (OSYS == 0x07DF))) { Notify (WLBU, 0x80) // Status Change } Else { } } Method (_Q42, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x42 ^^^^WMID.ESDT () } Method (_Q44, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x44 If (ECON) { THSD = One \_TZ.TSZ2.BOTP = One Notify (\_TZ.TSZ2, 0x80) // Thermal Status Change } } Method (_Q45, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x45 Debug = "=====QUERY_45=====" If (ECON) { PDPN = One Notify (\_TZ.TSZ2, 0x80) // Thermal Status Change } } Method (_Q4B, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { P80H = 0x4B ECSF = One CFBE = One } } Edited February 10 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted February 10 Share Posted February 10 (edited) With DSDT.aml now loaded at boottime of XP SP3, ThermalZone entries deleted in DSDT, now no error message about too hot cpu. But still the same Bsod very late in boot process, that sxs.dll failed 0xc0000142 Dietmar Edited February 10 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted February 11 Share Posted February 11 (edited) @Mov AX, 0xDEAD Hi, I think, that I understand, from what this sxs.dll failed 0xc0000142 comes. It has nothing to do with the HP notebook. In 2008 I build a generic XP SP1, that can boot any compi. And there I noticed a funny thing. This works only, until it comes to boot with winlogon. So I changed this winlogon agains minlogon from XP Embedded. And now the same happens: Because I build this XP SP3 on the Lenovo m625q with the same cpu on a chip, it is NOT complete identic hardware with the HP 255 g6. And exact this happens, when winlogon tries to start. May be there would be a chance, when I succeed to transfer this XP to the HP direct after TXT-Setup of XP Dietmar EDIT: For the HP 255 g6 notebook this means, that there are for XP SP3 incompatible settings for the graphikcard in Bios. And an external graphikcard is for this HP notebook without sense. Process.Thread : 00000194.00000198 (csrss.exe) is trying to create key: ObjectAttributes = BA2A790C The caller should not rely on data written to the registry after shutdown... *** Fatal System Error: 0x000000b4 (0x8A5F1108,0x8A601000,0x8A6FF000,0x00050000) 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 Feb 11 19:33:29.468 2024 (UTC + 1:00)), ptr64 FALSE Loading Kernel Symbols ............................................................... ................. Loading User Symbols ............. Loading unloaded module list ................ ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck B4, {8a5f1108, 8a601000, 8a6ff000, 50000} Probably caused by : win32k.sys ( win32k!DrvDriverFailure+1af ) Followup: MachineOwner --------- nt!RtlpBreakWithStatusInstruction: 8052b724 cc int 3 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* VIDEO_DRIVER_INIT_FAILURE (b4) The system was not able to go into graphics mode because no display drivers were able to start. This usually occurs if no video miniport drivers load successfully. Arguments: Arg1: 8a5f1108, Driver failure data. Arg2: 8a601000, Graphics device list. Arg3: 8a6ff000, Graphics device list data. Arg4: 00050000, Possible cause of the bugcheck. Debugging Details: ------------------ DEFAULT_BUCKET_ID: DRIVER_FAULT BUGCHECK_STR: 0xB4 PROCESS_NAME: csrss.exe ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) x86fre LAST_CONTROL_TRANSFER: from 804f8e95 to 8052b724 STACK_TEXT: ba2a77dc 804f8e95 00000003 ba2a7b38 00000000 nt!RtlpBreakWithStatusInstruction ba2a7828 804f9a80 00000003 ba2a7d24 bbdd15dc nt!KiBugCheckDebugBreak+0x19 ba2a7c08 804f9fcf 000000b4 8a5f1108 8a601000 nt!KeBugCheck2+0x574 ba2a7c28 bf91cfa7 000000b4 8a5f1108 8a601000 nt!KeBugCheckEx+0x1b ba2a7d30 ba2a7d64 0015fd98 bf8ab5af 00000001 win32k!DrvDriverFailure+0x1af WARNING: Frame IP not in any known module. Following frames may be wrong. ba2a7d48 bf8ab620 ba2a7d64 80541818 00050000 0xba2a7d64 ba2a7d50 80541818 00050000 00000060 00000064 win32k!NtUserInitialize+0x87 ba2a7d50 7eb3e514 00050000 00000060 00000064 nt!KiSystemServicePostCall 0015fd80 75b686df 75b68669 00050000 00000060 ntdll!KiFastSystemCallRet 0015fdb0 75b43472 00000000 00000000 0016274d winsrv!NtUserInitialize+0xc 0015fe20 75b4301b 0016272a 00162731 00000003 CSRSRV!CsrLoadServerDll+0x1a0 0015ff74 75b430f3 0000000a 001624f0 7eb3dc9e CSRSRV!CsrParseServerCommandLine+0x2d6 0015ff88 4a68115d 0000000a 001624f0 00000005 CSRSRV!CsrServerInitialization+0x95 0015ffa8 4a6818d7 0000000a 001624f0 0016251c csrss!main+0x4f 0015fff4 00000000 7ffde000 000000c8 000001ad csrss!NtProcessStartup+0x1d2 STACK_COMMAND: kb FOLLOWUP_IP: win32k!DrvDriverFailure+1af bf91cfa7 90 nop SYMBOL_STACK_INDEX: 4 SYMBOL_NAME: win32k!DrvDriverFailure+1af FOLLOWUP_NAME: MachineOwner MODULE_NAME: win32k IMAGE_NAME: win32k.sys DEBUG_FLR_IMAGE_TIMESTAMP: 5c93004e FAILURE_BUCKET_ID: 0xB4_win32k!DrvDriverFailure+1af BUCKET_ID: 0xB4_win32k!DrvDriverFailure+1af ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:0xb4_win32k!drvdriverfailure+1af FAILURE_ID_HASH: {28d7d534-884c-fc26-c175-02817df2d217} Followup: MachineOwner --------- Edited February 11 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted February 12 Share Posted February 12 (edited) Hi, I want to make a new, working DSDT for the HP 255 g6 board. Simply kicking that part out, which gives the Bsod for the VGA device. Therefor I use the DSDT loader at boot time from @Mov AX, 0xDEAD. So, only question is, what I have to kick out in the DSDT from the HP. Here I put into also the working DSDT from Lenovo. A lot of parts in their DSDT for the VGA device are the same, but for example a strange UBBL device appears only in DSDT VGA device of HP. So, any idea is welcome. New DSDT is prepared in a second for testing Dietmar DSDT for HP 255 g6 (Bsod VGA) and Lenovo m625q (works) https://ufile.io/sv3fao82 Edited February 12 by Dietmar Link to comment Share on other sites More sharing options...
SEDANEH Posted February 14 Share Posted February 14 I apologize for coming back. But I need Windows XP that can be installed on Asus z790, I don't know how to use this methods Previously, I installed Windows XP with SATA on a Sony laptop vpcf215/fd with 2nd generation CPU core i7 2630 Of course, normal Windows gave error 7B, but Windows XP SATA was installed but this mainbord is not allow to install windows xp any way. I think the motherboard resists the installation of Windows XP due to the lack of an IDE connector. What do you think? Because the motherboard resists Windows XP SATA even version 2023 with A5 and 7B errors. Link to comment Share on other sites More sharing options...
Damnation Posted February 15 Share Posted February 15 @SEDANEH No, the lack of an IDE connector doesn't matter. You'll need to learn to use the methods we showed you, or you can use the ISO that dietmar made for you. We're willing to help you, just ask. 2 Link to comment Share on other sites More sharing options...
Dietmar Posted February 17 Share Posted February 17 @Mov AX, 0xDEAD I make a try with editing the DSDT table from the HP 255 g6. Then I try to load this edited table with your ACPI Patcher at boot time. But even with the smallest change in its DSDT I always get Bsod 0x7E (C0000005,..), meaning, that something is written at the wrong adress in memory. When I load its original dsdt.bin table, this Bsod does not appear. Then I make a try with using all the DSDT and SSDT tables from the Lenovo m625q. Same Bsod 0x7E (C0000005,..). When I also try to load the FACS table from Lenovo, I get message ACPI Patcher Error: FACS addr e7b44000 is in diff reserved memory Any idea, how to overcome this Bsod 0x7E (C0000005,..)? Dietmar PS: Here are the original and modded DSDT https://ufile.io/numho8vo Link to comment Share on other sites More sharing options...
Damnation Posted February 17 Share Posted February 17 @Dietmar Try the acpi table patcher included with agfm bundled with Easy2boot? I recall that it worked for me when I made a temporary table fix for ACPI0007 and CPU power. Link to comment Share on other sites More sharing options...
Dietmar Posted February 17 Share Posted February 17 @Damnation I just succeed to boot the HP 255 g6 with the DSDT and 4 SSDT from Lenovo to full Desktop, Acpi Multiprocessor . But no USB mouse, no keyboard^^ Dietmar Link to comment Share on other sites More sharing options...
Damnation Posted February 17 Share Posted February 17 @Dietmar Oh nice! thats good news! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now