On Thu, Feb 10, 2005 at 02:13:06PM +0100, Marc Santhoff wrote:
> Am Do, den 10.02.2005 schrieb Bernd Walter um 12:28:
> > On Thu, Feb 10, 2005 at 09:08:11AM +0100, Marc Santhoff wrote:
> > > Hi,
> > >
> > > gibt es unter FreeBSD die Möglichkeit, einen Software-Interrupt
> > > auszulösen?
> >
> > Jeder syscall macht das.
>
> Schau an. Irgendwo in sys/sys/kern nehme ich an?
Nichts ganz - ist ja i386 spezifisch - andere CPUs haben leicht andere
Arten.
Es gibt eines syscalls.master aus denen dann der Platform spezifische
Kram gebaut wird.
Und in der libc ist dann das Gegenstück zum aufrufen.
> > > Ich habe hier ein Beipielprogramm für DOS (ja, wirklich ;) von dem ich
> > > Teile gern portieren würde. Benutzt wird der Kram dazu, eine
> > > BIOS-Erweiterung auf einem CPU-Board anzusteuern.
> >
> > Das ist was anderes, da erst mal alles fürs BIOS passend umgebogen
> > werden muss.
> > Das BIOS darf auch nichts böses machen.
>
> Nee, ist 'ne BIOS-Erweiterung des Herstellers, die Hardwareinfo
> zurückgibt (z.B. die Seriennummer ;).
OK - sollte wenig Ärger machen.
Wobei sich die Frage stellt, ob man nicht auch anders dran kommt.
Letzlich ist das BIOS auch nur Software die einen Hardwarezugriff
macht.
> > Im Kernel gibt es dafür die vm86_intcall() Funktion und im Userland
> > die i386_vm86().
>
> Die Userlandfunktion habe ich gefunden (reicht auch, soll so gemacht
> werden), die andere hat ausnahmsweise keine manpage.
>
> Aber nun ist mir natürlich erstmal unklar, wie ich die benutze. Gibt es
> eine beispielhafte Quelle, die ich mir anschauen kann (auch im kernel,
> wenn's ähnlich genug ist)?
Leider nicht - bislang noch nicht gebraucht.
Das vesa Modul nutzt wohl die Kernel Variante, aber ob man das
übertragen kann...
-- B.Walter BWCT http://www.bwct.de bernd(at)bwct.de info(at)bwct.de To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 10 Feb 2005 - 14:53:22 CET