{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":237307883,"defaultBranch":"master","name":"opae-sim","ownerLogin":"OFS","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2020-01-30T21:19:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/111590853?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1707494861.0","currentOid":""},"activityList":{"items":[{"before":"0c5957dd4399bb7e77bb69e83614884a61cfe49c","after":"8a1f1498816d9e6dcbfdac67f2c27491e5189671","ref":"refs/heads/master","pushedAt":"2024-02-25T01:05:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Fix memory management when allocation is not exactly a page size\n\nHE LPBK allocates 64KB memory regions, which works on HW. Update ASE to\nmap these allocations reasonably to its page table emulation.","shortMessageHtmlLink":"Fix memory management when allocation is not exactly a page size"}},{"before":null,"after":"0c5957dd4399bb7e77bb69e83614884a61cfe49c","ref":"refs/heads/release/2.12.0","pushedAt":"2024-02-09T16:07:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"pcolberg","name":"Peter Colberg","path":"/pcolberg","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/73602623?s=80&v=4"},"commit":{"message":"modelsim now called questasim in Quartus","shortMessageHtmlLink":"modelsim now called questasim in Quartus"}},{"before":"3c9671cad948a9cd3871c0ece07f77166f901008","after":"0c5957dd4399bb7e77bb69e83614884a61cfe49c","ref":"refs/heads/master","pushedAt":"2024-02-08T19:59:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"modelsim now called questasim in Quartus","shortMessageHtmlLink":"modelsim now called questasim in Quartus"}},{"before":"e163c40c0f43112e9a2596952a1e9aa9e31a08ca","after":"3c9671cad948a9cd3871c0ece07f77166f901008","ref":"refs/heads/master","pushedAt":"2024-01-23T15:14:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Avoid error on new flag: FPGA_OPEN_HAS_PARENT_AFU","shortMessageHtmlLink":"Avoid error on new flag: FPGA_OPEN_HAS_PARENT_AFU"}},{"before":"4a1b942e3cf1a191b45a4f083e64b8d633d74f28","after":null,"ref":"refs/heads/mcadler/multi_link","pushedAt":"2024-01-09T22:36:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"dd2514cc68f724f9beb84e078070a7bf90b9a4af","after":"e163c40c0f43112e9a2596952a1e9aa9e31a08ca","ref":"refs/heads/master","pushedAt":"2024-01-09T22:32:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add OPAE SDK plugin methods to support parent/child AFUs","shortMessageHtmlLink":"Add OPAE SDK plugin methods to support parent/child AFUs"}},{"before":null,"after":"4a1b942e3cf1a191b45a4f083e64b8d633d74f28","ref":"refs/heads/mcadler/multi_link","pushedAt":"2024-01-08T18:44:55.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add OPAE SDK plugin methods to support parent/child AFUs","shortMessageHtmlLink":"Add OPAE SDK plugin methods to support parent/child AFUs"}},{"before":"8b8d3766d5c8dfa66d8d7f230f9a4caa10c3a3cb","after":null,"ref":"refs/heads/mcadler/multi_vf","pushedAt":"2024-01-03T14:42:05.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"ec16dffda11cb035646cc4c6edc23de44d74997b","after":"dd2514cc68f724f9beb84e078070a7bf90b9a4af","ref":"refs/heads/master","pushedAt":"2024-01-02T20:39:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add multi-VF support to ASE (#54)\n\nPCIe SS versions of ASE already include a PF/VF MUX. This update emulates AFU\r\nports as VFs of PF0.\r\n\r\n- Port discovery enumerates AFU UUIDs on all VFs.\r\n- The standard OPAE UUID search will find an AFU on any VF.\r\n- Multiple VFs may be open simultaneously.\r\n- IOVA mappings are associated with particular VFs.\r\n- Remove IOVA mappings for at fpgaClose().\r\n- Print emulated B:D:F and GUID of discovered AFUs.\r\n- Legacy CCI-P and OFS EA variants remain limited to one port.","shortMessageHtmlLink":"Add multi-VF support to ASE (#54)"}},{"before":"d7bc4d2d30694e70a79ae7bfdf14056c4a0d0de8","after":"8b8d3766d5c8dfa66d8d7f230f9a4caa10c3a3cb","ref":"refs/heads/mcadler/multi_vf","pushedAt":"2023-12-26T15:43:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add multi-VF support to ASE\n\nPCIe SS versions of ASE already include a PF/VF MUX. This update emulates AFU\nports as VFs of PF0.\n\n- Port discovery enumerates AFU UUIDs on all VFs.\n- The standard OPAE UUID search will find an AFU on any VF.\n- Multiple VFs may be open simultaneously.\n- IOVA mappings are associated with particular VFs.\n- Remove IOVA mappings for at fpgaClose().\n- Print emulated B:D:F and GUID of discovered AFUs.\n- Legacy CCI-P and OFS EA variants remain limited to one port.","shortMessageHtmlLink":"Add multi-VF support to ASE"}},{"before":"b365b8d5e59669c41c0eff29143c0bb29b5b134e","after":"d7bc4d2d30694e70a79ae7bfdf14056c4a0d0de8","ref":"refs/heads/mcadler/multi_vf","pushedAt":"2023-12-26T15:40:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"- Remove IOVA mappings for at fpgaClose()\n- Print emulated B:D:F and GUID of discovered AFUs","shortMessageHtmlLink":"- Remove IOVA mappings for at fpgaClose()"}},{"before":null,"after":"b365b8d5e59669c41c0eff29143c0bb29b5b134e","ref":"refs/heads/mcadler/multi_vf","pushedAt":"2023-12-22T23:21:59.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add multi-VF support to ASE\n\nPCIe SS versions of ASE already include a PF/VF MUX. This update emulates AFU\nports as VFs of PF0.\n\n- Port discovery enumerates AFU UUIDs on all VFs.\n- The standard OPAE UUID search will find an AFU on any VF.\n- Multiple VFs may be open simultaneously.\n- IOVA mappings are associated with particular VFs.\n- Legacy CCI-P and OFS EA variants remain limited to one port.","shortMessageHtmlLink":"Add multi-VF support to ASE"}},{"before":"697ccf98e736b3446f64d93950ebd18e17ec1c0c","after":"ec16dffda11cb035646cc4c6edc23de44d74997b","ref":"refs/heads/master","pushedAt":"2023-12-21T19:55:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add a parameter to set the number of PCIe ports expected by the AFU","shortMessageHtmlLink":"Add a parameter to set the number of PCIe ports expected by the AFU"}},{"before":"6266a033816ef88288b65c9e9b87de6e581fb5f0","after":"697ccf98e736b3446f64d93950ebd18e17ec1c0c","ref":"refs/heads/master","pushedAt":"2023-12-06T03:09:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Handle read/write from physical addresses returned by PCIe ATS","shortMessageHtmlLink":"Handle read/write from physical addresses returned by PCIe ATS"}},{"before":null,"after":"6266a033816ef88288b65c9e9b87de6e581fb5f0","ref":"refs/heads/release/2.10.0","pushedAt":"2023-11-09T21:40:58.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"sophimao","name":"Sophie Mao","path":"/sophimao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/106994021?s=80&v=4"},"commit":{"message":"Add emulation of PCIe ATS invalidation (#53)\n\n- New LD_PRELOAD library that detects munmap() calls a hook in ASE to trigger\r\n invalidation. The LD_PRELOAD is set by \"with_ase\".\r\n- Generate ATS invalidation requests, handle responses.\r\n- Timeout when invalidation responses don't arrive, raising an error. The same error\r\n on HW can crash a host.","shortMessageHtmlLink":"Add emulation of PCIe ATS invalidation (#53)"}},{"before":"567349399a2997600f2e58f677182c699b2fd76a","after":null,"ref":"refs/heads/mcadler/ats_inval","pushedAt":"2023-10-30T22:00:18.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"2fa09f43dbf1d3e399e308f2a5488220ed26ecd1","after":"6266a033816ef88288b65c9e9b87de6e581fb5f0","ref":"refs/heads/master","pushedAt":"2023-10-30T22:00:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add emulation of PCIe ATS invalidation (#53)\n\n- New LD_PRELOAD library that detects munmap() calls a hook in ASE to trigger\r\n invalidation. The LD_PRELOAD is set by \"with_ase\".\r\n- Generate ATS invalidation requests, handle responses.\r\n- Timeout when invalidation responses don't arrive, raising an error. The same error\r\n on HW can crash a host.","shortMessageHtmlLink":"Add emulation of PCIe ATS invalidation (#53)"}},{"before":"e975b99214dc1e223c36120798fc2550b25240be","after":"567349399a2997600f2e58f677182c699b2fd76a","ref":"refs/heads/mcadler/ats_inval","pushedAt":"2023-10-28T14:07:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add emulation of PCIe ATS invalidation\n\n- New LD_PRELOAD library that detects munmap() calls a hook in ASE to trigger\n invalidation. The LD_PRELOAD is set by \"with_ase\".\n- Generate ATS invalidation requests, handle responses.\n- Timeout when invalidation responses don't arrive, raising an error. The same error\n on HW can crash a host.","shortMessageHtmlLink":"Add emulation of PCIe ATS invalidation"}},{"before":null,"after":"e975b99214dc1e223c36120798fc2550b25240be","ref":"refs/heads/mcadler/ats_inval","pushedAt":"2023-10-27T23:38:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add emulation of PCIe ATS invalidation\n\n- New LD_PRELOAD library that detects munmap() calls a hook in ASE to trigger\n invalidation. The LD_PRELOAD is set by \"with_ase\".\n- Generate ATS invalidation requests, handle responses.\n- Timeout when invalidation responses don't arrive, raising an error. The same error\n on HW can crash a host.","shortMessageHtmlLink":"Add emulation of PCIe ATS invalidation"}},{"before":"83dff3f5ba2e8550606628ba8ac829512cc9fd17","after":null,"ref":"refs/heads/mcadler/pcie_prs","pushedAt":"2023-10-18T22:18:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"eac1faca1a47077f4242aa2d6d2315315836fb1f","after":"2fa09f43dbf1d3e399e308f2a5488220ed26ecd1","ref":"refs/heads/master","pushedAt":"2023-10-18T22:18:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"[Update] Add emulation of PCIe PRS request and response (#52)","shortMessageHtmlLink":"[Update] Add emulation of PCIe PRS request and response (#52)"}},{"before":"97cfa1405d2c8beccafd77bfd929d3d74e2a42c6","after":"83dff3f5ba2e8550606628ba8ac829512cc9fd17","ref":"refs/heads/mcadler/pcie_prs","pushedAt":"2023-10-18T22:14:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Fix tabs","shortMessageHtmlLink":"Fix tabs"}},{"before":null,"after":"97cfa1405d2c8beccafd77bfd929d3d74e2a42c6","ref":"refs/heads/mcadler/pcie_prs","pushedAt":"2023-10-18T21:26:46.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Add emulation of PCIe PRS request and response","shortMessageHtmlLink":"Add emulation of PCIe PRS request and response"}},{"before":"a578c1e2e6d1e18a82b3b0cace8c290c0624db73","after":null,"ref":"refs/heads/mcadler/iova_pa_tracker","pushedAt":"2023-10-11T23:23:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"97e936f238cd3431a96a039c443349e47fa3eba6","after":"eac1faca1a47077f4242aa2d6d2315315836fb1f","ref":"refs/heads/master","pushedAt":"2023-10-11T23:23:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Initial support for PCIe ATS emulation (#51)\n\nUpdate ASE's IOMMU emulation to support two spaces: IOVA and PA. With the update,\r\nIOVAs are now assigned using the same library as the real OPAE SDK and vfio.\r\nPinned pages now go through this path, using IOVAs assigned by the library.\r\n\r\nFor PCIe ATS, ASE now maintains a simulated physical address space that is\r\nseparate from IOVA. This commit contains the bare minimum for detecting a\r\ntranslation request and responding with a single PA. PRS and invalidation\r\nare not yet emulated. munmap() is not tracked yet.","shortMessageHtmlLink":"Initial support for PCIe ATS emulation (#51)"}},{"before":null,"after":"a578c1e2e6d1e18a82b3b0cace8c290c0624db73","ref":"refs/heads/mcadler/iova_pa_tracker","pushedAt":"2023-10-11T21:47:26.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Initial support for PCIe ATS emulation\n\nUpdate ASE's IOMMU emulation to support two spaces: IOVA and PA. With the update,\nIOVAs are now assigned using the same library as the real OPAE SDK and vfio.\nPinned pages now go through this path, using IOVAs assigned by the library.\n\nFor PCIe ATS, ASE now maintains a simulated physical address space that is\nseparate from IOVA. This commit contains the bare minimum for detecting a\ntranslation request and responding with a single PA. PRS and invalidation\nare not yet emulated. munmap() is not tracked yet.","shortMessageHtmlLink":"Initial support for PCIe ATS emulation"}},{"before":"83b9d769f786fb82b7069e0a3381c34431e224e0","after":"97e936f238cd3431a96a039c443349e47fa3eba6","ref":"refs/heads/master","pushedAt":"2023-10-06T17:47:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"[Bug Fix] : afu_sim_setup is using source files from PD meant for Synthesis instead of Simulation, which does not work for encrypted IP. IP files listed in sources.txt skipped (#50)\n\n* HSD 22018472968 - Updated generate_ase_environment.py. Scripts using qsys generate with synthesis argument , updated it to simulation based on feedback from hardware team that they don't know of any IP with only synthesis files. Script had bug and was skipping over .ip files listed in sources.txt. Fixed code to not skip over .ip files and generate simulations collateral for them using qsys generate -sim. Tested on project provided by ryan , p4 project","shortMessageHtmlLink":"[Bug Fix] : afu_sim_setup is using source files from PD meant for Syn…"}},{"before":"1450446ded7e29d0f0010ffa469d20d0849b01e7","after":null,"ref":"refs/heads/mcadler/bind_sva","pushedAt":"2023-09-22T20:57:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"}},{"before":"7c9f34a1f13d738f706a59c756c6c24384a80e9a","after":"83b9d769f786fb82b7069e0a3381c34431e224e0","ref":"refs/heads/master","pushedAt":"2023-09-22T20:57:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Feature - Add fpgaBindSVA() to match OPAE (#48)\n\nAllocates a PASID with the same interface as OPAE. Does not yet\r\nemulate PCIe ATS/PRS with PASID.","shortMessageHtmlLink":"Feature - Add fpgaBindSVA() to match OPAE (#48)"}},{"before":"d8e90ace7a6586e844b151be2286b5ace4e57119","after":"1450446ded7e29d0f0010ffa469d20d0849b01e7","ref":"refs/heads/mcadler/bind_sva","pushedAt":"2023-09-22T20:24:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"michael-adler","name":"Michael Adler","path":"/michael-adler","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10950878?s=80&v=4"},"commit":{"message":"Allow NULL pasid pointer in ase_fpgaBindSVA().","shortMessageHtmlLink":"Allow NULL pasid pointer in ase_fpgaBindSVA()."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBEF6PwA","startCursor":null,"endCursor":null}},"title":"Activity · OFS/opae-sim"}