summaryrefslogtreecommitdiff
path: root/src/Makefile
AgeCommit message (Collapse)Author
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
2017-05-20stronger magic testAndreas Baumann
2017-05-20precomputing MAGIC in makefile, magic.asm and stage2 magic check are in ↵Andreas Baumann
different assembly units, so we cannot use date and time
2017-05-18added port types which are check when calling port read/write functionsAndreas Baumann
2017-05-17some more variables for NASM and OBJCOPY, retested on OSXAndreas Baumann
2017-05-17made debugging on C-language level possible with qemu and remoteAndreas Baumann
debugging, building an ELF kernel first, then we create a flat binary and a symbol file from it
2017-05-17Merge branch 'master' of ssh://git.andreasbaumann.cc:2221/abaosAndreas Baumann
2017-05-17better magic signature detection (using a compile stamp with date and time)Andreas Baumann
using local labels where possible, some renames in assembly code added a console_put_hex and serial_put_hex better call to qemu printing the status of the host when crashing the emulator
2017-05-15allow overloading of LDFLAGS (for -f elf on OSX, -f elf32 on Linux)Andreas Baumann
2017-05-14some small fixes, clang image overload (magic doesn't work, most likely becauseAndreas Baumann
memory is not wiped between qemu invocations)
2017-05-14added a simple kernel console which can use VGA and the first serial port ↵Andreas Baumann
for output (no terminal emulation, only sequential output) shows how to intermix VGA animations and line-orinented console output
2017-05-14added a simple serial console output to qemu run modeAndreas Baumann
reading and writing the VGA cursor correctly on hardware
2017-05-12sorted out the character constant mess: we have a flat model (with GDT)Andreas Baumann
starting from 0x8000, but the first 2k are stage 2 of the boot loader, so out kernel entry is 0x8400. We have to tell ld that and use 0x8400 instead of 0x8000, otherwise all string constants point to Nirvana!
2017-05-11added strlcpy (and a host test for it)Andreas Baumann
started to add I/O port code for VGA data and select ports
2017-05-11better documentation for the boot loading process and how muchAndreas Baumann
sectors each part needs, fixed truncation problem started a magic signature at the end of the image and started to check it in stage 2 of the boot loader to avoid truncated images in the future
2017-05-01some playing around with linker flagsAndreas Baumann
2017-05-01write vga strings and some cursor handlingAndreas Baumann
2017-05-01added some primitive VGA functions and rewrote kernel.c greetingAndreas Baumann
2017-05-01playing with vga struct, fixed some boot loading issuesAndreas Baumann
2017-05-01started vga module, puzzled about eliminated dead loops in clang?Andreas Baumann
2017-04-30accomodated for bigger bootloader stage2Andreas Baumann
fixed printing of rotating bar
2017-04-29added a bochs configAndreas Baumann
2017-04-27bootstrapped from an OSX with separate ELF toolchainAndreas Baumann
2017-04-23fresh import because of huge documents checked in by accidentAndreas Baumann