leechcorepyc 2.22.2__tar.gz → 2.22.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. {leechcorepyc-2.22.2/leechcorepyc.egg-info → leechcorepyc-2.22.3}/PKG-INFO +1 -1
  2. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_fpga.c +15 -1
  3. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/version.h +2 -2
  4. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/version.h +2 -2
  5. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3/leechcorepyc.egg-info}/PKG-INFO +1 -1
  6. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/setup.py +1 -1
  7. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/MANIFEST.in +0 -0
  8. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/Makefile +0 -0
  9. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/README +0 -0
  10. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/files/dummy +0 -0
  11. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/leechcore.h +0 -0
  12. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/leechcore_device.h +0 -0
  13. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/leechgrpc.h +0 -0
  14. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/libpdbcrust.h +0 -0
  15. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/vmmdll.h +0 -0
  16. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/includes/vmmyara.h +0 -0
  17. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/Makefile +0 -0
  18. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/Makefile.macos +0 -0
  19. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_file.c +0 -0
  20. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_hibr.c +0 -0
  21. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_pmem.c +0 -0
  22. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_tmd.c +0 -0
  23. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_usb3380.c +0 -0
  24. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_vmm.c +0 -0
  25. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/device_vmware.c +0 -0
  26. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechcore.c +0 -0
  27. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechcore.h +0 -0
  28. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechcore.rc +0 -0
  29. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechcore_device.h +0 -0
  30. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechcore_internal.h +0 -0
  31. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpc.h +0 -0
  32. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpc.idl +0 -0
  33. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpc_c.c +0 -0
  34. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpc_h.h +0 -0
  35. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpcclient.c +0 -0
  36. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/leechrpcshared.c +0 -0
  37. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/memmap.c +0 -0
  38. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/ob/ob.h +0 -0
  39. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/ob/ob_bytequeue.c +0 -0
  40. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/ob/ob_core.c +0 -0
  41. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/ob/ob_map.c +0 -0
  42. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/ob/ob_set.c +0 -0
  43. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/oscompatibility.c +0 -0
  44. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/oscompatibility.h +0 -0
  45. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/util.c +0 -0
  46. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore/util.h +0 -0
  47. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_qemu/Makefile +0 -0
  48. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_qemu/leechcore_device_qemu.c +0 -0
  49. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/Makefile +0 -0
  50. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/leechcore_device_rawtcp.c +0 -0
  51. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/oscompatibility.c +0 -0
  52. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/oscompatibility.h +0 -0
  53. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/plugin.rc +0 -0
  54. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_device_rawtcp/resource.h +0 -0
  55. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_ft601_driver_linux/Makefile +0 -0
  56. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_ft601_driver_linux/fpga_libusb.c +0 -0
  57. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_ft601_driver_linux/fpga_libusb.h +0 -0
  58. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_ft601_driver_linux/leechcore_ft601_driver_linux.c +0 -0
  59. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcore_ft601_driver_linux/leechcore_ft601_driver_linux.h +0 -0
  60. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc/__init__.py +0 -0
  61. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc.c +0 -0
  62. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc.egg-info/SOURCES.txt +0 -0
  63. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc.egg-info/dependency_links.txt +0 -0
  64. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc.egg-info/top_level.txt +0 -0
  65. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc.h +0 -0
  66. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/leechcorepyc_barrequest.c +0 -0
  67. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/Makefile +0 -0
  68. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/lznt1.h +0 -0
  69. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/Array.h +0 -0
  70. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/Bitstream.h +0 -0
  71. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/CircularBuffer.h +0 -0
  72. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/HuffmanDecoder.h +0 -0
  73. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/HuffmanEncoder.h +0 -0
  74. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/LZNT1Dictionary.h +0 -0
  75. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/LZNT1Dictionary_SA.h +0 -0
  76. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/XpressDictionary.h +0 -0
  77. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/config.h +0 -0
  78. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/general.h +0 -0
  79. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/internal.h +0 -0
  80. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp/sorting.h +0 -0
  81. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/mscomp.h +0 -0
  82. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/xpress.h +0 -0
  83. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/include/xpress_huff.h +0 -0
  84. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/lznt1_compress.cpp +0 -0
  85. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/lznt1_decompress.cpp +0 -0
  86. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/mscomp.cpp +0 -0
  87. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/xpress_compress.cpp +0 -0
  88. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/xpress_decompress.cpp +0 -0
  89. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/xpress_huff_compress.cpp +0 -0
  90. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/ms-compress/src/xpress_huff_decompress.cpp +0 -0
  91. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/oscompatibility.c +0 -0
  92. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/oscompatibility.h +0 -0
  93. {leechcorepyc-2.22.2 → leechcorepyc-2.22.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: leechcorepyc
3
- Version: 2.22.2
3
+ Version: 2.22.3
4
4
  Summary: LeechCore for Python
5
5
  Home-page: https://github.com/ufrisk/LeechCore
6
6
  Author: Ulf Frisk
@@ -293,6 +293,8 @@ typedef struct tdDEVICE_CONTEXT_FPGA {
293
293
  } tlp_callback;
294
294
  BOOL fFT601;
295
295
  BOOL fCustomDriver;
296
+ BOOL fATS;
297
+ BYTE bAT;
296
298
  } DEVICE_CONTEXT_FPGA, *PDEVICE_CONTEXT_FPGA;
