Re: segmentierte Addressierung

From: Marc Santhoff <M.Santhoff(at)t-online.de>
Date: Fri, 11 Feb 2005 16:29:54 +0100

Am Fr, den 11.02.2005 schrieb Simon 'corecode' Schubert um 13:03:
> On Friday, 11. February 2005 09:51, Marc Santhoff wrote:
> > Um den INT15 mit dem syscall i386_vm86() aufzurufen soll ich die
> > Adresse des Puffers für den Rückgabewert angeben, und zwar in ES:BX. ES
> > bekommt das Datensegment und BX den Offset.
> >
> > Wenn ich die Parameter zusammensetze läuft der Prozeß aber so wie ich
> > es verstehe noch nicht im virtuellen 86er Modus.
> >
> > Wie schreibe ich die Adesse da rein, einfach obere Hälfte nach EX und
> > untere 16 Bit nach BX? Oder kennt der kernel eine Funktion zur
> > Addressermittlung oder -übersetzung?
>
> bin mir diesbezueglich auch nicht sicher, aber ich kann mir kaum
> vorstellen, dass da der kernel was baut. du muesstest also einen kleinen
> block speicher unter 1MB organisieren, der dann auch! in den vm86 space
> eingeblendet wird. bin mir nicht sicher, ob das ein leichtes unterfangen
> wird.

Gnlmpf, als ob ich es geahnt hätte ...

> ich wuerd erst mal das linux binary dur einen geeigneten disassembler
> schieben und das hinten anschaun. vielleicht macht der ja nur paar port
> out und port ins... so vm86 mode fuer bios ist mir immer unheimlich.

Uf, wenn denn hilft. Ich glaube auch, daß es so ähnlich funktioniert,
warte aber noch auf Informationen.

Ähm ... welcher Disassembler wäre denn geeignet? Der letzte, den ich mal
angeworfen habe lief unter Windows und das ist ziemlich lange her.

Danke,
Marc

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 11 Feb 2005 - 16:45:06 CET

search this site