Jump to content

Damnation

Member
  • Posts

    775
  • Joined

  • Last visited

  • Days Won

    3
  • Donations

    0.00 USD 
  • Country

    Australia

Everything posted by Damnation

  1. @Dietmar awesome! @Mov AX, 0xDEAD Besides that unresolved unknown AMLILoadDDB BSOD have we resolved all known ACPI BSODs?
  2. @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.
  3. @Dietmar odd, I commented out line 3526 yet it still says assert failed for // ASSERT(PciInterfacesInstantiated) ? I'm tired, I'll try something else tomorrow. Thanks for testing.
  4. @Dietmar I commented out ASSERT(PciInterfacesInstantiated) still BSOD? https://anonfiles.com/34u6daW9x3/acpi_checked_crackprt_test5_7z
  5. @Dietmar hopefully this one is different~ https://anonfiles.com/raZ1cfW1x5/acpi_checked_crackprt_test3_7z
  6. @Dietmar and this one? https://anonfiles.com/73gdc4W8x6/acpi_checked_crackprt_test2_7z
  7. @Dietmar Can you test this checked acpi.sys to see if 7E BSOD still happens? https://anonfiles.com/V2A4b2Wex5/acpi_checked_crackprt_test1_7z
  8. Other than not needing to apply your hack to acpi.sys every time we build it I'm not sure, I don't recall ever making use of the GPIO.
  9. @Mov AX, 0xDEAD @daniel_k Could we use code from reactos for unsupported opcodes?
  10. @Dietmar I downloaded the BIOS for the ASRock B550 Steel Legend (board I chose for a build, still waiting for it on backorder) checked it's DSDT, it also has 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 */ } I think perhaps all AMD Ryzen boards use this DSDT code.
  11. @Dietmar maybe try this? 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; } elseif (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_ISA) { // return STATUS_NOT_FOUND; }
  12. @Mov AX, 0xDEAD For the unknown error in _AMLILoadDDB could we feasibly use the version from windows 8.1? . psuedocode of AMLILoadDDB 8.1 generated by relyze int __fastcall _AMLILoadDDB( int p1, int p2 ) { unsigned short local_0x2C; // [esp-44] unsigned short local_0x2A; // [esp-42] unsigned short local_0x26; // [esp-38] unsigned int local_0x24; // [esp-36] int v1; // [esp-30] int v2; // [esp-26] int v3; // [esp-22] void * local_0xC; // [esp-12] unsigned int local_0x8; // [esp-8] int v4; // eax local_0x2C = 0; local_0xC = 0; local_0x2A = 0; local_0x8 = 0; local_0x26 = 0; local_0x24 = 0; v1 = 0; v2 = 0; v3 = 0; if( _ghQueryDLMSupportHandler != 0 ) { _ghQueryDLMSupportHandler( &local_0x8 ); } else { local_0x8 = 0; } _gDeviceLockMutexSupported = local_0x8; v4 = _NewContext( &local_0xC ); if( v4 == 0 ) { *((unsigned char *)local_0xC + 176) = _gpheapGlobal; v4 = LoadDDB( _gpnsNameSpaceRoot, &local_0x2C ); if( v4 == 0 ) { v4 = SyncLoadDDB( local_0xC ); } } if( p2 != 0 ) { *p2 = local_0x24; } return v4; }
  13. @Dietmar Just an idea - for ACPIArbCrackPRT can you try this out? // if (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI) { 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; } } ASSERT(PciInterfacesInstantiated); still 7E BSOD? or something else?
  14. @Dietmar do you mean having ULONG64 for CreateQWordField instead of ULONG? after this is changed A5 0x02 is gone?
  15. @Mov AX, 0xDEAD Maybe try comparing nonworking ACPIArbCrackPRT to working LinkNodeCrackPrt to try and find what LinkNodeCrackPrt does differently to avoid the BSOD?
  16. @Mov AX, 0xDEAD So is acpi.sys expecting DEV_CAP_PCI to be a PDO but it is something else?
  17. @Dietmar Looking at the logs there, I'm a bit more confident that if (((PDEVICE_EXTENSION)Pdo->DeviceExtension)->Flags & DEV_CAP_PCI) is the cause I think try commenting it out, compile and test.
  18. @Dietmar In source code we just comment out entire function and return all OK?
  19. @Andalu I have this same problem on my AMD Threadripper System, I even get this A5 0x11 0x08 BSOD on Windows 8.0 as of right now the best we can do for this case is to tell acpi.sys to ignore failed DDB Load.
  20. @Dietmar I recall the problem was somewhere near PciInterfacesInstantiated I think the problem in ACPIArbCrackPRT might be this 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; } try commenting this out and see if that works?
  21. @Mov AX, 0xDEAD I would like to try and see if I can implement 64bit integer support. what functions should I be focusing on to properly implement this? which acpi.sys version has a proper 64bit integer support?
  22. I bought my first AMD Ryzen 5000 series desktop system today (previous desktop was older 2000 series with 300 chipset) I'll compile and test this when the system is ready. I went with an ASRock motherboard, for whatever reason they use an iASL compiler from 2012 for their AMD boards and they seem to be the only vendor doing this. I wonder if this might be more ACPI friendly for XP because of it?
  23. @Dietmar But isn't that hack just skipping over the error rather than actually resolving the issue?
×
×
  • Create New...