aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* move architecture-specific compiler flagsHEADmasterRobin Krahl2017-03-06
| | | | | Architecture-specific compiler flags are now located in arch/*/config.mk instead of the main config.mk.
* idt: add interruption handlingRobin Krahl2017-03-06
| | | | | | | | The Interruption Descriptor Table (IDT) is implemented in idt.{c,h} as part of the core, but the setup and activation of the IDT and the registration of specific interruption request handlers is part of arch.{c,h}. The request handlers are implemented in idt.s and delegate to kernel_handle_interrupt.
* gdt: expose code segment offset in GDTRobin Krahl2017-03-06
| | | | | | gdt_get_code_offset() returns the offset of the code segment in the GDT relative to the address of the GDT itself. This offset is for example required when setting the interrupt desriptor table.
* gdt: move assembler code to archRobin Krahl2017-03-06
| | | | | The assembler code to set the global descriptor table is architecture-specific and therefore moved to arch.{c,h}.
* kernel: add debug function ker_dbgRobin Krahl2017-03-06
| | | | | ker_dbg writes a string to the terminal. In future, it might also write to a text file, to the serial console or other channels.
* gdt: remove static annotation from gdt and gdtpRobin Krahl2017-03-06
| | | | | The static annotation for gdt and gdtp causes problems when registering the global and interrupt description table. It is now omitted.
* arch: add port set, port get and additional register set functionsRobin Krahl2017-03-05
| | | | | Add regset16 and regset32 to the existing regset8 in arch.h, and prtset{8,16,32} and prtget{8,16,32} to access ports.
* gdt: add simple gdt implementationRobin Krahl2017-03-05
| | | | | | Add a simple Global Descriptor Table implementation based on [0]. [0] http://www.lowlevel.eu/wiki/Global_Descriptor_Table
* initial commitRobin Krahl2017-03-05