As Yves Jaeger wrote:
> 1. wenn ich einen tsleep() im Treiber mache (nicht im Interrupt
> Kontext), schlaeft dann mein gesamter Prozess oder nur der
> Thread, der den Treiber aufruft ?
Der gesamte Prozeß. Threads in FreeBSD leben (im Moment) innerhalb
eines Prozesses.
tsleep() wird übrigens ohnehin nicht aus einem Interruptkontext
gerufen, das wäre eine _sehr_ schlechte Idee (ein Interruptkontext
besitzt nämlich keinen Prozeßkontext, den er schlafen legen kann).
wakeup() wird dafür häufig aus einem Interruptkontext heraus gerufen.
> 2. Gibt es irgendwo eine Beschreibung wie man eine scatter/gather
> Bus-master DMA macht, bzw. ein _GUT_ (und vorallen durchgaengig)
> dokumentiertes Beispiel dazu ?
``All documentation files usually end up in .c.''
SCSI-Treiber und Treiber einiger Ethernetkarten machen sowas...
> Muss dabei die Version beruecksichtigt werden (gibt es also einen
> Unterschied zwischen FreeBSD 3.x und 4.x) ?
Wüßte ich für diese Fragen erstmal keinen, allerdings haben sich die
Treiberframeworks mal geändert (also die Einbindung in den Kernel
insgesamt).
> PS: Ist das fuer de-bsd-questions ok, oder sollte das in de-bsd-hackers
> diskutiert werden?
de-bsd-hackers scheint eine ziemlich tote Liste zu sein.
-- cheers, J"org .-.-. --... ...-- -.. . DL8DTL http://www.sax.de/~joerg/ NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-) To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Tue 04 Jul 2000 - 00:20:32 CEST