Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-09 | made kernel boot with optimizations on (clang), reason where the | Andreas Baumann | |
use of MMX registers | |||
2017-07-08 | added dedicated kernel entry to avoid address reordering under compiler ↵ | Andreas Baumann | |
optimization affect the entry poin 0x8800 of kernel_main (now kernel_entry) | |||
2017-07-05 | small fix around vga.h incusion | Andreas Baumann | |
2017-07-05 | 'mem' command shows memory usage of kernel heap now | Andreas Baumann | |
implemented a malloc/free and memory manager (simplest possible implementation, just allocating linearly and never freeing) | |||
2017-07-02 | started to add task scheduling | Andreas Baumann | |
2017-07-01 | readded -Werror and fixed some cast errors around memcpy | Andreas Baumann | |
2017-06-30 | text widget has a constant buffer and owns the string to draw now | Andreas Baumann | |
(passing a const char * from a local stack context is not really a good idea!) added more efficiet draw method for characters in vga driver protected desktop for now against too often redraws (boolean global variable needs_redraw, this is later a soffisticated set-of-areas-to -redraw algorithm) | |||
2017-06-30 | added a window to gui which is draggable by the mouse | Andreas Baumann | |
2017-06-24 | started to implement a widget showing text, the problem currently | Andreas Baumann | |
is the inheritance method in draw is not working correctly | |||
2017-06-21 | improved VGA colors | Andreas Baumann | |
added basics of a desktop widget class | |||
2017-06-21 | added the widget and the composite widget classes | Andreas Baumann | |
2017-06-18 | added graphic context (stub) | Andreas Baumann | |
2017-06-18 | started the widget framework | Andreas Baumann | |
2017-06-17 | added the most complex VGA mode (640x480x4, only timings for now) | Andreas Baumann | |
added graphics and text mode type parameter to vga_mode_t | |||
2017-06-16 | playing with VGA font distance and characters bei being on the head or mirrored | Andreas Baumann | |
2017-06-16 | added embedded VGA fonts, not so sure about the 8 heads for USB images | Andreas Baumann | |
2017-06-15 | adapted kernel size to fit clang | Andreas Baumann | |
2017-06-15 | increased size of stage 2 bootloader by 1024 bytes | Andreas Baumann | |
2017-06-15 | made framebuffer segment a member of vga_mode_t, computing it once | Andreas Baumann | |
when vga_set_mode is called (because it will not change after every pixel) | |||
2017-06-14 | got switch to graphical VGA mode working | Andreas Baumann | |
2017-06-13 | added some links | Andreas Baumann | |
2017-06-10 | some big renames into subdirs of aspects | Andreas Baumann | |
updated README removed size_t in sys/types.h and sys/types.h itself, size_t is in stddef.h | |||
2017-06-10 | moved bootloader to subdirectory | Andreas Baumann | |
2017-06-10 | renamed text VGA module to vgatext | Andreas Baumann | |
2017-06-10 | preparations for driver loading with PCI (BARs for I/O) | Andreas Baumann | |
2017-06-10 | using int13h/8h only for floppies for now, geometry on emulated USB | Andreas Baumann | |
disks seems to be completly wrong. Probing on real machine for first non-readable sector hangs the machine or creates reboots, no clue. Writing a boot loader is not the scope of the project. For me it runs where it has to run for now.. | |||
2017-06-10 | better messages in boot loader about disk loading | Andreas Baumann | |
another test in bochs with a ATA hard disk without LCHS/PCHS translation (doens't boot yet) | |||
2017-06-10 | rearranged boot loader: first load 3 sectors of stage 2 in simple | Andreas Baumann | |
int 13h read. then in stage 2 do a much better detection of disk geometries in the future (for now, it's the same) and load the kernel sectors with a more complex loading routine | |||
2017-06-09 | tried to probe disk geometry with mixed success (emulated FDD mode | Andreas Baumann | |
on USB not working). Code in stage1 gets too complex to fit 512 bytes, so we most likely must load stage2 with a simple algorithm (maybe 8 sectors every bios 13h/2h function is able to deliver). Then we load the kernel in a second, more complex loading step | |||
2017-06-09 | clang kernel.bin size bump | Andreas Baumann | |
2017-06-09 | fixed stage 1 boot loader problems (worked in some BIOSes across | Andreas Baumann | |
the 2 times sector/track limit). loading sectors one by one now fixed also spin down problem after loading stage 2 and the kernel for now tested with 1.44 MB floppies (both real and in bochs/qemu) | |||
2017-06-08 | added driver manager | Andreas Baumann | |
keyboard and mouse are now "derived" from driver_t reading and printing more PCI members | |||
2017-06-08 | retested with all 3 C compilers | Andreas Baumann | |
2017-06-07 | scanning and printing PCI bus devices | Andreas Baumann | |
2017-06-07 | added 32-bit port functions | Andreas Baumann | |
started to add PCI functions (for now read/write only) added help menu in boot kernel input mode | |||
2017-06-05 | added deinit in drivers | Andreas Baumann | |
added some debug flags and code in drivers 32 sectors size of kernel | |||
2017-06-04 | emitting mouse events now, printing them for now, later this will be | Andreas Baumann | |
the text mode cursor | |||
2017-06-03 | added mouse driver | Andreas Baumann | |
changed acknoledgment of interrupts, if we acknowledge an interrupt originating from the slave PIC we also have to acknoledge the master PIC | |||
2017-06-02 | .. | Andreas Baumann | |
2017-06-02 | .. | Andreas Baumann | |
2017-06-02 | some work on keyboard initialization | Andreas Baumann | |
2017-06-01 | started with keyboard driver | Andreas Baumann | |
split registration of interrupts in a gate registration and a handler registration | |||
2017-06-01 | introducted a interrupt handler object | Andreas Baumann | |
2017-06-01 | .. | Andreas Baumann | |
2017-06-01 | easier debugging with ncurses mode and local gdbinit file | Andreas Baumann | |
2017-05-31 | added a setjmp implementation | Andreas Baumann | |
kernel_panic uses a longjmp to terminate the kernel entry function some segfault in scroll_screen | |||
2017-05-21 | interrupts are working, some problems with corrupt stack | Andreas Baumann | |
2017-05-21 | added implementation of interrupts (IDT construction and loading), currently not | Andreas Baumann | |
working yet. added A20 gate check reorganized some code, so it's easier to debug interrupt handlers in assembly | |||
2017-05-20 | added simple stdio stub | Andreas Baumann | |
2017-05-20 | documented early GDT in assembly (following Nick Bundells osdev guide). | Andreas Baumann | |
renamed gdt.asm to boot_gdt.asm (because later we will have a gdt.asm when playing with memory managers and process isolation). This boot sequence is for legacy machines, for UEFI and multiboot kernels the whole thing looks different |