Jump to content

Dietmar

Member
  • Posts

    1,847
  • Joined

  • Last visited

  • Days Won

    10
  • Donations

    0.00 USD 
  • Country

    Germany

Everything posted by Dietmar

  1. @reboot12oh interesting.Make a test.Delete everything in registry and in windows\inf oem and the driver from win10 itself.Then edit its Win10 *.inf,deleting all the extra reg Settings and after this,look with this *.inf the win10 driver still installs Dietmar
  2. @reboot12 I see, that the *.inf from the win10 driver sets special values for EEE, ULP etc. in Registry via *.reg commands in this *.inf. Now I integrate them also in our i219.inf and the to this belonging places in the driver i219.sys itself. This is a crazy hard job. I am back here at about 19:00. What we have: RX works, TX is ready in the ring, but is not read. So, a special bit forbids just this performanve from TX. And those special settings in registry can make this Dietmar
  3. @reboot12 here is new W9 driver and KD Dietmar https://www.upload.ee/files/19127039/i219W9.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W9====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; dd $t1+0x5b54 L1; dd $t1+0x5b50 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W9====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W9====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W9====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W9====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W9====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
  4. @reboot12 After checking Intel documents, I add a new function for TX for the i219-LM, that before was missed. So, it is a big step Dietmar https://www.upload.ee/files/19126864/i219W8.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W8====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W8====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W8====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W8====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W8====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x382c L1; dd $t1+0x3840 L1; dd $t1+0x3004 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W8====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
  5. @reboot12 Please tell me the full exact entry in Device Manager for your i219-LM with Dev_15BB. Because I noticed, that the win10 driver has different *.inf entries depending on this exact name Dietmar
  6. @reboot12 I take again a deep look in the binary of win10 for the i219-LM and compare it with our i219.sys. There is still a bit not set, depending on ME, ULP etc. that forbids our i219.sys to send TX. This may last 1 hour Dietmar
  7. @reboot12 Hier is W7 driver and new KD Dietmar https://www.upload.ee/files/19126675/i219W7.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W7====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W7====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W7====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W7====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W7====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W7====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
  8. @reboot12 Here is W6 driver and new KD block Dietmar https://www.upload.ee/files/19126548/i219W6.zip.html bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W6====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0410 L1; dd $t1+0x0400 L1; dd $t1+0x0100 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W6====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W6====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W6====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W6====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0400 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W6====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
  9. @reboot12 We are coming closer to the problem, why RX gets but TX not sends: So we take a deeper look at TX-Queue-Aktivierung / TXDCTL-Konfiguration / TX-Start-Sequenz Dietmar
  10. @reboot12 W4 already has working RX on your board. That is a real breakthrough. W4 is much better than any other i219-LM driver before — RX is working. The remaining failure is almost certainly a TX-descriptor / TX-buffer / TX-latch problem Dietmar Here is new driver W5 https://www.upload.ee/files/19126475/i219W5.zip.html and KD block for it bc * sxn ud bu /1 i219!I219TxRxStart "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", $t0, $t1, $t2; bp /1 $t2 \".echo ====TXRXSTART_OUT_W5====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0100 L1; dd $t1+0x0400 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); r $t2=poi(esp); .echo ====SEND_IN_W5====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(esp+0x0c), $t0, $t1, $t2; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0008 L1; bp /1 $t2 \".echo ====SEND_OUT_W5====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXONE_W5====; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0008 L1; gc" bu i219!I219TxReclaim "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM_W5====; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3828 L1; dd $t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL_W5====; dd $t1+0x2800 L3; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x2828 L1; dd $t1+0x0008 L1; gc" g
  11. @reboot12 Oh nice, now the i219-LM reaches exact the state, that Linux wants to have for the i219-LM. Here ist next KD block Dietmar bc * bu /1 i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", @$t0, @$t1, @$t2; bp /1 @$t2 \".echo ====TXRXSTART_OUT2====; dd @$t1+0x2800 L3; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x0100 L1; dd @$t1+0x0400 L1; gc\"; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo ====SEND_IN2====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(@esp+0x0c), @$t0, @$t1, @$t2; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; bp /1 @$t2 \".echo ====SEND_OUT2====; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc\"; gc" bu i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM2====; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL2====; dd @$t1+0x2800 L3; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; gc" g
  12. @reboot12 W4 is until now the best version. It comes very near to complete working. I look at the binary from win10 for it from the AIMB-786 driver for i219-LM. Please run this KD command until desktop Dietmar bc * bu /1 i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .printf \"TXRXSTART IN a=%p regs=%p ret=%p\n\", @$t0, @$t1, @$t2; bp /1 @$t2 \".echo ====TXRXSTART_OUT====; dd @$t1+0x0008 L1; dd @$t1+0x0100 L1; dd @$t1+0x0400 L1; dd @$t1+0x00D0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc\"; gc" bu /1 i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo ====SEND_IN====; .printf \"CNT=%u a=%p regs=%p ret=%p\n\", poi(@esp+0x0c), @$t0, @$t1, @$t2; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; bp /1 @$t2 \".echo ====SEND_OUT====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x0008 L1; gc\"; gc" bu i219!I219TxSendOne ".echo ====TXONE====; gc" bu i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRECLAIM====; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL====; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x0008 L1; gc" g
  13. @reboot12 Here is version W4, which may work on your board AIMB-786. Please test also the KD until full desktop with "g" Dietmar https://www.upload.ee/files/19125771/i219W4.zip.html !sym quiet .reload /f i219.sys sxn ud bc * bu /1 i219!I219LowPowerExitFixup "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====LOWPOWER====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B58 L1; dd @$t1+0x0F00 L1; dd @$t1+0x003C L1; dd @$t1+0x00E4 L1; dd @$t1+0x5BB4 L1; dd @$t1+0x5BBC L1; gc" bu /1 i219!I219ApplySwLcdConfigLikeWin10 "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====SWLCD====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0018 L1; dd @$t1+0x003C L1; dd @$t1+0x00E4 L1; dd @$t1+0x5BB4 L1; dd @$t1+0x5BBC L1; gc" bu /1 i219!I219DisableEeeLpiLikeWin10 "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====EEE====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B54 L1; dd @$t1+0x0020 L1; gc" bu /1 i219!I219CheckPhyReadyAfterReset "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====PHYREADY====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B58 L1; dd @$t1+0x0020 L1; gc" bu /1 i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====CTRLKICK====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B58 L1; dd @$t1+0x0F00 L1; gc" bu /1 i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRXSTART====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00D0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B58 L1; gc" bu /1 i219!I219MiniportEnableInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====ENABLEINT1====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; gc" bu /1 i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====DPC1====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc" bu /1 i219!I219MiniportCheckForHang "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====HANGCHK1====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc" g
  14. @reboot12 and here next one, please test and run the KD block until desktop via "g" Dietmar https://www.upload.ee/files/19125365/i219collsavewin10.zip.html !sym quiet .reload /f i219.sys sxn ud bc * bu /1 i219!I219MiniportInitialize ".echo ====INIT====; gc" bu i219!I219LowPowerExitFixup "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====LOWPOWER====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu /1 i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====CTRLKICK====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu /1 i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRXSTART====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00D0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu /1 i219!I219MiniportEnableInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====ENABLEINT1====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; gc" bu /1 i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====DPC1====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc" bu /1 i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====SEND1====; .printf \"CNT=%u\n\", poi(@esp+0x0C); dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x0008 L1; gc" bu /1 i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL1====; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x0008 L1; gc" g
  15. @reboot12 Here is a new driver for you, please test. And also run this KD block Dietmar https://www.upload.ee/files/19125197/i219spyWin10.zip.html bc * bu i219!I219MiniportInitialize ".echo ====INIT====; gc" bu i219!I219LowPowerExitFixup "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====LOWPOWER====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====CTRLKICK====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====TXRXSTART====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00D0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3828 L1; dd @$t1+0x5B54 L1; dd @$t1+0x5B50 L1; dd @$t1+0x5B58 L1; gc" bu i219!I219MiniportEnableInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====ENABLEINT====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; gc" bu i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====DPC====; .printf \"a=%p regs=%p\n\", @$t0, @$t1; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc" bu i219!I219MiniportSendPackets "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .printf \"SEND CNT=%u\n\", poi(@esp+0x0C); dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x0008 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo ====RXPOLL====; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x2828 L1; dd @$t1+0x0008 L1; gc" g
  16. @reboot12 Hihi, so I see, that the try to force all those bit, gives this fail, RXTX is blocked in the beginning, so Code 31. Funny, my board with i219-LM Dev_15BB, accepts this dirty hack from above. Now I take again a deep look in the Binary from Win10 for this i219-LM. And I try to copy everything from the win10 logic, part by part, in the very first working version of my driver i219.sys. There are a lot of steps, that the driver has to get from the hardware of your AIMB-786 board. It has to ask ME, the firmware, ULP, D3, D0 state and even more. But in the end, because win10 works, we will succeed Dietmar
  17. @reboot12 And here is next, until now best driver. I will test this one also on the ASRock Industrial IMB-1312 Micro ATX Motherboard Q370 DDR4 LGA1151 because that board is similar to your Advantech AIMB-786 REV:A1 19A1078602-01, BIOS AMI UEFI V5.00 in the way of lan i219_LM Dev_15BB Dietmar https://www.upload.ee/files/19122562/i219besttt.zip.html
  18. @reboot12 I make a new driver, that waits with TX until this bit in MMIO status 0x40000000 is set. And the KD block for this, hit "g" until you reach desktop Dietmar https://www.upload.ee/files/19121949/i219fixGiomaster.zip.html !sym quiet .reload /f i219.sys sxd ud bc * bu i219!I219DoCtrlKickLate "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo CTRLKICK_IN; .printf \"ADP=%p REGS=%p SLOT=%x\n\", $t0, $t1, poi($t0+0xF4); dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B50 L3; bp /1 @$t2 \".echo CTRLKICK_OUT; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0018 L1; dd @$t1+0x5B50 L3; gc\"; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); r $t2=poi(@esp); .echo TXRXSTART_IN; .printf \"ADP=%p REGS=%p SLOT=%x\n\", $t0, $t1, poi($t0+0xF4); dd @$t1+0x0008 L1; dd @$t1+0x0100 L1; dd @$t1+0x02828 L1; dd @$t1+0x02810 L1; dd @$t1+0x02818 L1; dd @$t1+0x03828 L1; dd @$t1+0x03810 L1; dd @$t1+0x03818 L1; dd @$t1+0x00D0 L1; bp /1 @$t2 \".echo TXRXSTART_OUT; dd @$t1+0x0008 L1; dd @$t1+0x0100 L1; dd @$t1+0x02828 L1; dd @$t1+0x02810 L1; dd @$t1+0x02818 L1; dd @$t1+0x03828 L1; dd @$t1+0x03810 L1; dd @$t1+0x03818 L1; dd @$t1+0x00D0 L1; gc\"; gc" bp /1 i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(@esp+0x0c); gc" bp /1 i219!I219TxSendOne "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo TXONE; dd @$t1+0x03810 L1; dd @$t1+0x03818 L1; gc" bp /1 i219!I219MiniportISR "r $t0=poi(@esp+0x0c); r $t1=poi($t0+0xDC); .echo ISR; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x00D0 L1; gc" bp /1 i219!I219MiniportHandleInterrupt "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo HANDLEINT; dd @$t1+0x0008 L1; dd @$t1+0x00C0 L1; dd @$t1+0x02810 L1; dd @$t1+0x02818 L1; dd @$t1+0x03810 L1; dd @$t1+0x03818 L1; gc" bp /1 i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo TXRECLAIM; dd @$t1+0x03810 L1; dd @$t1+0x03818 L1; gc" bp /1 i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi($t0+0xDC); .echo RXPOLL; dd @$t1+0x0008 L1; dd @$t1+0x02810 L1; dd @$t1+0x02818 L1; dd @$t1+0x02828 L1; gc" g and this for to check, which registers are the same from the beginning of my Asus WS pro with same I219-LM chip !sym quiet .reload /f i219.sys sxd ud bc * bu i219!I219MiniportInitialize ".echo INIT; gc" bu i219!I219PciForceBusMaster ".echo BME; r $t0=poi(@esp+4); r $t1=poi(@esp+8); .printf \"h=%p slot=%x\n\", $t0, $t1; gc" bu i219!I219WaitForGioMaster "r $t0=poi(@esp+4); r $t1=poi(@esp+8); r $t2=poi(@esp+0xc); .echo WAITGIO; .printf \"a=%p tries=%u stall=%u\n\", $t0, $t1, $t2; r $t3=poi(@$t0+0xE0); dd @$t3+0x0008 L1; gc" bu i219!I219EnsureGioMasterReady "r $t0=poi(@esp+4); .echo ENSUREGIO; .printf \"a=%p\n\", $t0; r $t1=poi(@$t0+0xE0); dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x5b50 L1; dd @$t1+0x5b54 L1; dd @$t1+0x5b58 L1; gc" bu i219!I219TxRxStart "r $t0=poi(@esp+4); r $t1=poi(@$t0+0xE0); .echo TXRX; .printf \"a=%p regs=%p\n\", $t0, $t1; dd @$t1+0x0000 L1; dd @$t1+0x0008 L1; dd @$t1+0x0100 L1; dd @$t1+0x0400 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x5b50 L1; dd @$t1+0x5b54 L1; dd @$t1+0x5b58 L1; gc" bu i219!I219TxReclaim "r $t0=poi(@esp+4); r $t1=poi(@$t0+0xE0); .echo TXRECLAIM; .printf \"a=%p regs=%p\n\", $t0, $t1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc" bu i219!I219RxPoll "r $t0=poi(@esp+4); r $t1=poi(@$t0+0xE0); .echo RXPOLL; .printf \"a=%p regs=%p\n\", $t0, $t1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; gc" g
  19. @reboot12 It is all ONLY about this bit vMMIO mapped status=00080640 ==> vMMIO mapped status=40080640 (PCIm/DMoff/Low-Power, means GIO master disable) ==> MAC i „GIO master enabled“ I make a new driver for to force this before TX starts Dietmar
  20. @reboot12 Try this KD, compi needs to be restarted Dietmar !sym quiet .reload /f i219.sys sxd ud bc * bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(esp+0x0c); gc" bu i219!I219TxPrime "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo TXPRIME; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L3; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc" bu i219!I219TxSendOne "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo TXONE; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L3; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc" bu i219!I219TxKick "r $t0=poi(esp+4); r $t1=poi($t0+0xDC); .echo TXKICK; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L3; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc" g
  21. @reboot12 It is all about this crazy ME. It stops a not autorisized driver. But the most crazy thing is, that after this hard week for looking how to overcome ME, this my build driver works on all my compis with different i219 Dietmar
  22. @reboot12 Why the driver not starts is clear: RX works, TX not. I had the exact same symptoms on my compi, but after one week of hard work I solved it Dietmar PS: So please use this driver and this KD for one time more. After this, I also need Pause, may be 2 hours Dietmar !sym quiet .reload /f i219.sys sxd ud bc * x i219!*TxW* x i219!*Watch* bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(esp+0x0c); gc" bu i219!I219TxPrime ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXPRIME; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxKick ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXKICK; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxSendOne ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXONE; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxReclaim ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXRECLAIM; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" g
  23. @reboot12 here is repaired KD block for the new driver version 100 Dietmar !sym quiet .reload /f i219.sys sxd ud bc * bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(esp+0x0c); gc" bu i219!I219TxPrime ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXPRIME; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxKick ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXKICK; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxSendOne ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXONE; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxReclaim ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXRECLAIM; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" bu i219!I219TxWatchdog ".if (poi(esp+4)==0) { gc } .else { r $t0=poi(esp+4); .if ($t0==0) { gc } .else { .if ($t0<0x80000000) { gc } .else { r $t1=poi($t0+0xDC); .if ($t1==0) { gc } .else { .if ($t1<0x80000000) { gc } .else { .echo TXWD; dd $t1+0x0008 L1; dd $t1+0x0400 L1; dd $t1+0x2808 L1; dd $t1+0x2810 L1; dd $t1+0x2818 L1; dd $t1+0x3800 L3; dd $t1+0x3810 L1; dd $t1+0x3818 L1; dd $t1+0x3820 L4; dd $t1+0x3840 L1; gc } } } } }" g
  24. @reboot12 https://www.upload.ee/files/19121353/i219v100.zip.html Run this KD until desktop with "g" Dietmar !sym quiet .reload /f i219.sys sxd ud bc * bu i219!I219MiniportSendPackets ".printf \"SEND CNT=%u\n\", poi(@esp+0x0c); gc" bu i219!I219TxPrime ".if (poi(@esp+4)==0) { gc } .else { r $t0=poi(@esp+4); .if (@$t0 < 0x80000000) { gc } .else { r $t1=poi(@$t0+0xDC); .if ((@$t1==0) || (@$t1 < 0x80000000)) { gc } .else { .echo TXPRIME; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x2808 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3820 L4; dd @$t1+0x3840 L1; gc } } }" bu i219!I219TxKick ".if (poi(@esp+4)==0) { gc } .else { r $t0=poi(@esp+4); .if (@$t0 < 0x80000000) { gc } .else { r $t1=poi(@$t0+0xDC); .if ((@$t1==0) || (@$t1 < 0x80000000)) { gc } .else { .echo TXKICK; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x2808 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3820 L4; dd @$t1+0x3840 L1; gc } } }" bu i219!I219TxSendOne ".if (poi(@esp+4)==0) { gc } .else { r $t0=poi(@esp+4); .if (@$t0 < 0x80000000) { gc } .else { r $t1=poi(@$t0+0xDC); .if ((@$t1==0) || (@$t1 < 0x80000000)) { gc } .else { .echo TXONE; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x2808 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3820 L4; dd @$t1+0x3840 L1; gc } } }" bu i219!I219TxReclaim ".if (poi(@esp+4)==0) { gc } .else { r $t0=poi(@esp+4); .if (@$t0 < 0x80000000) { gc } .else { r $t1=poi(@$t0+0xDC); .if ((@$t1==0) || (@$t1 < 0x80000000)) { gc } .else { .echo TXRECLAIM; dd @$t1+0x0008 L1; dd @$t1+0x0400 L1; dd @$t1+0x2808 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3800 L3; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; dd @$t1+0x3820 L4; dd @$t1+0x3840 L1; gc } } }" bu i219!I219HandleInterrupt ".if (poi(@esp+4)==0) { gc } .else { r $t0=poi(@esp+4); .if (@$t0 < 0x80000000) { gc } .else { r $t1=poi(@$t0+0xDC); .if ((@$t1==0) || (@$t1 < 0x80000000)) { gc } .else { .echo INTX; dd @$t1+0x0008 L1; dd @$t1+0x2810 L1; dd @$t1+0x2818 L1; dd @$t1+0x3810 L1; dd @$t1+0x3818 L1; gc } } }" g
×
×
  • Create New...