hBPF
glasgow
hBPF | glasgow | |
---|---|---|
3 | 4 | |
386 | 1,858 | |
- | 2.6% | |
0.0 | 9.4 | |
over 1 year ago | 5 days ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | BSD Zero Clause License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
hBPF
- HBPF – eBPF in Hardware
-
Hacker News top posts: Apr 1, 2022
HBPF – eBPF in Hardware\ (2 comments)
glasgow
-
SuperH
This post is so timely!
Does anybody in this thread have details about the H-UDI proprietary SH4 JTAG extensions? Context here:
https://github.com/GlasgowEmbedded/glasgow/discussions/290
-
Facts every web dev should know before they burn out and turn to painting
Hmm. A followup question: are there any cheats/hacks that would make it possible (if painful) to for example explore the world of USB3, PCIe, or Linux on low-end-ish ARM (eg https://www.thirtythreeforty.net/posts/2019/12/my-business-c..., based on the 533MHz https://linux-sunxi.org/F1C100s), without needing to buy equipment in the mid-4-figure/low-5-figure range, if I were able to substitute a statistically larger-than-average amount of free time (and discipline)?
For example, I learned about https://github.com/GlasgowEmbedded/glasgow recently, a bit of a niche kitchen sink that uses https://github.com/nmigen/nmigen/ to lower a domain-specific subset of Python 3 (https://nmigen.info/nmigen/latest/lang.html) into Verilog which then runs on the Glasgow board's iCE40HX8K. The project basically makes it easier to use cheap FPGAs for rapid iteration. (The README makes a point that the synthesis is sufficiently fast that caching isn't needed.)
In certain extremely specific situations where circumstances align perfectly (caveat emptor), devices like this can sometimes present a temporary escape to the inevitable process of acquiring one's first second-hand high-end oscilloscope (fingers-crossed the expensive bits still have a few years left in them). To some extent they may also commoditize the exploration of very high-speed interfaces, which are rapidly becoming a commonplace principal of computers (eg, having 10Gbps everywhere when USB3.1 hits market saturation will be interesting) faster than test and analysis kit can keep up (eg to do proper hardware security analysis work). The Glasgow is perhaps not quite an answer to that entire statement, but maybe represents beginning steps in that sort of direction.
So, to reiterate - it's probably an unhelpfully broad question, and I'm still learning about the field so haven't quite got the preciseness I want yet, but I'm curious what gadgetry, techniques, etc would perhaps allow someone to "hack it" and dive into this stuff on a shoestring budget? :)
- How does USB device discovery work? [video]
-
Glasgow Interface Explorer: First fully open source FPGA based digital interface tool, allows you to decode, probe, and reverse engineer nearly any digital interface from Python
Project GitHub: https://github.com/GlasgowEmbedded/glasgow
What are some alternatives?
gilstats.py - A utility for dumping per-thread statistics for CPython GIL using eBPF
amaranth - A modern hardware definition language and toolchain based on Python
postlite - Postgres wire compatible SQLite proxy.
pclk-mn10 - (Attempting to) control the PCLK-MN10 USB device
FPGA_HW_SIM_FWK_2 - FPGA Hardware Simulation Framework
WireViz - Easily document cables and wiring harnesses.
dechainy - An open source framework to easily build and deploy eBPF/XDP network monitoring probes and clusters in order to perform Service Programs Chain efficiently.
eslint-plugin-compat - Check the browser compatibility of your code
secimport - eBPF Python runtime sandbox with seccomp (Blocks RCE).
electron-inject - Inject javascript into closed source electron applications e.g. to enable developer tools for debugging.
browserslist - 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env
PyHardwareLibrary - A simple application-oriented and device-oriented library with a variety of communication ports for controlling devices (POSIX serial, USB, etc...)