| ▲ | cakehonolulu 4 hours 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 proven that you can efficiently and performantly manage the throughput throughout the architecture. The thing that kinda makes PCIem special is that you are pretty much free to do whatever you want with the accesses the driver does, you have total freedom. I have made a simple NVME controller (With a 1GB drive I basically malloc'd) which pops up on the local PCI bus (And the regular Linux's nvme block driver attaches to it just fine). You can format it, mount it, create files, folders... it's kinda neat. I also have a simple dumb rasteriser that I made inside QEMU that I wanted to write a driver for, but since it doesn't exist, I used PCIem to help me redirect the driver writes to the QEMU instance hosting the card (Thus was able to run software-rendered DOOM, OpenGL 1.X-based Quake and Half-Life ports). | |||||||||||||||||||||||
| ▲ | yndoendo an hour ago | parent | next [-] | ||||||||||||||||||||||
Just to hijack this thread on how resilient PCIe is. PS4 Linux hackers ran PCIe over UART serial connection to reverse engineer the GPU. [0] [1] [0] https://www.psdevwiki.com/ps4/PCIe [1] https://fail0verflow.com/blog/2016/console-hacking-2016-post... | |||||||||||||||||||||||
| ▲ | jacquesm 3 hours ago | parent | prev | next [-] | ||||||||||||||||||||||
Fantastic tool, thank you for making this it is one of those things that you never knew you needed until someone took the time to put it together. | |||||||||||||||||||||||
| ▲ | gigatexal 3 hours ago | parent | prev [-] | ||||||||||||||||||||||
This is really interesting. Could it be used to carve up a host GPU for use in a guest VM? | |||||||||||||||||||||||
| |||||||||||||||||||||||