flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
vid 05 Oct 2007, 16:34
what is easiest way to call 16bit BIOS interrupt from 64bit code?
|
|||
![]() |
|
vid 05 Oct 2007, 17:06
i meant from ring0 code, i can create segment descriptors, switch to real mode, etc. etc.
I was asking for easiest way. I recall there was some CPU feature where you only had to fill some structure ("call gate"), and then simply jump to it somehow, but i never studied it deeper. |
|||
![]() |
|
vid 05 Oct 2007, 17:09
Dex: by the way, "long mode" is not "64-bit" mode. "long mode" is same as "Intel-32e" mode, and it has two submodes: 64-bit mode, and compatibility mode (which can be protected mode or real mode). You should say 64-bit mode
![]() |
|||
![]() |
|
vid 05 Oct 2007, 17:51
I did some research, and found out call gates canot be used for this here.
So my question is "reduced" to: How to enter v86 mode from ring0 proteted mode? got any examples? |
|||
![]() |
|
tom tobias 06 Oct 2007, 11:50
vid wrote:
Page 170: Ro and Her wrote:
The code to accomplish this is 23 pages in length.... ![]() |
|||
![]() |
|
vid 06 Oct 2007, 12:28
oh shit...
i think i will use rather VMX and run BIOS code in virtual machine. thanks tom |
|||
![]() |
|
MazeGen 08 Oct 2007, 06:20
Yeah, general v86 monitor is probably complicated, but assuming you will run only your own tuned code as an v86 mode task, your v86 monitor doesn't need to be complicated, because you know how the task behaves.
|
|||
![]() |
|
vid 08 Oct 2007, 11:53
i want to run BIOS code in my v86 virtual machine.
|
|||
![]() |
|
Octavio 08 Oct 2007, 15:43
vid wrote: i want to run BIOS code in my v86 virtual machine. Is simpler to change to 16bit real mode, first you jump to a 16bit protected mode code where phisical and virtual adress are the same,load the realmode idt and then switch to real mode, a few lines of assembly code are enought. v86 is designed to run old 16 bit real mode aplications in a protected environnement ,but since you probably want the bios to do some hardware operations ,protection is useless here. |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2023, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.