diff --git a/src/sys/init/main.c b/src/sys/init/main.c index 29a2035..2dc5ec8 100644 --- a/src/sys/init/main.c +++ b/src/sys/init/main.c @@ -43,6 +43,20 @@ 0x40 - Task TSS Notes: + + The lower 1mb memory: + Conventional Memory - memory from 0x00000 to 0x9FFFF hex (0 to 640 K byte) + Reserved Memory - memory from 0xA0000 to 0xFFFFF hex (640 K byte to 1 MB) + + 0x00000 - 0x00FFF - Reserved + 0x01000 - 0x03FFF - Reserved + 0x04000 - 0x05FFF - GPF TSS + 0x06000 - 0x07FFF - Stack Fault TSS + 0x08000 - 0x09FFF - Task TSS + 0x10000 - 0x2FFFF - Reserved + 0x30000 - 0x9FFFF - Kernel + + *****************************************************************************************/ ubixDescriptorTable(ubixGDT,9) { @@ -52,9 +66,9 @@ ubixStandardDescriptor(0x0, 0xFFFFF, (dCode + dWrite + dBig + dBiglim + dDpl3)), ubixStandardDescriptor(0x0, 0xFFFFF, (dData + dWrite + dBig + dBiglim + dDpl3)), ubixStandardDescriptor(0x0, 0xFFFFF, (dLdt)), - ubixStandardDescriptor(0x4200, (sizeof(struct tssStruct)), (dTss)), - ubixStandardDescriptor(0x6200, (sizeof(struct tssStruct)), (dTss)), - ubixStandardDescriptor(0x4200, (sizeof(struct tssStruct)), (dTss + dDpl3)), + ubixStandardDescriptor(0x4000, (sizeof(struct tssStruct)), (dTss)), + ubixStandardDescriptor(0x6000, (sizeof(struct tssStruct)), (dTss)), + ubixStandardDescriptor(0x8000, (sizeof(struct tssStruct)), (dTss + dDpl3)), }; struct { unsigned short limit __attribute__ ((packed));