summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-07-20detecting single or multi function devices in PCI scanAndreas Baumann
2017-07-20added a virtual network driver interface, made the dummy RTL8139 driver a ↵Andreas Baumann
specialization of it (nothing is functional there yet)
2017-07-20added links to memory managementAndreas Baumann
2017-07-20added a virtual keyboard driver interface, made the PS/2 keyboard a ↵Andreas Baumann
specialization of it
2017-07-20kernel_panic while shutting down does not result in endless loops anymoreAndreas Baumann
2017-07-18added a virtual mouse driver interface, made the PS/2 mouse a specialization ↵Andreas Baumann
of it
2017-07-18reverted clang --no-inline flag and readded bug, I can not make clangAndreas Baumann
consistently produce correct code with all combinations of hosts and cross targets!
2017-07-18found clang bug, not the real reason but works for me nowAndreas Baumann
2017-07-18added -fno-inline to avoid clang 4.0.1 to break vsprintf with va_args when ↵Andreas Baumann
inlined
2017-07-18added clang SSP functionsAndreas Baumann
2017-07-16added USB to qemuAndreas Baumann
2017-07-16fixed newline output in Linux stub in libc testsAndreas Baumann
2017-07-16move longjmp for kernel_panicAndreas Baumann
2017-07-16introduced classes of driver types (graphics, mouse, keyboard, network, etc.)Andreas Baumann
removed direct vga_init from kernel.c, using pci for this now, get the driver of type graphics from driver_manager
2017-07-16moved registering of mouse/keyboard interrupts into the driver activation ↵Andreas Baumann
instead of having them directly in kernel.c also more standardization of the driver init functions (mouse set_resolution instead of constructor parameters res_x and res_y)
2017-07-15started to make driver construtors similar (keyboard, mouse)Andreas Baumann
passing context around to pci scanning function for driver initialization
2017-07-15reworked driver init and vtable, taking the interrupt manager and the contextAndreas Baumann
as parameters when creating a driver
2017-07-15...same for libc testsAndreas Baumann
2017-07-15added an OPT parameter to the build makefile, default is -O0Andreas Baumann
2017-07-15same for the graphical VGA driverAndreas Baumann
2017-07-15mouse and keyboard are now allocated driver pointersAndreas Baumann
2017-07-15added a dummy RTL8139 network driverAndreas Baumann
added register interrupt handler methods to drivers (but I'm pretty unsure about them) setting network in qemu startup and using RTL8139 emulation drivers
2017-07-15moved keyboard driver into the global kernel context (away from the stack)Andreas Baumann
2017-07-15added a better malloc testAndreas Baumann
2017-07-14added stats functions to memory manager, don't use internal membersAndreas Baumann
added simple chunk-based allocation/deallocation strategy (leads to framgentation)
2017-07-14testing exit, not abort in libc testsAndreas Baumann
2017-07-14updated bug listAndreas Baumann
2017-07-14fixed some typos in cross compilation docuAndreas Baumann
2017-07-14tested cross-compilation also with clangAndreas Baumann
2017-07-14some notes on building and using cross compilers for gcc/tcc/pccAndreas Baumann
(clang yet to be done)
2017-07-14some linkage tweaking, the kernel is not linked against libssp (whichAndreas Baumann
is using linux/glibc), we provide our own SSP guards leading to kernel_panic (for now). per default build the kernel with ld (as we need precise control how we link it) the libc tests are per default linked with the same compiler as provided with $(CC) using #include_next of gcc/clang to include the real stdint.h header file in stdint.h stub
2017-07-14removed stddef.h and limits.h (come with the compiler header files)Andreas Baumann
added a stub stdint.h (only sometimes comes with the compiler) added a guide on cross compiling adapted to cross compilation, for now tcc works
2017-07-14updated some docuAndreas Baumann
2017-07-13removed som kernel_panics in libcAndreas Baumann
2017-07-13added an exit functionAndreas Baumann
added Linux syscall stubs for exit and write adapted all tests added a printf test made stdio work on Linux or AbaOs syscalls
2017-07-13forgot to add test_malloc.cAndreas Baumann
remove buffer memory functions again (can be done with a simple cast in the caller)
2017-07-13added a simple test for malloc/freeAndreas Baumann
added a memorymanager initilializer which works on a buffer instead on an offset (thus we can but the heap area also onto the stack for testing) added a kernel_stub module to test modules using kernel_panic (for now, maybe have a callback later)
2017-07-13separated C library implementations with an OS_ABAOS define (for now),Andreas Baumann
we cannot test stdio and memory management in the hosted environment yet this way
2017-07-12removed test tasksAndreas Baumann
2017-07-12added segment_size to vga mode structure, using for memcpy in Z bufferAndreas Baumann
refreshing the video memory and when allocating the Z buffer
2017-07-10VGA Z-buffer is now dynamically allocated and freedAndreas Baumann
memory management can reuse the last pointer malloced if freed again
2017-07-09added a ld entry optionAndreas Baumann
2017-07-09back to O0 no optimizationAndreas Baumann
2017-07-09fixed the vga_refresh bug. the problem is under optimization theAndreas Baumann
code gets so fast that we get races in the task refershing the VGA screen. For now we fix also high CPU usage in idle tasks with a 'kernel_halt' (well, later a yield or a more clever task scheduler should help). This is a hacky solution for now..
2017-07-09setting exlicitely the CPU to a 486 in qemuAndreas Baumann
2017-07-09made kernel boot with optimizations on (clang), reason where theAndreas Baumann
use of MMX registers
2017-07-08forgot to set the backpointer to the interrupt manager (interrupts_t) in theAndreas Baumann
interrupt_handler_init_void (clang and O1 crashed it while initializing the empty interrupt vectors)
2017-07-08small adaptions around kernel_entry (docu, boot loader)Andreas Baumann
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-05some optimization testing, all kind of weird stuff happeningAndreas Baumann