Re: segmentierte Addressierung

From: Simon 'corecode' Schubert <corecode(at)fs.ei.tum.de>
Date: Fri, 11 Feb 2005 13:03:24 +0100

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.

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.

gruesse
  simon

-- 
/"\
\ /
 \     ASCII Ribbon Campaign
/ \  Against HTML Mail and News

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 - 13:04:25 CET

search this site