Re: Software Interrupt aufrufen

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Thu, 10 Feb 2005 14:13:06 +0100

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?

> > 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 ;).

> 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)?

> > So wie es auf einen kurzen Blick aussieht wird eine Funktionsnummer in
> > Register AH geschrieben, andere Register mit Parametern bestückt und
> > dann INT 15 ausgelöst.
>
> Der Klassiker halt.

Ja, mir dämmert es auch so langsam. Mit Z80 hatte ich vor ziemlich
langer Zeit zu tun, Interruptvektoren setzen und verketten ist
eigentlich einfach gewesen.

Grüße,
Marc

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

search this site