Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
cakehonolulu
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
31.
▲
by
cakehonolulu
9mo ago
Highly interesting! I kinda wanted not to rely on QEMU as a default "end" for the emulation (As in, I want the end user to be able to choose whatever userspace shim/transport layer/thing they want), but for some of my te
32.
▲
by
cakehonolulu
9mo ago
Hi! PCIEM_EVENT_MMIO_READ is kept for reference on the while (head != tail) loop just to remind the user that there can be more than 1 event registered in terms of access type. Let's say that you register your watchpoint in READ mode (
33.
▲
by
cakehonolulu
9mo ago
I feel like libfvio-user is a cool project and works perfectly fine, that is, if you want to have the device on the host's userspace but exposed to a VM (QEMU, in this case). PCIem kinda does that, but it's down a level; in terms
34.
▲
by
cakehonolulu
9mo ago
Hi! That's correct. We need a way to have a chunk of what Linux calls "Reserved" memory for the virtual BAR trick. Currently, PCIem only thinks about a single device (Since I first needed to have something that worked in orde
35.
▲
by
cakehonolulu
9mo ago
I'd love to! Sure sounds like the natural next step for this.
36.
▲
by
cakehonolulu
9mo ago
You can definitely proxy the transactions wherever you may see fit, but I'm not completely sure how that'd work. As in, PCIem is going to populate the bus with virtually the same card (At least, in terms of capabilities, vendor&#x
37.
▲
by
cakehonolulu
9mo ago
Hi! Sorry, this is an issue on my side; I forgot to update the documentation's example with the latest changes. You basically have the kernel eventfd notify you about any access triggered (Based on your configuration), so from userspac
38.
▲
by
cakehonolulu
9mo ago
Anytime, hopefully it fits your needs and helps you not spend more time than needed tracing issues like this. Thanks for the comment!
39.
▲
by
cakehonolulu
9mo ago
Sure! Let's say you (Or the company you work for) are trying to develop an NVME controller card, or a RAID card, or a NIC... Usually, without actual silicon, you are pretty limited on what you can do in terms of anticipating the softwa
40.
▲
by
cakehonolulu
9mo ago
As in, getting the PCIem shim to show up on a VM (Like, passthrough)? If that's what you're asking for, then; it's something being explored currently. Main challenges come from the subsystem that has to "unbind" the
41.
▲
by
cakehonolulu
9mo ago
Hi! I do have some rudimentary docs on which I made a simple device for example pruposes: https://cakehonolulu.github.io/docs/pciem/simple_device_walk... Hopefully this is what you're searching for!
42.
▲
by
cakehonolulu
9mo ago
Indeed, the project has gone through a few iterations already (It was first a monolithic kernel module that required a secondary module to call into the API and whatnot). I've went towards a more userspace-friendly usage mainly so that
43.
▲
by
cakehonolulu
9mo ago
If there's any particular feature you feel you are missing on PCIem or anything, feel free to open an Issue and I'll look into it ;)
44.
▲
by
cakehonolulu
9mo ago
Indeed, and even then, there's some sw-hw-codesign stuff that kinda helps you do what PCIem does but it's usually really pricey; so I kinda thought it'd be a good thing to have for free. PCIe prototyping is usually not someth
45.
▲
by
cakehonolulu
9mo ago
Hi! Author here! You can technically offload the transactions the real driver on your host does to wherever you want really. PCI is very delay-tolerant and it usually negotiates with the device so I see not much of an issue doing that p