Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are you looking for help with PCIe fuzzing? #14

Open
teknoman117 opened this issue Sep 22, 2021 · 2 comments
Open

Are you looking for help with PCIe fuzzing? #14

teknoman117 opened this issue Sep 22, 2021 · 2 comments

Comments

@teknoman117
Copy link

I finally got my CrossLink-NX evaluation board (with a LICFL-40-8BG400C) and I put together a PCIe x1 to SMA board (https://github.com/teknoman117/PCIEX1-SMA) which I'm currently waiting on to arrive along with all of the SMA connectors and cables. Hopefully everything will be here by the end of the month.

I hope to be able to get a super simple example with the Lattice IP core working soon after assembling everything (basically just hook a GPIO bridge to the AHB-Lite master). After figuring out if it works at all, I'll try to port litepcie to it.

Either way, I just wanted to reach out to say that if PCIe support hasn't been figured out yet due to a lack of PCIe capable hardware, I will soon be able to run whatever tests you want.

@gatecat
Copy link
Owner

gatecat commented Sep 23, 2021

Hi! There's a WIP fuzzer for PCIe in https://github.com/gatecat/prjoxide/tree/master/fuzzers/LIFCL/162-pcie-ipconfig, however, the results aren't pushed because I was seeing some dubious output, for example:

+    "BAR_INDEX_CFG4_A": (
+      bits: [
+        [(frame:16823,bit:0,invert:false,),(frame:20919,bit:0,invert:false,),(frame:25015,bit:0,invert:false,),(frame:29111,bit:0,invert:false,),],
+        [(frame:16823,bit:1,invert:false,),(frame:20919,bit:1,invert:false,),(frame:25015,bit:1,invert:false,),(frame:29111,bit:1,invert:false,),],
+        [(frame:16823,bit:2,invert:false,),(frame:20919,bit:2,invert:false,),(frame:25015,bit:2,invert:false,),(frame:29111,bit:2,invert:false,),],
+      ],
+    ),
+    "BAR_INDEX_CFG4_B": (
+      bits: [
+        [],
+        [],
+        [],
+      ],
+    ),
+    "BAR_INDEX_CFG4_C": (
+      bits: [
+        [],
+        [],
+        [],
+      ],

where you can see BAR_INDEX_CFG4_A affects four bits but _B and _C affect none. If you have designs that work in Radiant, that's already useful, as I suspect there's some non-obvious interaction between parameters going on.

@teknoman117
Copy link
Author

teknoman117 commented Oct 28, 2021

I just wanted to post an update that I have a working PCIe setup now (link established with the lattice IP) and that I'm going to start experimenting.

https://raw.githubusercontent.com/teknoman117/PCIEX1-SMA/master/Assets/Lattice-Crosslink-NX-EVN.jpg

https://raw.githubusercontent.com/teknoman117/PCIEX1-SMA/master/Assets/Link-Established.jpg

gburgessiv added a commit to gburgessiv/prjoxide that referenced this issue Sep 24, 2022
Clap was fixed to `<=3.0.0-beta.2` in gatecat#14. Upon further investigation,
`beta.4` was functioning as intended; it simply bumped clap's MSRV to
1.54 (see clap-rs/clap#2741).

Clap 3.1 supports Rust as early as 1.54. Upgrade to that (with a few
fixes for a rename that happened in `3.0.0-beta.5`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants