Skip to content

Latest commit

 

History

History
44 lines (33 loc) · 1.34 KB

File metadata and controls

44 lines (33 loc) · 1.34 KB

Code: ConsoleShell.[h, c]

Explanation

What does the code do?

  1. I added shell commands that utilizes TSC, RTC, and PIT

    • settimer (PIT)

    • wait (PIT)

    • rdtsc (TSC)

    • cpuspeed (PIT)

    • date (RTC)

MINT64OS Characteristics

  1. Memory Layout up to CH16

    • start(inclusive) ~ end(exclusive)
    • 0x00000 ~ 0x00400 (Interrupt Vector Table for real mode)
    • 0x07C00 ~ 0x07E00 (Bootloader)
    • 0x07E00 ~ 0x10000 (Stack for real mode and protected mode)
    • 0x10000 ~ ... (32 bit code of OS; EntryPoint.S + Main.c + ...)
    • 0x20000 ~ 0x20004 (number of memory map entries)
    • 0x20004 ~ ... (memory map entires)
    • 0xA0000 ~ ... (video memory for graphic mode)
    • 0xB8000 ~ ... (video memory for text mode)
    • 0x100000(1MB) ~ 0x142000 (IA-32 mode page table tree structure, 264KB)
    • 0x142000 ~ 0x142010 (GDTR, 16 bytes)
    • 0x142010 ~ 0x142038 (GDT, 40 bytes = 3 * 8 bytes + 1 * 16 bytes)
    • 0x142038 ~ 0x1420A0 (TSS, 104 bytes = 1 * 104 bytes)
    • 0x1420A0 ~ 0x1420B0 (IDTR, 16 bytes)
    • 0x1420B0 ~ 0x1426F0 (IDT, 1600 bytes = 100 * 16 bytes)
    • 0x200000(2MB) ~ ... (64 bit code of OS; EntryPoint.S + Main.c + ...)
    • 0x600000(6MB) ~ 0x700000(7MB) (Stack for long mode)
    • 0x700000(7MB) ~ 0x800000(8MB) (IST1 stack area)