summaryrefslogtreecommitdiff
path: root/src/Makefile
AgeCommit message (Collapse)Author
2017-07-09made kernel boot with optimizations on (clang), reason where theAndreas Baumann
use of MMX registers
2017-07-08added 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-05small fix around vga.h incusionAndreas Baumann
2017-07-05'mem' command shows memory usage of kernel heap nowAndreas Baumann
implemented a malloc/free and memory manager (simplest possible implementation, just allocating linearly and never freeing)
2017-07-02started to add task schedulingAndreas Baumann
2017-07-01readded -Werror and fixed some cast errors around memcpyAndreas Baumann
2017-06-30text widget has a constant buffer and owns the string to draw nowAndreas 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-30added a window to gui which is draggable by the mouseAndreas Baumann
2017-06-24started to implement a widget showing text, the problem currentlyAndreas Baumann
is the inheritance method in draw is not working correctly
2017-06-21improved VGA colorsAndreas Baumann
added basics of a desktop widget class
2017-06-21added the widget and the composite widget classesAndreas Baumann
2017-06-18added graphic context (stub)Andreas Baumann
2017-06-18started the widget frameworkAndreas Baumann
2017-06-17added 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-16playing with VGA font distance and characters bei being on the head or mirroredAndreas Baumann
2017-06-16added embedded VGA fonts, not so sure about the 8 heads for USB imagesAndreas Baumann
2017-06-15adapted kernel size to fit clangAndreas Baumann
2017-06-15increased size of stage 2 bootloader by 1024 bytesAndreas Baumann
2017-06-15made framebuffer segment a member of vga_mode_t, computing it onceAndreas Baumann
when vga_set_mode is called (because it will not change after every pixel)
2017-06-14got switch to graphical VGA mode workingAndreas Baumann
2017-06-13added some linksAndreas Baumann
2017-06-10some big renames into subdirs of aspectsAndreas Baumann
updated README removed size_t in sys/types.h and sys/types.h itself, size_t is in stddef.h
2017-06-10moved bootloader to subdirectoryAndreas Baumann
2017-06-10renamed text VGA module to vgatextAndreas Baumann
2017-06-10preparations for driver loading with PCI (BARs for I/O)Andreas Baumann
2017-06-10using int13h/8h only for floppies for now, geometry on emulated USBAndreas 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-10better messages in boot loader about disk loadingAndreas Baumann
another test in bochs with a ATA hard disk without LCHS/PCHS translation (doens't boot yet)
2017-06-10rearranged boot loader: first load 3 sectors of stage 2 in simpleAndreas 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-09tried to probe disk geometry with mixed success (emulated FDD modeAndreas 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-09clang kernel.bin size bumpAndreas Baumann
2017-06-09fixed stage 1 boot loader problems (worked in some BIOSes acrossAndreas 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-08added driver managerAndreas Baumann
keyboard and mouse are now "derived" from driver_t reading and printing more PCI members
2017-06-08retested with all 3 C compilersAndreas Baumann
2017-06-07scanning and printing PCI bus devicesAndreas Baumann
2017-06-07added 32-bit port functionsAndreas Baumann
started to add PCI functions (for now read/write only) added help menu in boot kernel input mode
2017-06-05added deinit in driversAndreas Baumann
added some debug flags and code in drivers 32 sectors size of kernel
2017-06-04emitting mouse events now, printing them for now, later this will beAndreas Baumann
the text mode cursor
2017-06-03added mouse driverAndreas 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-02some work on keyboard initializationAndreas Baumann
2017-06-01started with keyboard driverAndreas Baumann
split registration of interrupts in a gate registration and a handler registration
2017-06-01introducted a interrupt handler objectAndreas Baumann
2017-06-01..Andreas Baumann
2017-06-01easier debugging with ncurses mode and local gdbinit fileAndreas Baumann
2017-05-31added a setjmp implementationAndreas Baumann
kernel_panic uses a longjmp to terminate the kernel entry function some segfault in scroll_screen
2017-05-21interrupts are working, some problems with corrupt stackAndreas Baumann
2017-05-21added implementation of interrupts (IDT construction and loading), currently notAndreas Baumann
working yet. added A20 gate check reorganized some code, so it's easier to debug interrupt handlers in assembly
2017-05-20added simple stdio stubAndreas Baumann
2017-05-20documented 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