Dietmar Posted April 11, 2022 Share Posted April 11, 2022 (edited) @daniel_k Can you please modd the DSDT from the AMD AM4 board AB350 gaming k4 for me via your wished way, because I do not know how to put Device (GPIO) inside Device (PCI0). This DSDT I read just out via EEpromer of the Bios chip. May be hard work, to make again a *.raw from it and integrate it back into Bios, because of missing entries in head. Dietmar DSDTAB350k4ORI.7z Edited April 11, 2022 by Dietmar Link to comment Share on other sites More sharing options...
daniel_k Posted April 11, 2022 Share Posted April 11, 2022 Sure, here it is. It's just not properly formated (indented). Make sure you're replacing the correct table. There are at least 4 DSDT tables inside the BIOS. DSDTAB350k4ORI_MOD.7z Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 @daniel_k Microsoft tells, that GPIO must be from type Edge Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 (edited) @daniel_k I integrate your *.raw file into Bios. Then I read with Uefitool again DSDT out in *.raw and compare it with your *.raw before. They are identic ). Now I need to put Bios chip, cpu, ram etc. into this board again, because 2 years not used Dietmar EDIT1: I just flash the Bios chip and read it out again and compare with Bios.rom, identic. Now fun starts ).. Edited April 11, 2022 by Dietmar Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 (edited) @daniel_k I put all together, but does not help. Again I see the famous Bsod 7E (0xC0000005, xxx, yyy, zzz) Dietmar PS: And when I change the acpi.sys Debug V2 against acpi.sys free V2 with my Ryzen hack, compi boots to desktop. Happy, that the AB350 gaming k6 is still alive ).. Edited April 11, 2022 by Dietmar Link to comment Share on other sites More sharing options...
daniel_k Posted April 11, 2022 Share Posted April 11, 2022 (edited) Thanks, so this means that the issue is probably related to resource assignments. Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) The code above is used by the GPIO device only and ACPI "dies" after processing the device. Edited April 11, 2022 by daniel_k Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 (edited) @daniel_k I think the same. But to change Interrupt (ResourceConsumer, Level, ActiveLow, Shared, ,, ) ----> Interrupt (ResourceConsumer, Edge, ActiveHigh, Shared, ,, ) does not help. 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 This I tried already, Dietmar PS: In Linux they introduce an extra function for this problem Edited April 11, 2022 by Dietmar Link to comment Share on other sites More sharing options...
daniel_k Posted April 11, 2022 Share Posted April 11, 2022 @Dietmar Does the board crash Windows 7 or 8.0? Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 (edited) @daniel_k Now I am with the Ryzen 3700x on the AB350 gaming k4 board. Bios is 5.80 . Win7 SP1 works, Win8.0 works Dietmar PS: I notice, that RWeverything produces garbage when you use it for to read out Bios DSDT. So I use the Bios tool V2. The DSDT is exact the same as you send to me with Mods, so that I am not going nuts with this Bsod ).. Edited April 11, 2022 by Dietmar Link to comment Share on other sites More sharing options...
daniel_k Posted April 11, 2022 Share Posted April 11, 2022 @Dietmar If it doesn't bother you, please do one last test. I've removed GPIO and eMMC devices, which use Interrupt Resource Descriptor Macro. See if XP boots with the ACPI with CreateQWordField fix only. DSDTAB350k4_NO_GPIO.7z Link to comment Share on other sites More sharing options...
daniel_k Posted April 11, 2022 Share Posted April 11, 2022 @Mov AX, 0xDEAD I see that there is a NoOp (No Operation) operator. Still don't know how the built in AML interpreter in ACPI.SYS works, but what if we create a generic function based on the NoOp and use it for all unsupported opcodes, so the DSDT is properly loaded? Link to comment Share on other sites More sharing options...
Dietmar Posted April 11, 2022 Share Posted April 11, 2022 @daniel_k I will test your DSDT tomorrow. But this is only for to look, if we caught the right ^^. Next task is with help of Source Code to write some part of acpi.sys new, how to manage this problem Dietmar Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 12, 2022 Author Share Posted April 12, 2022 10 hours ago, Dietmar said: @Mov AX, 0xDEAD Do you have an idea, how to forbid a call to AcpiArbCrackPRT() from GPIO (connected to SystemBus directly) i already wrote how to avoid BSOD and keep running AcpiArbCrackPRT() see https://msfn.org/board/topic/183464-compiling-acpi-v20-driver-for-windows-xp-sp3-x32-only/?do=findComment&comment=1216379 Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 12, 2022 Author Share Posted April 12, 2022 8 hours ago, daniel_k said: @Dietmar Please do the following test, without the last ACPI patches (only QwordField fix): - put Device (GPIO) inside Device (PCI0) - search for _SB.GPIO and replace it with _SB.PCI0.GPIO So we will know for sure if the issue is the improper location of the GPIO device or the device itself. @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 Link to comment Share on other sites More sharing options...
Mov AX, 0xDEAD Posted April 12, 2022 Author Share Posted April 12, 2022 10 hours ago, Damnation said: @Dietmar maybe try this? elseif (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_ISA) { // return STATUS_NOT_FOUND; } this better: Quote elseif (! ((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI_DEVICE ) { // return STATUS_NOT_FOUND; } in both cases we must be 100% sure about configured flags for all devices, need additional debug print i already did it partialy, but not inside AcpiArbCrackPRT(), check Dietmar's logfile: Quote ACPIBuildProcessDevicePhaseHid: UpdateFlags=40300000 ACPI\PNP0C02 ACPIBuildProcessDevicePhaseHid: ... ACPI\PNP0A08-0 ACPIBuildProcessDevicePhaseCid: UpdateFlags=02000000... 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