Virtual-8086-Mode and Task linking
Posted: Sat May 20, 2006 2:42 pm
hi,
I'm currently implementing the ability to execute BIOS interrupts within my 32bit protected-mode OS. Today I came across the idea, that I could use one tss for my kernel and one for my virtual-8086 task. At first I would safe the kernel's state in the kernel TSS in order to restart the kernel task. Then I would switch to the virtual-8086 task via an iret with the NT flag set (and set the v8086 tss's backlink to the kernel's tss descriptor). Then my virtual-8086-task executes the interrupt and does an iret which would invoke the kernel again and the kernel could go on as if nothing happend...
Is this task linking with virtual-8086-mode possible? I read the intel docs, but they did not state anything virtual-8086-mode specific...
I'm currently implementing the ability to execute BIOS interrupts within my 32bit protected-mode OS. Today I came across the idea, that I could use one tss for my kernel and one for my virtual-8086 task. At first I would safe the kernel's state in the kernel TSS in order to restart the kernel task. Then I would switch to the virtual-8086 task via an iret with the NT flag set (and set the v8086 tss's backlink to the kernel's tss descriptor). Then my virtual-8086-task executes the interrupt and does an iret which would invoke the kernel again and the kernel could go on as if nothing happend...
Is this task linking with virtual-8086-mode possible? I read the intel docs, but they did not state anything virtual-8086-mode specific...