/**************************************************************************************
Copyright (c) 2002
The UbixOS Project
$Id$
**************************************************************************************/
#include <ubixos/gdt.h>
#include <ubixos/scheduler.h>
#include <version/version.h>
int main();
descriptorTable(GDT,4) {
{dummy:0},
standardDescriptor(0, 0xFFFFF, (dCode + dRead + dBig + dBiglim)),
standardDescriptor(0, 0xFFFFF, (dData + dWrite + dBig + dBiglim)),
standardDescriptor(1000, (sizeof(struct tssStruct)-1), (dTss)),
};
struct {
unsigned short limit __attribute__ ((packed));
union descriptorTableunion *idt __attribute__ ((packed));
} loadgdt = { (5 * sizeof(union descriptorTableunion) - 1), GDT };
void _start() {
/*
asm(
"lgdt (loadgdt) \n"
"mov $0x18,%%ax \n"
"ltr %%ax \n"
:
: "r" (GDT)
);
*/
main();
while (1);
}
int main() {
outputVersion(); //Display Version Info
return(0);
}