X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=sidebyside;f=KernelLand%2FKernel%2Farch%2Fx86_64%2Fvm8086.c;fp=KernelLand%2FKernel%2Farch%2Fx86_64%2Fvm8086.c;h=42515705647f6d544c24e307adad55d68b515b76;hb=48743e39650eb1ef988380e9d95f27fd40d3a9ce;hp=0000000000000000000000000000000000000000;hpb=a2495c6ea4f4cab16b5d339ae511428e92e89e73;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/arch/x86_64/vm8086.c b/KernelLand/Kernel/arch/x86_64/vm8086.c new file mode 100644 index 00000000..42515705 --- /dev/null +++ b/KernelLand/Kernel/arch/x86_64/vm8086.c @@ -0,0 +1,56 @@ +/* + */ +#include +#include +#include +//#include "rme.h" + +// === CONSTANTS === +#define VM8086_STACK_SEG 0x9F00 +#define VM8086_STACK_OFS 0x0AFE +#define VM8086_PAGES_PER_INST 4 + +// === PROTOTYPES === + int VM8086_Install(char **Arguments); +//tVM8086 *VM8086_Init(void); +//void VM8086_Free(tVM8086 *State); + +// === GLOBALS === +MODULE_DEFINE(0, 0x100, VM8086, VM8086_Install, NULL, NULL); +tMutex glVM8086_Process; +//tRME_State *gpVM8086_State; +tPID gVM8086_WorkerPID; +tTID gVM8086_CallingThread; +tVM8086 volatile * volatile gpVM8086_State = (void*)-1; // Set to -1 to avoid race conditions + +// === CODE === +int VM8086_Install(char **Arguments) +{ + //gpVM8086_State = RME_CreateState(); + return MODULE_ERR_OK; +} + +tVM8086 *VM8086_Init(void) +{ + return NULL; +} + +void VM8086_Free(tVM8086 *State) +{ + +} + +void *VM8086_Allocate(tVM8086 *State, int Size, Uint16 *Segment, Uint16 *Offset) +{ + return NULL; +} + +void *VM8086_GetPointer(tVM8086 *State, Uint16 Segment, Uint16 Offset) +{ + return NULL; +} + +void VM8086_Int(tVM8086 *State, Uint8 Interrupt) +{ + +}