297
299
 
298
300
  // STRUCT FROM FTD3XX.h
@@ -339,7 +341,7 @@ typedef struct {
339
341
 
340
342
  typedef struct tdTLP_HDR {
341
343
  WORD Length : 10;
342
- WORD _AT : 2;
344
+ WORD AT : 2;
343
345
  WORD _Attr : 2;
344
346
  WORD _EP : 1;
345
347
  WORD _TD : 1;
@@ -2354,6 +2356,7 @@ VOID DeviceFPGA_Synch_ReadScatter_Impl(_In_ PLC_CONTEXT ctxLC, _In_ DWORD cMEMs,
2354
2356
  BYTE bTag;
2355
2357
  SIZE_T cbTlpRaw;
2356
2358
  BYTE pbTlpRaw[TLP_RX_MAX_SIZE];
2359
+ BOOL fATS = ctx->fATS;
2357
2360
  // TX queued RAW TLPs (if any) from other threads and flush:
2358
2361
  if(ObByteQueue_Size(ctx->tlp_callback.pBqTx)) {
2359
2362
  while(ObByteQueue_Pop(ctx->tlp_callback.pBqTx, NULL, sizeof(pbTlpRaw), pbTlpRaw, &cbTlpRaw)) {
@@ -2392,6 +2395,7 @@ VOID DeviceFPGA_Synch_ReadScatter_Impl(_In_ PLC_CONTEXT ctxLC, _In_ DWORD cMEMs,
2392
2395
  is32 = pDMA->qwA < 0x100000000;
2393
2396
  if(is32) {
2394
2397
  hdrRd32->h.TypeFmt = TLP_MRd32;
2398
+ if(fATS) { hdrRd32->h.AT = ctx->bAT; }
2395
2399
  hdrRd32->h.Length = (WORD)((cb < 0x1000) ? cb >> 2 : 0);
2396
2400
  hdrRd32->RequesterID = ctx->wDeviceId;
2397
2401
  hdrRd32->Tag = bTag;
@@ -2400,6 +2404,7 @@ VOID DeviceFPGA_Synch_ReadScatter_Impl(_In_ PLC_CONTEXT ctxLC, _In_ DWORD cMEMs,
2400
2404
  hdrRd32->Address = (DWORD)(pDMA->qwA + o);
2401
2405
  } else {
2402
2406
  hdrRd64->h.TypeFmt = TLP_MRd64;
2407
+ if(fATS) { hdrRd64->h.AT = ctx->bAT; }
2403
2408
  hdrRd64->h.Length = (WORD)((cb < 0x1000) ? cb >> 2 : 0);
2404
2409
  hdrRd64->RequesterID = ctx->wDeviceId;
2405
2410
  hdrRd64->Tag = bTag;
@@ -2679,6 +2684,7 @@ VOID DeviceFPGA_Async2_Read_TxTlpSingle_MrdTlp(_In_ PLC_CONTEXT ctxLC, _In_ PDEV
2679
2684
  PTLP_HDR_MRdWr32 hdrRd32 = (PTLP_HDR_MRdWr32)tx;
2680
2685
  if(f32) {
2681
2686
  hdrRd32->h.TypeFmt = TLP_MRd32;
2687
+ if(ctx->fATS) { hdrRd32->h.AT = ctx->bAT; }
2682
2688
  hdrRd32->h.Length = wTlpDwLength;
2683
2689
  hdrRd32->RequesterID = ctx->wDeviceId;
2684
2690
  hdrRd32->Tag = iTag;
@@ -2687,6 +2693,7 @@ VOID DeviceFPGA_Async2_Read_TxTlpSingle_MrdTlp(_In_ PLC_CONTEXT ctxLC, _In_ PDEV
2687
2693
  hdrRd32->Address = (DWORD)(qwA);
2688
2694
  } else {
2689
2695
  hdrRd64->h.TypeFmt = TLP_MRd64;
2696
+ if(ctx->fATS) { hdrRd32->h.AT = ctx->bAT; }
2690
2697
  hdrRd64->h.Length = wTlpDwLength;
2691
2698
  hdrRd64->RequesterID = ctx->wDeviceId;
2692
2699
  hdrRd64->Tag = iTag;
@@ -3310,6 +3317,7 @@ VOID DeviceFPGA_ProbeMEM_Impl(_In_ PLC_CONTEXT ctxLC, _In_ QWORD qwAddr, _In_ DW
3310
3317
  is32 = qwAddr + (i << 12) < 0x100000000;
3311
3318
  if(is32) {
3312
3319
  hdrRd32->h.TypeFmt = TLP_MRd32;
3320
+ if(ctx->fATS) { hdrRd32->h.AT = ctx->bAT; }
3313
3321
  hdrRd32->h.Length = 1;
3314
3322
  hdrRd32->RequesterID = ctx->wDeviceId;
3315
3323
  hdrRd32->FirstBE = 0xf;
@@ -3318,6 +3326,7 @@ VOID DeviceFPGA_ProbeMEM_Impl(_In_ PLC_CONTEXT ctxLC, _In_ QWORD qwAddr, _In_ DW
3318
3326
  hdrRd32->Tag = (BYTE)((i >> 5) & 0x1f); // 5 high address bits coded into tag.
3319
3327
  } else {
3320
3328
  hdrRd64->h.TypeFmt = TLP_MRd64;
3329
+ if(ctx->fATS) { hdrRd32->h.AT = ctx->bAT; }
3321
3330
  hdrRd64->h.Length = 1;
3322
3331
  hdrRd64->RequesterID = ctx->wDeviceId;
3323
3332
  hdrRd64->FirstBE = 0xf;
@@ -3376,6 +3385,7 @@ BOOL DeviceFPGA_WriteMEM_TXP(_In_ PLC_CONTEXT ctxLC, _Inout_ PDEVICE_CONTEXT_FPG
3376
3385
  memset(pbTlp, 0, 16);
3377
3386
  if(pa < 0x100000000) {
3378
3387
  hdrWr32->h.TypeFmt = TLP_MWr32;
3388
+ if(ctx->fATS) { hdrWr32->h.AT = ctx->bAT; }
3379
3389
  hdrWr32->h.Length = (WORD)(cb + 3) >> 2;
3380
3390
  hdrWr32->FirstBE = bFirstBE;
3381
3391
  hdrWr32->LastBE = bLastBE;
@@ -3389,6 +3399,7 @@ BOOL DeviceFPGA_WriteMEM_TXP(_In_ PLC_CONTEXT ctxLC, _Inout_ PDEVICE_CONTEXT_FPG
3389
3399
  cbTlp = (12 + cb + 3) & ~0x3;
3390
3400
  } else {
3391
3401
  hdrWr64->h.TypeFmt = TLP_MWr64;
3402
+ if(ctx->fATS) { hdrWr64->h.AT = ctx->bAT; }
3392
3403
  hdrWr64->h.Length = (WORD)(cb + 3) >> 2;
3393
3404
  hdrWr64->FirstBE = bFirstBE;
3394
3405
  hdrWr64->LastBE = bLastBE;
@@ -3848,6 +3859,7 @@ BOOL DeviceFPGA_SetOption_DoLock(_In_ PLC_CONTEXT ctxLC, _In_ QWORD fOption, _In
3848
3859
  #define FPGA_PARAMETER_DEVICE_ID "bdf"
3849
3860
  #define FPGA_PARAMETER_DRIVER "driver"
3850
3861
  #define FPGA_PARAMETER_FT601 "ft601"
3862
+ #define FPGA_PARAMETER_ATS "ats"
3851
3863
 
3852
3864
  #define FPGA_PARAMETER_ALGO_TINY 0x01
3853
3865
  #define FPGA_PARAMETER_ALGO_SYNCHRONOUS 0x02
@@ -3885,6 +3897,8 @@ BOOL DeviceFPGA_Open(_Inout_ PLC_CONTEXT ctxLC, _Out_opt_ PPLC_CONFIG_ERRORINFO
3885
3897
  }
3886
3898
  if(szDeviceError) { goto fail; }
3887
3899
  ctx->fRestartDevice = (1 == LcDeviceParameterGetNumeric(ctxLC, FPGA_PARAMETER_RESTART_DEVICE));
3900
+ ctx->bAT = (BYTE)LcDeviceParameterGetNumeric(ctxLC, FPGA_PARAMETER_ATS);
3901
+ ctx->fATS = ((ctx->bAT >= 1) && (ctx->bAT <= 3));
3888
3902
  DeviceFPGA_GetDeviceID_FpgaVersion(ctx);
3889
3903
  if(!ctx->wFpgaVersionMajor) {
3890
3904
  szDeviceError = "Unable to connect to FPGA device";
@@ -3,8 +3,8 @@
3
3
 
4
4
  #define VERSION_MAJOR 2
5
5
  #define VERSION_MINOR 22
6
- #define VERSION_REVISION 2
7
- #define VERSION_BUILD 88
6
+ #define VERSION_REVISION 3
7
+ #define VERSION_BUILD 89
8
8
 
9
9
  #define VER_FILE_DESCRIPTION_STR "LeechCore Memory Acquisition Library"
10
10
  #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
@@ -5,8 +5,8 @@
5
5
 
6
6
  #define VERSION_MAJOR 2
7
7
  #define VERSION_MINOR 22
8
- #define VERSION_REVISION 1
9
- #define VERSION_BUILD 87
8
+ #define VERSION_REVISION 2
9
+ #define VERSION_BUILD 88
10
10
 
11
11
  #define VER_FILE_DESCRIPTION_STR "LeechCorePlugin : RAWTCP"
12
12
  #define VER_FILE_VERSION VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION, VERSION_BUILD
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.2
2
2
  Name: leechcorepyc
3
- Version: 2.22.2
3
+ Version: 2.22.3
4
4
  Summary: LeechCore for Python
5
5
  Home-page: https://github.com/ufrisk/LeechCore
6
6
  Author: Ulf Frisk
@@ -19,7 +19,7 @@ leechcorepyc = Extension(
19
19
 
20
20
  setup(
21
21
  name='leechcorepyc',
22
- version='2.22.2', # VERSION_END
22
+ version='2.22.3', # VERSION_END
23
23
  description='LeechCore for Python',
24
24
  long_description='LeechCore for Python : native extension for physical memory access',
25
25
  url='https://github.com/ufrisk/LeechCore',
File without changes
File without changes
File without changes
File without changes
File without changes