>From 33b34d67881f945bdc9fa1ff2405bf1f93e20484 Mon Sep 17 00:00:00 2001 From: Joshua Branson Date: Fri, 9 Nov 2018 11:54:06 -0500 Subject: [PATCH] I added some detail to the open_issues/pci_possibilities page. --- open_issues/images/pci_possibilities.png | Bin 0 -> 87902 bytes open_issues/pci_arbiter.mdwn | 73 ++++++++++++++++++++++- 2 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 open_issues/images/pci_possibilities.png diff --git a/open_issues/images/pci_possibilities.png b/open_issues/images/pci_possibilities.png new file mode 100644 index 0000000000000000000000000000000000000000..e65fda369d1870ce58a60fd9854f6050d9d4c209 GIT binary patch literal 87902 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 F{|}u7?`Qx3 literal 0 HcmV?d00001 diff --git a/open_issues/pci_arbiter.mdwn b/open_issues/pci_arbiter.mdwn index 7730cee0..7fdb4323 100644 --- a/open_issues/pci_arbiter.mdwn +++ b/open_issues/pci_arbiter.mdwn @@ -10,8 +10,79 @@ License|/fdl]]."]]"""]] [[!tag open_issue_hurd]] -For [[DDE]]/X.org/... +For [[DDE]]/[[Rump_kernel]]/X.org/... +PCI stands for Peripheral Component Interconnect, and it is a hardware standard +for allowing multiple devices to communicate together and with the rest of the +system smoothly. This is a little bit like multiple people speaking over one +telephone: only one person can talk at a time. In the same way, a software +PCI Arbiter, ensures that every devices gets a chance to communicate and ensure +maximum performance. + +A current example is Xorg, rump sound drivers, and netdde wifi drivers, etc. All +need to access PCI config space at bootup. Currently, at bootup PCI access is +sequential: gnumach, netdde, and then Xorg. The PCI Arbiter will eventually allow +concurrent access to the PCI config space. + +The Hurd now has a PCI Arbiter, but it could use some more polishing. You can find +its TODO file [[here|http://git.savannah.gnu.org/cgit/hurd/hurd.git/tree/pci-arbiter/TODO]]. + +Samuel also gave a presentation explaining some of the awesome possibilities +that the PCI Arbiter can provide. You can watch his fosdem talk +[[here|https://archive.fosdem.org/2018/schedule/event/microkernel_hurd_pci_arbiter/]] + +The end goal is to allow different userland drivers to access PCI devices concurrently, +while paving the way for fine-grain per-user, per-session, etc. permission management +over PCI access, and IOMMUs allow us to do that very safely. Imagine a user being +able to access a PCI card as a user! A IO-MMU can control that safely, because it's just +like PCI passthrough with a hypervisor. + +# Documentation + +## Accessing PCI Cards + + - `/servers/pci////` + - provides `pci_conf_read/write`, `get_dev_regions`, `get_dev_rom` + - The translator provides libpciaccess & pciutils backends + +## Accessing PCI Cards as user + + This is a list of some things that we would like to do, but may not be able to + currently. + + - Give PCI card access on the fly with + - `fsysopts /servers/pci --uid 1234 --p 00:1f.3` + - (or configure it permantly with settrans) + - User app can then + - Read/Write config + - TODO: map resources / ROM + - TODO: get i/o port access token + +## An awesome example + +[[!img images/pci_possibilities.png]] + +In the above image, a user has complete control over his software stack. The PCI +Arbiter on the far left has to run as root, because it needs to be able to access +devices. Everything else has the exact permissions that the user wants. This user +is running Xorg, and the TCP/IP stack as the user "nobody". Nobody is a uid +that runs with essentially no permissions. It only has the permissions granted to it. +This means one can run Xorg (which is not the most secure display server) in a confined +way. Xorg won't even have permission to open a file, unless you allow it. In the +above picture, the same is true for pfinit, and eth0. + +Things get more interesting, as we move along further to the right of the image. +The user has decided that he wants to run pcm, the rump sound daemon, as a normal +user, so he can better configure it, but there is a problem. The user doesn't trust the pcm +daemon. The pcm daemon could open and read the user's gpg keys. The same is true for +Firefox, since it may have flash or other non-safe code. Luckily the Hurd has a solution! +Just start a [[subhurd|hurd/subhurd]]that contains firefox and pcm. Now the user +can configure which files Firefox and pcm can access. + +There is one final detail. The graphic has two PCI arbiters. There is the system +provided one on the far left, which the user is allowed to access. The user can then +configure another PCI arbiter (on the far right) that allows pcm to only access the sound +board. Of course, Firefox can still use pcm to play sound. # IRC, freenode, #hurd, 2012-02-19 -- 2.19.1