Re: Verständnisfrage über Linux-Kernel
* Enrico Weigelt <weigelt@metux.de> schrieb:
Nachtrag:
> Ein sehr einfaches network-filesystem, das sich sogar direkt in HW
> implementieren läßt. Hab irgentwo auch noch ein schönes Paper
> rumliegen, das 9P sogar als Alternative zu JTAG vorschlägt :)
Ich würde mir sehr wünschen, wenn möglichst viele klein-devices
wie NICs, usb-controller, usw. direkt 9P, evtl. über einen einfachen
Ringputter sprechen würden. Dann ließe sich alles wunderbar
standardisieren. Wäre auch toll für Virtualisierung - bräuchte
man einfach nur betimmte subtrees wahlweise durchrouten oder emulieren.
zb:
9P-PCI host interface:
* arbeitet mit ringuffers in einem bestimmten Speicherbereich
mit dem Layout:
+ [ro] header / magic value / device-ident
+ [rw] config flags
+ [ro] rx-queue size
+ [ro] rx-queue offset
+ [ro] tx-queue size
+ [ro] tx-queue offset
+ [ro] rx-queue write ptr offset (next write will go here)
+ [wo] rx-queue read ptr offset (next read will go from here
+ [wo] tx-queue write ptr offset
+ [ro] tx-queue read ptr offset
* die queue's enthalten normale 9P packets
* eingehende packets werden vom controller in die rx-queue geschrieben
und entsprechend der write-ptr angepaßt
* analog dazu vom host in der tx-queue
* in den config-flags kann festgelegt werden, ob/wann ein interrupt
gesendet werden soll
9P hub filesystem layout:
/
magic -> enthält eine magic-value zur identifizierung
info -> infos über das hub-device
/id
/vendor
/model
/devices -> hier liegen die angeschlossenen devices
/iic-bridge.000
/usb.000
/hotkeys.000
/powerswitch.000
/lcd.000
/serial.000
/serial.001
/eth.000
...
9P serial device layout:
/
magic
bitrate
protocol
rx-available
tx-available
stream
...
Wie man leicht sieht, läßt sich somit alles über standardisierte
Cores zusammensetzen, und host-seitig braucht man eigentlich nur noch einen
lowlevel-hw-Treiber: für das host-interface - alles andere kann eigentlich
ganz bequem durch userland-daemons lösen.
cu
--
---------------------------------------------------------------------
Enrico Weigelt == metux IT service - http://www.metux.de/
---------------------------------------------------------------------
Please visit the OpenSource QM Taskforce:
http://wiki.metux.de/public/OpenSource_QM_Taskforce
Patches / Fixes for a lot dozens of packages in dozens of versions:
http://patches.metux.de/
---------------------------------------------------------------------
Reply to: