Dietmar Posted April 12, 2022 Share Posted April 12, 2022 @Damnation Thanks for help also! Link to comment Share on other sites More sharing options...
daniel_k Posted April 12, 2022 Share Posted April 12, 2022 (edited) 21 hours ago, Mov AX, 0xDEAD said: this better: Quote elseif (! ((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI_DEVICE ) { // return STATUS_NOT_FOUND; } For now, this is the best workaround for non-PCI devices. Thanks to @Mov AX, 0xDEAD Please do a further research before trying to patch randomly the driver. Don't expect to get something to work reliably this way. I've just disassembled acpi.sys from Vista / Win7 and indeed, there is a PcisuppIsPciDevice function called before any calls to LinkNodeCrackPrt. PcisuppIsPciDevice does further validation of PCI devices. On XP, AcpiArbCrackPRT is called from AcpiArbFindSuitableRange and AcpiArbAddAllocation, Returning STATUS_NOT_FOUND for a non-PCI device is definitively the best approach and doesn't break the code that supports ISA devices. Edited April 12, 2022 by daniel_k Link to comment Share on other sites More sharing options...
daniel_k Posted April 12, 2022 Share Posted April 12, 2022 (edited) 21 hours ago, Mov AX, 0xDEAD said: @daniel_k Bad idea, GPIO is not pci device and have fixed IRQ Vector Problem is bugged acpi code, it should not call AcpiArbCrackPRT() for non-pci devices, or have check for non-pci inside AcpiArbCrackPRT() at least You're obviously correct. 7 hours ago, Dietmar said: @daniel_k @Mov AX, 0xDEAD @Damnation I just want to tell you, that deleting of every entry for the device GPIO in DSDT does not solve the problem. Still exact the same message about AcpiArbCrackPRT() and Bsod 0x7E, (0xC0000005, xxx, yyy, zzz) appears on Ryzen AM4 boards Yes, because the device still exists physically and is treated as a PCI device, the GPIO entries in DSDT do not cause the crash. Thanks for doing the tests, Dietmar! Edited April 12, 2022 by daniel_k Link to comment Share on other sites More sharing options...
daniel_k Posted April 12, 2022 Share Posted April 12, 2022 21 hours ago, Mov AX, 0xDEAD said: @daniel_k i dont understand idea, if you want keep original acpi 1.0b driver and patch instead tables - I'm not interested I mean that we could add support to all ACPI 2.0+ opcodes and treat them as NoOp (does nothing), if this makes any sense at all. Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 12, 2022 Author Share Posted April 12, 2022 1 hour ago, daniel_k said: For now, this is the best workaround for non-PCI devices. as i wrote before, this is not "best", we don't know how acpi driver set Flags for all devices, DEV_CAP_PCI_DEVICE may be not setted for all pci like devices, best ways: 1) using additional call to isPciDevice() instead direct flag check, isPciDevice look for _ADR method and parent bus, return FALSE if not 2) add AMDI0030 (and similar non-pci devices) to table AcpiInternalDeviceFlagTable[] to set flag DEV_CAP_ISA or new flag #define DEV_CAP_EXCLUDEFROMPRT 0x0000010000000000 add check for this flag to AcpiArbCrackPRT() Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 12, 2022 Author Share Posted April 12, 2022 1 hour ago, daniel_k said: I mean that we could add support to all ACPI 2.0+ opcodes and treat them as NoOp (does nothing), if this makes any sense at all. @daniel_k 1) New opcodes like concatenaterestemplate() used in_CRS, when you skip it -> wrong resource list returned to OS 2) My implementation/decompilation of new 13 acpi 2.0 commands is error-free :), we can use it same way as v.6666 Link to comment Share on other sites More sharing options...
Dietmar Posted April 12, 2022 Share Posted April 12, 2022 (edited) @Mov AX, 0xDEAD I got 5 compiler errors with only for this modded irqarb.c from Sources for XP SP1. Can you please tell me, what I have done wrong Dietmar irqarb.7z Edited April 13, 2022 by Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 13, 2022 Author Share Posted April 13, 2022 (edited) 18 minutes ago, Dietmar said: @Mov AX, 0xDEAD I got 5 compiler errors with only for this modded irqarb.c from Sources for XP SP1. Can you please tell me, what I have done wrong i can compile your irqarb.c without any errors 1>Linking Executable - nt\obj\i386\acpi.sys for i386 BUILD: Done Edited April 13, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Dietmar Posted April 13, 2022 Share Posted April 13, 2022 @Mov AX, 0xDEAD Crazy. Can you send me this modded acpi.sys for testing Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 13, 2022 Author Share Posted April 13, 2022 47 minutes ago, Dietmar said: @Mov AX, 0xDEAD Crazy. Can you send me this modded acpi.sys for testing Dietmar see PM Link to comment Share on other sites More sharing options...
Dietmar Posted April 13, 2022 Share Posted April 13, 2022 @Mov AX, 0xDEAD Thanks. I just set up whole new XP SP1 Sources, because I noticed, that also with the original files I get the same 5 errors, brrr.. Interesting, why this happens. Tomorrow I run a Beyond Compare 2 binary session, comparing each file from Sources with each other. This acpi.sys I try in few min Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted April 13, 2022 Share Posted April 13, 2022 @Mov AX, 0xDEAD Same Bsod as before, looks like a lot of more work Dietmar *** Assertion failed: PciInterfacesInstantiated *** Source File: c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c, line 3514 Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i i *** Assertion failed: pciInterface *** Source File: c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c, line 3520 Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i i PS: Unhandled Kernel Mode Exception Pointers = 0xBACC69D4 Code c0000005 Addr BA6C774A Info0 00000000 Info1 00000010 Info2 00000010 Info3 80AEBEFC *** Fatal System Error: 0x0000007e (0xC0000005,0xBA6C774A,0xBACC6E88,0xBACC6B84) 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 (Wed Apr 13 03:27:49.703 2022 (UTC + 2:00)), ptr64 FALSE Loading Kernel Symbols .................................... Loading User Symbols ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 7E, {c0000005, ba6c774a, bacc6e88, bacc6b84} *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+142 ) Followup: MachineOwner --------- nt!RtlpBreakWithStatusInstruction: 80ac37ec cc int 3 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e) This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Arguments: Arg1: c0000005, The exception code that was not handled Arg2: ba6c774a, The address that the exception occurred at Arg3: bacc6e88, Exception Record Address Arg4: bacc6b84, Context Record Address Debugging Details: ------------------ *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher bertragen. FAULTING_IP: ACPI!AcpiArbCrackPRT+142 [c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] ba6c774a ff5710 call dword ptr [edi+10h] EXCEPTION_RECORD: bacc6e88 -- (.exr 0xffffffffbacc6e88) ExceptionAddress: ba6c774a (ACPI!AcpiArbCrackPRT+0x00000142) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000000 Parameter[1]: 00000010 Attempt to read from address 00000010 CONTEXT: bacc6b84 -- (.cxr 0xffffffffbacc6b84;r) eax=bacc7008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8a4be0f0 edi=00000000 eip=ba6c774a esp=bacc6f50 ebp=bacc70a0 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+0x142: ba6c774a ff5710 call dword ptr [edi+10h] ds:0023:00000010=???????? Last set context: eax=bacc7008 ebx=00000000 ecx=0000bb40 edx=00000056 esi=8a4be0f0 edi=00000000 eip=ba6c774a esp=bacc6f50 ebp=bacc70a0 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+0x142: ba6c774a 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+142 [c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] ba6c774a ff5710 call dword ptr [edi+10h] BUGCHECK_STR: 0x7E DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) x86fre DPC_STACK_BASE: FFFFFFFFBACCC000 LOCK_ADDRESS: 80afd6c0 -- (!locks 80afd6c0) Resource @ nt!IopDeviceTreeLock (0x80afd6c0) Shared 1 owning threads Threads: 8a528da8-01<*> 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0x80afd6c0 Thread Count : 1 Thread address: 0x8a528da8 Thread wait : 0xd2 LAST_CONTROL_TRANSFER: from 80a30d7b to 80ac37ec STACK_TEXT: bacc70a0 ba709c2f 8a4be0f0 bacc70cc bacc70e0 ACPI!AcpiArbCrackPRT+0x142 [c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] bacc70d4 ba719e52 ba6ff200 bacc70f0 e134c934 ACPI!AcpiArbAddAllocation+0x9f [c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c @ 1474] bacc7158 ba708821 e1359d50 e134c934 ba6ff200 ACPI!ArbBootAllocation+0xf4 [d:\xpsp\base\ntos\arb\arbiter.c @ 1406] bacc716c ba719ed0 ba6ff200 e134c934 e134c934 ACPI!AcpiArbBootAllocation+0x4b [c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c @ 1850] bacc7188 80b6c111 ba6ff200 00000009 bacc71a8 ACPI!ArbArbiterHandler+0x54 [d:\xpsp\base\ntos\arb\arbiter.c @ 1562] bacc71c4 80b6d093 bacc71b8 00000000 80afd1c0 nt!IopBootAllocation+0xbb bacc7208 80b6d80b 00000004 e1359d00 e1350ef8 nt!IopAllocateBootResourcesInternal+0xc5 bacc7228 80d38c8b 00000004 8a4be0f0 e1350ef8 nt!IopAllocateBootResources+0x75 bacc724c 80b5653a 00000004 8a4be0f0 e1350ef8 nt!IopReportBootResources+0x65 bacc727c 80b5cb93 8a4e5598 800005f8 00000001 nt!PiQueryAndAllocateBootResources+0x150 bacc736c 80b5d26d 8a4e5598 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d bacc75c4 80a2cff0 8a4f1828 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd bacc7608 80a2d2fb 00000000 00000000 80091178 nt!PipDeviceActionWorker+0xc4 bacc7620 80d37f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b bacc7684 80d341f1 80085000 bacc76a0 00034000 nt!IopInitializeBootDrivers+0x39b bacc7830 80d31940 80085000 00000000 8a528da8 nt!IoInitSystem+0x82d bacc7dac 80bd81ac 80085000 00000000 00000000 nt!Phase1Initialization+0xb12 bacc7ddc 80ae4212 80d30e2e 80085000 00000000 nt!PspSystemThreadStartup+0x34 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 FAULTING_SOURCE_LINE: c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c FAULTING_SOURCE_FILE: c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c FAULTING_SOURCE_LINE_NUMBER: 3537 FAULTING_SOURCE_CODE: No source found for 'c:\acpi\acpi_sp1\base\busdrv\acpi\driver\nt\irqarb.c' SYMBOL_STACK_INDEX: 0 SYMBOL_NAME: ACPI!AcpiArbCrackPRT+142 FOLLOWUP_NAME: MachineOwner MODULE_NAME: ACPI IMAGE_NAME: ACPI.sys DEBUG_FLR_IMAGE_TIMESTAMP: 625620c2 IMAGE_VERSION: 5.1.2600.7777 STACK_COMMAND: .cxr 0xffffffffbacc6b84 ; kb FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+142 BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+142 ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:0x7e_acpi!acpiarbcrackprt+142 FAILURE_ID_HASH: {c4048bc0-99af-0abf-1d12-09bf78ac8e19} Followup: MachineOwner --------- Link to comment Share on other sites More sharing options...
Dietmar Posted April 13, 2022 Share Posted April 13, 2022 (edited) @Mov AX, 0xDEAD With new XP SP1 Sources I can compile acpi.sys. My acpi.sys, compiled under XP SP3, is a little bit smaller than yours but shows the same output in Windbg, and same Bsod. Microsoft (R) Windows Debugger Version 6.3.9600.17200 X86 Copyright (c) Microsoft Corporation. All rights reserved. Using NET for debugging Opened WinSock 2.0 Waiting to reconnect... Connected to target 192.168.2.104 on port 50000 on local IP 192.168.2.101. Connected to Windows XP 2600 x86 compatible target at (Wed Apr 13 04:02:38.046 2022 (UTC + 2:00)), ptr64 FALSE Kernel Debugger connection established. ************* Symbol Path validation summary ************** Response Time (ms) Location OK C:\Symbols ************* Symbol Path validation summary ************** Response Time (ms) Location OK C:\symbolssss Symbol search path is: C:\symbolssss Executable search path is: C:\Symbols Windows XP Kernel Version 2600 MP (1 procs) Checked x86 compatible Built by: 2600.xpsp.080413-2133 Machine Name: Kernel base = 0x80a02000 PsLoadedModuleList = 0x80b019e8 System Uptime: not available ************* Symbol Path validation summary ************** Response Time (ms) Location OK E:\binaries.x86fre\Symbols ************* Symbol Path validation summary ************** Response Time (ms) Location OK C:\Symbols ************* Symbol Path validation summary ************** Response Time (ms) Location OK C:\symbolssss OK C:\symbols OK C:\symbolss OK C:\symbolsss OK E:\binaries.x86fre\Symbols Deferred https://msdl.microsoft.com/download/symbols Deferred srv* Closing open log file otto7 Opened log file 'ottoPCI' Break instruction exception - code 80000003 (first chance) nt!DbgBreakPoint: 80ac37e0 cc int 3 kd> g MM: Loader/HAL memory block indicates large pages cannot be used for 80100000->8012777F MM: Loader/HAL memory block indicates large pages cannot be used for 810A6000->8258AFFF MM: Disabling large pages for all ranges due to overlap *** Assertion failed: PciInterfacesInstantiated *** Source File: c:\nt\base\busdrv\acpi\driver\nt\irqarb.c, line 3514 Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i i *** Assertion failed: pciInterface *** Source File: c:\nt\base\busdrv\acpi\driver\nt\irqarb.c, line 3520 Break repeatedly, break Once, Ignore, terminate Process, or terminate Thread (boipt)? i i PS: Unhandled Kernel Mode Exception Pointers = 0xBACC69DC Code c0000005 Addr BA6CABFC Info0 00000000 Info1 00000010 Info2 00000010 Info3 8A4EB2F8 *** Fatal System Error: 0x0000007e (0xC0000005,0xBA6CABFC,0xBACC6E90,0xBACC6B8C) 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 (Wed Apr 13 04:02:50.218 2022 (UTC + 2:00)), ptr64 FALSE Loading Kernel Symbols .................................... Loading User Symbols ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* Use !analyze -v to get detailed debugging information. BugCheck 7E, {c0000005, ba6cabfc, bacc6e90, bacc6b8c} *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 Probably caused by : ACPI.sys ( ACPI!AcpiArbCrackPRT+110 ) Followup: MachineOwner --------- nt!RtlpBreakWithStatusInstruction: 80ac37ec cc int 3 0: kd> !analyze -v ******************************************************************************* * * * Bugcheck Analysis * * * ******************************************************************************* SYSTEM_THREAD_EXCEPTION_NOT_HANDLED (7e) This is a very common bugcheck. Usually the exception address pinpoints the driver/function that caused the problem. Always note this address as well as the link date of the driver/image that contains this address. Arguments: Arg1: c0000005, The exception code that was not handled Arg2: ba6cabfc, The address that the exception occurred at Arg3: bacc6e90, Exception Record Address Arg4: bacc6b8c, Context Record Address Debugging Details: ------------------ *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 *** No owner thread found for resource 80afd640 EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - Die Anweisung "0x%08lx" verweist auf Speicher bei "0x%08lx". Die Daten wurden wegen eines E/A-Fehlers in "0x%081x" nicht in den Arbeitsspeicher bertragen. FAULTING_IP: ACPI!AcpiArbCrackPRT+110 [c:\nt\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] ba6cabfc ff5610 call dword ptr [esi+10h] EXCEPTION_RECORD: bacc6e90 -- (.exr 0xffffffffbacc6e90) ExceptionAddress: ba6cabfc (ACPI!AcpiArbCrackPRT+0x00000110) ExceptionCode: c0000005 (Access violation) ExceptionFlags: 00000000 NumberParameters: 2 Parameter[0]: 00000000 Parameter[1]: 00000010 Attempt to read from address 00000010 CONTEXT: bacc6b8c -- (.cxr 0xffffffffbacc6b8c;r) eax=bacc7070 ebx=00000000 ecx=0000bb40 edx=00000056 esi=00000000 edi=8a4a8b10 eip=ba6cabfc esp=bacc6f58 ebp=bacc70a0 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+0x110: ba6cabfc ff5610 call dword ptr [esi+10h] ds:0023:00000010=???????? Last set context: eax=bacc7070 ebx=00000000 ecx=0000bb40 edx=00000056 esi=00000000 edi=8a4a8b10 eip=ba6cabfc esp=bacc6f58 ebp=bacc70a0 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+0x110: ba6cabfc ff5610 call dword ptr [esi+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+110 [c:\nt\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] ba6cabfc ff5610 call dword ptr [esi+10h] BUGCHECK_STR: 0x7E DEFAULT_BUCKET_ID: NULL_CLASS_PTR_DEREFERENCE ANALYSIS_VERSION: 6.3.9600.17237 (debuggers(dbg).140716-0327) x86fre DPC_STACK_BASE: FFFFFFFFBACCC000 LOCK_ADDRESS: 80afd6c0 -- (!locks 80afd6c0) Resource @ nt!IopDeviceTreeLock (0x80afd6c0) Shared 1 owning threads Threads: 8a528da8-01<*> 1 total locks, 1 locks currently held PNP_TRIAGE: Lock address : 0x80afd6c0 Thread Count : 1 Thread address: 0x8a528da8 Thread wait : 0xd1 LAST_CONTROL_TRANSFER: from 80a30d7b to 80ac37ec STACK_TEXT: bacc70a0 ba70af2a 8a4a8b10 bacc70cc bacc70e0 ACPI!AcpiArbCrackPRT+0x110 [c:\nt\base\busdrv\acpi\driver\nt\irqarb.c @ 3537] bacc70d4 ba71a367 ba700f00 bacc70f0 e134c934 ACPI!AcpiArbAddAllocation+0x9d [c:\nt\base\busdrv\acpi\driver\nt\irqarb.c @ 1474] bacc7158 ba709c7d e1359d50 e134c934 ba700f00 ACPI!ArbBootAllocation+0xf5 [d:\xpsp1\base\ntos\arb\arbiter.c @ 1406] bacc716c ba71a3de ba700f00 e134c934 e134c934 ACPI!AcpiArbBootAllocation+0x49 [c:\nt\base\busdrv\acpi\driver\nt\irqarb.c @ 1850] bacc7188 80b6c111 ba700f00 00000009 bacc71a8 ACPI!ArbArbiterHandler+0x52 [d:\xpsp1\base\ntos\arb\arbiter.c @ 1562] bacc71c4 80b6d093 bacc71b8 00000000 80afd1c0 nt!IopBootAllocation+0xbb bacc7208 80b6d80b 00000004 e1359d00 e1350ef8 nt!IopAllocateBootResourcesInternal+0xc5 bacc7228 80d38c8b 00000004 8a4a8b10 e1350ef8 nt!IopAllocateBootResources+0x75 bacc724c 80b5653a 00000004 8a4a8b10 e1350ef8 nt!IopReportBootResources+0x65 bacc727c 80b5cb93 8a4bec78 800005f8 00000001 nt!PiQueryAndAllocateBootResources+0x150 bacc736c 80b5d26d 8a4bec78 00000000 00000000 nt!PipProcessNewDeviceNode+0xc9d bacc75c4 80a2cff0 8a4f1828 00000000 00000000 nt!PipProcessDevNodeTree+0x1bd bacc7608 80a2d2fb 00000000 00000000 80091178 nt!PipDeviceActionWorker+0xc4 bacc7620 80d37f53 00000000 00000006 00000000 nt!PipRequestDeviceAction+0x13b bacc7684 80d341f1 80085000 bacc76a0 00034000 nt!IopInitializeBootDrivers+0x39b bacc7830 80d31940 80085000 00000000 8a528da8 nt!IoInitSystem+0x82d bacc7dac 80bd81ac 80085000 00000000 00000000 nt!Phase1Initialization+0xb12 bacc7ddc 80ae4212 80d30e2e 80085000 00000000 nt!PspSystemThreadStartup+0x34 00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16 FAULTING_SOURCE_LINE: c:\nt\base\busdrv\acpi\driver\nt\irqarb.c FAULTING_SOURCE_FILE: c:\nt\base\busdrv\acpi\driver\nt\irqarb.c FAULTING_SOURCE_LINE_NUMBER: 3537 FAULTING_SOURCE_CODE: 3533: &classCode, 3534: &subClassCode, 3535: &parent, 3536: &routingToken, > 3537: &flags); 3538: 3539: if (!NT_SUCCESS(status)) { 3540: return STATUS_NOT_FOUND; 3541: } 3542: SYMBOL_STACK_INDEX: 0 SYMBOL_NAME: ACPI!AcpiArbCrackPRT+110 FOLLOWUP_NAME: MachineOwner MODULE_NAME: ACPI IMAGE_NAME: ACPI.sys DEBUG_FLR_IMAGE_TIMESTAMP: 62562bdf IMAGE_VERSION: 5.1.2600.1106 STACK_COMMAND: .cxr 0xffffffffbacc6b8c ; kb FAILURE_BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+110 BUCKET_ID: 0x7E_ACPI!AcpiArbCrackPRT+110 ANALYSIS_SOURCE: KM FAILURE_ID_HASH_STRING: km:0x7e_acpi!acpiarbcrackprt+110 FAILURE_ID_HASH: {a86b27ef-d17a-5a94-e401-dcba315598cf} Followup: MachineOwner --------- 0: kd> lm start end module name 80070000 80080a80 pci (deferred) 80100000 80127780 HAL3 (deferred) 80128000 80150000 kdcom (deferred) 80150000 8017a000 KDSTUB (deferred) 80a02000 80da3000 nt (pdb symbols) C:\Programme\Windows Kits\8.1\Debuggers\x86\sym\ntkrpamp.pdb\5B9E8A586D3D49D98927B5D5117577231\ntkrpamp.pdb ba448000 ba461b80 Mup (deferred) ba462000 ba48e980 NDIS (deferred) ba48f000 ba51b600 Ntfs (deferred) ba51c000 ba579000 UsbHub3 (deferred) ba579000 ba5be000 USBXHCI (deferred) ba5be000 ba5d4880 KSecDD (deferred) ba5d5000 ba5e6f00 sr (deferred) ba5e7000 ba606b00 fltMgr (deferred) ba607000 ba61c000 amd_sata (deferred) ba61c000 ba635000 storport (deferred) ba635000 ba646000 storahci (deferred) ba646000 ba66ba00 dmio (deferred) ba66c000 ba68ad80 ftdisk (deferred) ba68b000 ba6ba000 ucx01000 (deferred) ba6ba000 ba724b00 ACPI (private pdb symbols) C:\Programme\Windows Kits\8.1\Debuggers\x86\sym\acpi.pdb\4FEAB1D79A7443328F0D6EC5860CB1131\acpi.pdb ba725000 ba7a7000 WDF01_W8 (deferred) ba8a8000 ba8b6000 WDFLDR8 (deferred) ba8b8000 ba8c1300 isapnp (deferred) ba8c8000 ba8d2000 WppRecorder (deferred) ba8d8000 ba8e2580 MountMgr (deferred) ba8e8000 ba8f5200 VolSnap (deferred) ba8f8000 ba903000 amd_xata (deferred) ba908000 ba910e00 disk (deferred) ba918000 ba924180 CLASSPNP (deferred) ba928000 ba931000 USBD_W8 (deferred) bab28000 bab2e800 firadisk (deferred) bab30000 bab34d00 PartMgr (deferred) bacb8000 bacbb000 BOOTVID (deferred) bacbc000 bacbef80 ACPIEC (deferred) bada8000 bada9100 WMILIB (deferred) badaa000 badab700 dmload (deferred) bae70000 bae70d80 OPRGHDLR (deferred) 0: kd> !devnode 0 1 Dumping IopRootDeviceNode (= 0x8a4f1828) DevNode 0x8a4f1828 for PDO 0x8a4f1970 InstancePath is "HTREE\ROOT\0" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a54ac30 for PDO 0x8a54ad90 InstancePath is "Root\ACPI_HAL\0000" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4eb4d0 for PDO 0x8a5465d8 InstancePath is "ACPI_HAL\PNP0C08\0" ServiceName is "ACPI" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a5448a8 for PDO 0x8a4bf3d0 InstancePath is "ACPI\PNP0C14\AWW" ServiceName is "WmiAcpi" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a544778 for PDO 0x8a545f18 InstancePath is "ACPI\PNP0A08\0" ServiceName is "pci" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4beed8 for PDO 0x8a4a8f18 InstancePath is "ACPI\PNP0C0C\aa" State = DeviceNodeDriversAdded (0x303) Previous State = DeviceNodeInitialized (0x302) DevNode 0x8a4beda8 for PDO 0x8a4bc7e0 InstancePath is "ACPI\PNP0103\2&daba3ff&0" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4bec78 for PDO 0x8a4a8b10 InstancePath is "ACPI\AMDI0030\0" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) Problem = CM_PROB_DISABLED DevNode 0x8a4beb48 for PDO 0x8a4bbee8 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4bea18 for PDO 0x8a544288 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ecb18 for PDO 0x8a4a8d90 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ec9e8 for PDO 0x8a4eb6f8 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ec8b8 for PDO 0x8a4f41f8 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ec788 for PDO 0x8a545278 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ec658 for PDO 0x8a4ec170 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4ec528 for PDO 0x8a4bb4f0 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a479ed8 for PDO 0x8a4bb3d0 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a479da8 for PDO 0x8a4bb218 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a479c78 for PDO 0x8a4bb0f8 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a479b48 for PDO 0x8a4a92c0 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a479a18 for PDO 0x8a4a91a0 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4798e8 for PDO 0x8a4a9690 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4e5008 for PDO 0x8a4a9570 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4e5848 for PDO 0x8a4a9450 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4e5718 for PDO 0x8a544c48 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4e55e8 for PDO 0x8a544b28 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a4e54b8 for PDO 0x8a544a08 State = DeviceNodeUninitialized (0x301) Previous State = Unknown State (0x0) DevNode 0x8a54a8b8 for PDO 0x8a54aa18 InstancePath is "Root\dmio\0000" ServiceName is "dmio" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a54a660 for PDO 0x8a54a7c0 InstancePath is "Root\firadisk\0000" ServiceName is "FiraDisk" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a54a408 for PDO 0x8a54a568 InstancePath is "Root\ftdisk\0000" ServiceName is "ftdisk" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a54a1b0 for PDO 0x8a54a310 InstancePath is "Root\LEGACY_AFD\0000" ServiceName is "AFD" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f0ed8 for PDO 0x8a4f0038 InstancePath is "Root\LEGACY_BEEP\0000" ServiceName is "Beep" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f0c80 for PDO 0x8a4f0de0 InstancePath is "Root\LEGACY_CPUZ135\0000" ServiceName is "cpuz135" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f0a28 for PDO 0x8a4f0b88 InstancePath is "Root\LEGACY_DMBOOT\0000" ServiceName is "dmboot" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f07d0 for PDO 0x8a4f0930 InstancePath is "Root\LEGACY_DMLOAD\0000" ServiceName is "dmload" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f0508 for PDO 0x8a4f0668 InstancePath is "Root\LEGACY_FIPS\0000" ServiceName is "Fips" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4f02b0 for PDO 0x8a4f0410 InstancePath is "Root\LEGACY_GPC\0000" ServiceName is "Gpc" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a549008 for PDO 0x8a4f01b8 InstancePath is "Root\LEGACY_HTTP\0000" ServiceName is "HTTP" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a549db0 for PDO 0x8a549f10 InstancePath is "Root\LEGACY_IPNAT\0000" ServiceName is "IpNat" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a549b58 for PDO 0x8a549cb8 InstancePath is "Root\LEGACY_IPSEC\0000" ServiceName is "IPSec" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a549900 for PDO 0x8a549a60 InstancePath is "Root\LEGACY_KSECDD\0000" ServiceName is "ksecdd" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a5496a8 for PDO 0x8a549808 InstancePath is "Root\LEGACY_MNMDD\0000" ServiceName is "mnmdd" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a549450 for PDO 0x8a5495b0 InstancePath is "Root\LEGACY_MOUNTMGR\0000" ServiceName is "mountmgr" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a5491f8 for PDO 0x8a549358 InstancePath is "Root\LEGACY_NDIS\0000" ServiceName is "NDIS" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4efed8 for PDO 0x8a4ef038 InstancePath is "Root\LEGACY_NDISTAPI\0000" ServiceName is "NdisTapi" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4efc80 for PDO 0x8a4efde0 InstancePath is "Root\LEGACY_NDISUIO\0000" ServiceName is "Ndisuio" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4efa28 for PDO 0x8a4efb88 InstancePath is "Root\LEGACY_NDPROXY\0000" ServiceName is "NDProxy" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4ef7d0 for PDO 0x8a4ef930 InstancePath is "Root\LEGACY_NETBT\0000" ServiceName is "NetBT" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4ef578 for PDO 0x8a4ef6d8 InstancePath is "Root\LEGACY_NULL\0000" ServiceName is "Null" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4ef320 for PDO 0x8a4ef480 InstancePath is "Root\LEGACY_PARTMGR\0000" ServiceName is "PartMgr" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a548008 for PDO 0x8a4ef228 InstancePath is "Root\LEGACY_PARVDM\0000" ServiceName is "ParVdm" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a548db0 for PDO 0x8a548f10 InstancePath is "Root\LEGACY_RASACD\0000" ServiceName is "RasAcd" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a548b58 for PDO 0x8a548cb8 InstancePath is "Root\LEGACY_RDPCDD\0000" ServiceName is "RDPCDD" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a548900 for PDO 0x8a548a60 InstancePath is "Root\LEGACY_RWDRV\0000" ServiceName is "RwDrv" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a5486a8 for PDO 0x8a548808 InstancePath is "Root\LEGACY_TCPIP\0000" ServiceName is "Tcpip" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a548450 for PDO 0x8a5485b0 InstancePath is "Root\LEGACY_UCX01000\0000" ServiceName is "UCX01000" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a5481f8 for PDO 0x8a548358 InstancePath is "Root\LEGACY_VGASAVE\0000" ServiceName is "VgaSave" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4eeed8 for PDO 0x8a4ee038 InstancePath is "Root\LEGACY_VOLSNAP\0000" ServiceName is "VolSnap" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4eec80 for PDO 0x8a4eede0 InstancePath is "Root\LEGACY_WANARP\0000" ServiceName is "Wanarp" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4eea28 for PDO 0x8a4eeb88 InstancePath is "Root\LEGACY_WDF01_W8\0000" ServiceName is "WDF01_W8" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCompletion (0x30d) DevNode 0x8a4ee7d0 for PDO 0x8a4ee930 InstancePath is "Root\MEDIA\MS_MMACM" ServiceName is "audstub" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4ee578 for PDO 0x8a4ee6d8 InstancePath is "Root\MEDIA\MS_MMDRV" ServiceName is "audstub" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4ee320 for PDO 0x8a4ee480 InstancePath is "Root\MEDIA\MS_MMMCI" ServiceName is "audstub" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a547008 for PDO 0x8a4ee228 InstancePath is "Root\MEDIA\MS_MMVCD" ServiceName is "audstub" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a547db0 for PDO 0x8a547f10 InstancePath is "Root\MEDIA\MS_MMVID" ServiceName is "audstub" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a547b58 for PDO 0x8a547cb8 InstancePath is "Root\MS_L2TPMINIPORT\0000" ServiceName is "Rasl2tp" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a547900 for PDO 0x8a547a60 InstancePath is "Root\MS_NDISWANIP\0000" ServiceName is "NdisWan" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a5476a8 for PDO 0x8a547808 InstancePath is "Root\MS_PPPOEMINIPORT\0000" ServiceName is "RasPppoe" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a547450 for PDO 0x8a5475b0 InstancePath is "Root\MS_PPTPMINIPORT\0000" ServiceName is "PptpMiniport" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a5471f8 for PDO 0x8a547358 InstancePath is "Root\MS_PSCHEDMP\0000" ServiceName is "PSched" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4eded8 for PDO 0x8a4ed038 InstancePath is "Root\MS_PSCHEDMP\0001" ServiceName is "PSched" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4edc80 for PDO 0x8a4edde0 InstancePath is "Root\MS_PSCHEDMP\0002" ServiceName is "PSched" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4eda28 for PDO 0x8a4edb88 InstancePath is "Root\MS_PTIMINIPORT\0000" ServiceName is "Raspti" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4ed7d0 for PDO 0x8a4ed930 InstancePath is "Root\RDPDR\0000" ServiceName is "rdpdr" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4ed578 for PDO 0x8a4ed6d8 InstancePath is "Root\RDP_KBD\0000" ServiceName is "TermDD" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a4ed320 for PDO 0x8a4ed480 InstancePath is "Root\RDP_MOU\0000" ServiceName is "TermDD" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a546008 for PDO 0x8a4ed228 InstancePath is "Root\SYSTEM\0000" ServiceName is "swenum" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a546db0 for PDO 0x8a546f10 InstancePath is "Root\SYSTEM\0001" ServiceName is "update" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) DevNode 0x8a546b58 for PDO 0x8a546cb8 InstancePath is "Root\SYSTEM\0002" ServiceName is "mssmbios" State = DeviceNodeInitialized (0x302) Previous State = DeviceNodeUninitialized (0x301) Edited April 13, 2022 by Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 13, 2022 Author Share Posted April 13, 2022 (edited) 1 hour ago, Dietmar said: @Mov AX, 0xDEAD With new XP SP1 Sources I can compile acpi.sys. My acpi.sys, compiled under XP SP3, is a little bit smaller than yours but shows the same output in Windbg, and same Bsod. i think i forgot about "C language" operator ! and & priority fixed: Quote else if (! (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI_DEVICE) ) { // return STATUS_NOT_FOUND; } or second, more reliable (not tested, VBox doesn't have non-pci devices with IRQ) variant: Quote if (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI) { // // It's a PCI PDO, which means a root PCI bus, // which means that we should just handle this // as an ISA device. // return STATUS_NOT_FOUND; } status = ACPIInternalIsPci(Pdo); if (NT_SUCCESS(status)) if ( (!(((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI)) && (!(((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI_DEVICE)) ) return STATUS_NOT_FOUND; // if not PCI device or bus } ASSERT(PciInterfacesInstantiated); ACPIInternalIsPci() itself set DEV_CAP_PCI and DEV_CAP_PCI_DEVICE so we can trust him Edited April 13, 2022 by Mov AX, 0xDEAD Link to comment Share on other sites More sharing options...
Damnation Posted April 13, 2022 Share Posted April 13, 2022 (edited) @daniel_k@Mov AX, 0xDEAD I asked @Dietmar to test this code else if (! ((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI_DEVICE ) { // return STATUS_NOT_FOUND; } he reported that he still got a 7E BSOD, so this did not work. edit: I see now @Mov AX, 0xDEAD posted an update with an extra ( bracket, that might be why the above code didn't work. Edited April 13, 2022 by Damnation 1 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