Jump to content

Mov AX, 0xDEAD

Member
  • Posts

    328
  • Joined

  • Last visited

  • Days Won

    6
  • Donations

    0.00 USD 
  • Country

    Uzbekistan

Everything posted by Mov AX, 0xDEAD

  1. @pappyN4 You cannot reference to "end of file", dll is PE format. PE format is collection of segments mapped to near regions of memory hal.dll has many segment, you can use only segment marked as .TEXT or one of .PAGE*, don't use .INIT look at end of each segment to see how much bytes are free before address of next segment 1) for example halmaci.dll sp3 v5512 has free ~120 bytes in .text from .text:8001900D to .data:80019080 2) in any PE Editor increase .text segment virtual(mapped to memory) size from 0x8C0D to raw(size in file) size 0x8C80
  2. diff patch updated to v4 in first post, includes two workarounds: BSOD 0xA5 (0x11, 0x08, ..., ...) error in _AMLILoadDDB() (zero lenght buffer) BSOD 0xA5 (0x11, 0x08, ..., ...) error in _AMLILoadDDB() (doubled device definition)
  3. @sonyu This topic about XP/W2003 ACPI.SYS, if you have some BSOD A5 on XP with latest (pre-v4) compiled driver - this info can be helpfull, you don't need even install XP, just run any XP-based LiveCD/WinPE/Install ISO from USB with updated acpi.sys Info about BSOD A5 on other windows is useless for XP because each windows has own acpi.sys.
  4. @Daniel, @Dietmar, @Damnation, @George King, @Pappy, ... Is these BSOD are actual ? as i remember only for AMD boards and probably with ACPI.sys v5048 only
  5. Yes, i see skipped doubled devices with all childs, in your case DSDT's definitions are active and untouched, all SSDT's doubled devices was bypassed With previous 1) option after commenting 3 lines SSDT's childs override DSDT's childs
  6. Thanks, anything works as expected, i will upload "official" v4 with this variant
  7. Hi All This issue has no workaround, ACPI.SYS already has algorithm to check for doubled _HID+_UID but only for childs and siblings of current device, not full tree. My idea is to change _UID to random (it's safe) if we already have same combination, but it is difficult to enumerate all devices in tree
  8. enter path+filename, close window, make main task, open window again, press "Close file" button, exit windbg
  9. @Damnation I don't see any WT1A , save full log, don't copy from main window, use Edit->Open/close logfile feature
  10. Update: I found way to totally skip doubled device, just to change AML current Opcode pointer to next scope/device/anything First normal definition: doubled definition PCIX processing of second definition: as you see, no any PCIX's childs, it jumps to next object PCIW
  11. ACPI tables on this board are garbage and out of specification, XP acpi.sys can't handle this crap properly i have no other solution, use workaround with commenting 3 lines, tables are still crazy, but it worlks somehow
  12. @Damnation option 1) is not optimal, it skips creating same name, but all childs override existing ones from first device First definition: double definition: after skipping BSOD we have in log many lines with and no lines with ACPI\PNP0C02-3
  13. VirtualBox is much better, it allows load too any custom DSDT/SSDT code (based on original table). Yes, i can create any doubled devices. Good, i will check in VM how _HID/... created when no parent device
  14. Kernel debug doesnt help you, you have hardware(or DSDT) related issue, same USB driver works on most other controllers without same issue
  15. @Andalu Your bug reproduced in VirtualBox on this custom code: PNP0C02\2 converted to PNP0C02\4&xxxx&yyyyy same way as yours. It is generic DSDT error, all _HID+_UID combinations must be unique If doubled devices live on same parent path, we get BSOD 0xA5 (0x0000000D, ..) instead yellow mark
  16. every device in ssdt7 is dublicate it has some unknow workaround, CreateNameSpaceObject() itself generate rc=ERROR, but then this error is bypassed somewhere at parent call, you need setup kernel remote connection in W8.1 if you want to know, but it doesnt help much to fix it in XP because debuglog will not show how errors was ignored
  17. @Damnation SSDT7 is copy of DSDT, many deviced defined in DSDT, then again in SSDT, nice BIOS from gigabyte There is no simple workaround, i have three options 1) You can try to bypass creating doubled devices: rc will be STATUS_SUCCESS, pns = NULL So device WT1A will not be created again, but then acpi will want to create names _ADR,_HID and many methods and link to "we don't created new" device, i dont know what will happens, check log again after patching normal creation by DSDT: 2) If CreateNameSpaceObject() found already existed device, it will patch it's name to make it unique: DSDT creates WT1A SSDT creates zT1A W->z just as example, maybe some other rare allowed symbol This option can make mess if WT1A reports about some claimed resources, zT1A will report same resources. There is other autoexecuted methods like _STA or _INI 3) Totaly ignore device and all child names and child methods but i dont know to make it, too much work :)
  18. I can't help with it, as i wrote few times before, BIOS reconfig DSDT/SSDT tables before running OS Then you overwrite dynamic DSDT with static DSDT from registry and get two assertions from kernel and bsod from acpi with "Arg0=0xa,)AMLI_ERROR(c0140004): Index is too big" My old https://github.com/MovAX0xDEAD/ACPI-Patcher patches BIOS's DSDT copy, so it is actual on every reboot
  19. @Andalu First Yellow mark_resource.png told about NAME duplicates, not resource conflict Today i will play in VM what happens if i'l create two devices with same _HID/_UID as your DSDT and will report about findings
  20. Thanks, this is not IOTRAP device, it is LDRC and have conflict with some else probalby this is problem, but parents are different....
  21. I think better to split 1) Windows 7/8/8.1/10 EMULATION and 2) LEGACY XP Question is which variant is preferrable... When i see code like this, i want to use only Legacy XP for XP _DEP() returns empty package (if S0ID != One) for Windows10 _DEP() return depended package PEPD PEPD is big device with a lot of sub-packages inside with EMULATION version, XP must handle this garbage and nobody know how correctly
  22. true v4 is just zero length buffer workaround, apparently it's about upgraded _OSI by Daniel, so be carefull, your DSDT hides secondary GPU for XP/2003
  23. @Andalu Please take screenshot of Resource tab too Seems it is again IOTRAP device, we already have workaround for it, but probably H470 has another definition
  24. @Damnation With only one screen you need switch it from TARGET (selecting boot entry) to HOST (windbg), much better to use notebook as HOST with internal screen See PM
×
×
  • Create New...