SimpleOS

System layout and planning for the SimpleOS kernel and core libs.

Get Started. It's Free
or sign up with your email address
SimpleOS by Mind Map: SimpleOS

1. main.c

1.1. Defines

1.1.1. VERSION_MAJOR

1.1.1.1. 0

1.1.2. VERSION_MINOR

1.1.2.1. 1

1.1.3. VERSION_BUILD

1.1.3.1. "Build 1"

1.1.4. VERSION_TYPE

1.1.4.1. "Alpha Release"

1.1.5. COMPILE_DATE

1.1.5.1. 2009-12-25 11:30

1.2. Functions

1.2.1. int main(struct multiboot *mboot_ptr)

1.2.1.1. Main routine, should never return

2. common.c

2.1. Defines

2.1.1. Colors

2.1.1.1. COLOR_BLACK

2.1.1.2. COLOR_BLUE

2.1.1.3. COLOR_GREEN

2.1.1.4. COLOR_CYAN

2.1.1.5. COLOR_RED

2.1.1.6. COLOR_MAGENTA

2.1.1.7. COLOR_BROWN

2.1.1.8. COLOR_LTGRAY

2.1.1.9. COLOR_GRAY

2.1.1.10. COLOR_LTBLUE

2.1.1.11. COLOR_LTGREEN

2.1.1.12. COLOR_LTCYAN

2.1.1.13. COLOR_LTRED

2.1.1.14. COLOR_LTMAGENTA

2.1.1.15. COLOR_YELLOW

2.1.1.16. COLOR_WHITE

2.1.2. Special

2.1.2.1. TRUE

2.1.2.1.1. 1

2.1.2.2. FALSE

2.1.2.2.1. 0

2.1.2.3. NULL

2.1.2.3.1. 0

2.1.2.4. EMPTY

2.2. Types

2.2.1. uint

2.2.1.1. unsigned int

2.2.2. ushort

2.2.2.1. unsigned short

2.2.3. ulong

2.2.3.1. unsigned long

2.2.4. uchar

2.2.4.1. unsigned char

2.2.5. size_t

2.2.5.1. unsigned long

2.2.5.1.1. http://www.embedded.com/columns/programmingpointers/200900195

2.3. Functions

2.3.1. void outportb(ushort port, uchar value)

2.3.2. void outportw(ushort port, ushort value)

2.3.3. uchar inportb(ushort port)

2.3.4. ushort inportw(ushort port)

2.3.5. void *memcpy(void *dest, const void *src, size_t count)

2.3.6. void *memset(void *dest, char value, size_t count)

2.3.7. ushort *memsetw(ushort *dest, ushort value, size_t count)

2.3.8. void freeze()

2.3.9. extern void panic(const char *message, const char *file, uint line)

2.3.10. extern void panic_assert(const char *file, uint line, const char *desc)

3. boot.s

3.1. Globals

3.1.1. mboot

3.1.2. start

3.2. Externals

3.2.1. code

3.2.2. bss

3.2.3. end

3.2.4. main

3.2.4.1. Kernel entry point

4. scrn.c

5. string.c

5.1. Functions

5.1.1. int strcmp(char *str1, char *str2)

5.1.2. char *strcpy(char *dest, const char *src)

5.1.3. char *strcat(char *dest, const char *src)

5.1.4. int strlen(char *src)

5.1.5. int isspace(char c)

5.1.6. int isupper(char c)

5.1.7. int islower(char c)

5.1.8. int isdigit(char c)

5.1.9. int isalpha(char c)

6. Linker script

6.1. Entry point

6.1.1. start

6.2. Sections

6.2.1. text

6.2.2. data

6.2.2.1. rodata

6.2.3. bss

6.2.4. end

7. dt.c

8. isr.c

8.1. Globals

8.1.1. isr_t interrupt_handlers[256]

8.2. Functions

8.2.1. void register_interrupt_handler(uchar n, isr_t handler)

8.2.2. void isr_handler(registers_t regs)

8.2.3. void irq_handler(registers_t regs)

9. Headers

9.1. multiboot.h

9.1.1. Defines the Multiboot header used with GRUB

9.2. stdarg.h

9.2.1. Sets macros for variable arguments used with printf

9.2.2. Taken from GCC

9.2.2.1. Licenced under the GNU GPL 2

10. gdt.s

10.1. Globals

10.1.1. gtd_flush

10.1.2. idt_flush

11. interupt.s

11.1. Globals

11.1.1. isr[0-31]

11.1.2. irq[0-15]

11.2. Externals

11.2.1. isr_handler

11.2.2. irq_handler