Re: segmentierte Addressierung

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Mon, 14 Feb 2005 14:21:21 +0100

Am Mo, den 14.02.2005 schrieb Oliver Fromme um 10:42:
> Marc Santhoff <M.Santhoff(at)t-online.de> wrote:
> > Am Fr, den 11.02.2005 schrieb Oliver Fromme um 17:44:
> > > Ich nehme an, Du willst das im Kernel-Kontext für einen
> > > Treiber machen, oder? (Aus dem Userland heraus ist es
> > > nicht möglich, soviel ich weiß.)
> >
> > Nein, aus einem User-Programm.
> > [...]
> > > Wie gesagt, das geht nur aus dem Kernelkontext heraus.
> > > Wenn Du den BIOS-Interrupt aus dem Userland heraus auf-
> > > rufen willst, mußt Du wohl einen kleinen Stub im Kernel
> > > schreiben, der das für Dich macht, und diesen dann aus
> > > dem Userland heraus aufrufen. Je nach Kontext kann dafür
> > > ein eigener System-call sinnvoll sein, oder auch ein
> > > ioctl oder ein sysctl.
> >
> > Ich hoffe diese Lösung ganz weglassen zu können (via doscmd, da teste
> > ich noch), aber wenn's nicht anders geht, schaue ich mir das näher an.

Also doscmd hat sich auch erledigt, da müßte ich die Funktion selbst
weiterleiten, also kann ich auf die zusätzliche DOSe verzichten.

> Sich für sowas einen sysctl zu schreiben ist ganz einfach;
> das habe ich auch schon in ähnlic
> Gruß
> Ollihen Fällen gemacht.
>
> In Deinem Fall brauchst Du nur eine kleine Funktion, die
> beim Abfragen des sysctl aufgerufen wird, und die dann die
> entsprechenden vm86-Funktionen aufruft und die Daten umko-
> piert.

Klingt als wäre es eine Lösung mit geringem Aufwand. Bei einem Treiber
erinnere ich dunkel, daß dazu einige Einträge für das System gemacht
werden müssen, aber was braucht es für einen "sysctl"? Sicher einen
Eintrag in der Vorlage (src/sys/kern/syscalls.master) und was noch außer
natürlich der implementierenden Quelle?

(wobei ich beim Suchen eben auf
"src/share/examples/kld/syscall/module/syscall.c" gestoßen bin, da
scheint ein syscall als ladbares Modul demonstriert zu werden, was mir
sehr entgegen käme ...)

> Das BSD-Copyright wäre vermutlich länger als der Rest des
> Treibers. ;-)

Auch das käme mir sehr entgegen. Ich war zuletzt dabei, Diskussionen um
die Sinnhaltigkeit eines selbstgeschriebenen Treibers für die
Informationsfunktionen via int15 anzustoßen, aber der Gedanke daran läßt
schon meine Unterlippe ausfransen. Wenn ich mehr Plan vom FreeBSD-kernel
hääte, würde das Schreiben des Treiebrs wahrscheinlich nicht länger
dauern ... ;)

Gruß und Danke so weit,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 14 Feb 2005 - 14:23:44 CET

search this site