Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-23 | added snprintf and a test for it | Andreas Baumann | |
2017-07-23 | added a strncmp function | Andreas Baumann | |
2017-07-22 | started to code RTL8139 network driver, for now setting io_base and IRQ | Andreas Baumann | |
2017-07-22 | added interrupt to PCI descriptors | Andreas Baumann | |
2017-07-22 | added 16-bit port class | Andreas Baumann | |
2017-07-22 | added 64-bit integer types for 32-bit platforms | Andreas Baumann | |
2017-07-22 | small include fix in kernel.c | Andreas Baumann | |
2017-07-22 | separated video driver in a virtual video driver and a specific | Andreas Baumann | |
VGA video driver | |||
2017-07-22 | moved color handling to video driver from generic VGA driver | Andreas Baumann | |
2017-07-21 | updated documentation | Andreas Baumann | |
2017-07-21 | .. | Andreas Baumann | |
2017-07-21 | changed video mode management, moved to video driver, | Andreas Baumann | |
the VGA driver registers his specific mode data with the video driver kernel function now use virtual functions of the video driver | |||
2017-07-20 | started to abstract video drivers | Andreas Baumann | |
2017-07-20 | detecting single or multi function devices in PCI scan | Andreas Baumann | |
2017-07-20 | added a virtual network driver interface, made the dummy RTL8139 driver a ↵ | Andreas Baumann | |
specialization of it (nothing is functional there yet) | |||
2017-07-20 | added a virtual keyboard driver interface, made the PS/2 keyboard a ↵ | Andreas Baumann | |
specialization of it | |||
2017-07-20 | kernel_panic while shutting down does not result in endless loops anymore | Andreas Baumann | |
2017-07-18 | added a virtual mouse driver interface, made the PS/2 mouse a specialization ↵ | Andreas Baumann | |
of it | |||
2017-07-16 | added USB to qemu | Andreas Baumann | |
2017-07-16 | fixed newline output in Linux stub in libc tests | Andreas Baumann | |
2017-07-16 | move longjmp for kernel_panic | Andreas Baumann | |
2017-07-16 | introduced 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-16 | moved 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-15 | started to make driver construtors similar (keyboard, mouse) | Andreas Baumann | |
passing context around to pci scanning function for driver initialization | |||
2017-07-15 | reworked driver init and vtable, taking the interrupt manager and the context | Andreas Baumann | |
as parameters when creating a driver | |||
2017-07-15 | added an OPT parameter to the build makefile, default is -O0 | Andreas Baumann | |
2017-07-15 | same for the graphical VGA driver | Andreas Baumann | |
2017-07-15 | mouse and keyboard are now allocated driver pointers | Andreas Baumann | |
2017-07-15 | added a dummy RTL8139 network driver | Andreas 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-15 | moved keyboard driver into the global kernel context (away from the stack) | Andreas Baumann | |
2017-07-14 | added stats functions to memory manager, don't use internal members | Andreas Baumann | |
added simple chunk-based allocation/deallocation strategy (leads to framgentation) | |||
2017-07-14 | some linkage tweaking, the kernel is not linked against libssp (which | Andreas 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-14 | removed 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-14 | updated some docu | Andreas Baumann | |
2017-07-13 | removed som kernel_panics in libc | Andreas Baumann | |
2017-07-13 | added an exit function | Andreas 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-13 | forgot to add test_malloc.c | Andreas Baumann | |
remove buffer memory functions again (can be done with a simple cast in the caller) | |||
2017-07-13 | added a simple test for malloc/free | Andreas 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-13 | separated 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-12 | removed test tasks | Andreas Baumann | |
2017-07-12 | added segment_size to vga mode structure, using for memcpy in Z buffer | Andreas Baumann | |
refreshing the video memory and when allocating the Z buffer | |||
2017-07-10 | VGA Z-buffer is now dynamically allocated and freed | Andreas Baumann | |
memory management can reuse the last pointer malloced if freed again | |||
2017-07-09 | added a ld entry option | Andreas Baumann | |
2017-07-09 | back to O0 no optimization | Andreas Baumann | |
2017-07-09 | fixed the vga_refresh bug. the problem is under optimization the | Andreas 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-09 | setting exlicitely the CPU to a 486 in qemu | Andreas Baumann | |
2017-07-09 | made kernel boot with optimizations on (clang), reason where the | Andreas Baumann | |
use of MMX registers | |||
2017-07-08 | forgot to set the backpointer to the interrupt manager (interrupts_t) in the | Andreas Baumann | |
interrupt_handler_init_void (clang and O1 crashed it while initializing the empty interrupt vectors) | |||
2017-07-08 | small adaptions around kernel_entry (docu, boot loader) | Andreas Baumann | |
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) |