Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-01-05 | some preliminary work on an UDP netconsole | Andreas Baumann | |
2017-08-13 | some work on IPv4 | Andreas Baumann | |
2017-08-13 | calculating correct size of an ARP reply packet | Andreas Baumann | |
2017-08-10 | renamed network write to network send | Andreas Baumann | |
2017-08-10 | some renamed in ethernet/rtl8139 | Andreas Baumann | |
don't try tp play with the ethernet CRCs, they belong to layer 2 OSI, the firmware of the network card rtl8139: computing packet size correctly (sizeof uint32_t of the CRC was part of the payload len) | |||
2017-08-06 | some cleanup in ethernet constants | Andreas Baumann | |
sending back an ARP packet rtl8139: started to implement write (work in progress) | |||
2017-08-02 | small renames in kernel.c | Andreas Baumann | |
2017-08-02 | added an IPv4 module, currently containg an address to string function | Andreas Baumann | |
started to add ARP packet definition, reading and printing ARP request now some renames in networking layer | |||
2017-08-02 | introduced a network library, added ethernet structure, moved | Andreas Baumann | |
generic stuff out of the network driver, kernel now sees ARP messages and prints src and dst MAC addresses | |||
2017-08-01 | freeing network data in handler and printing CRC in rtl8139 | Andreas Baumann | |
2017-08-01 | correctly receiving data in the rtl8139 driver and passing it to the network | Andreas Baumann | |
handler, in Qemu user network we see complete ARP requests now (sent by Qemu itself presumably to update it's 'router' table (an external telnet localhost 8080 is needed to trigger that) | |||
2017-08-01 | we can receive network events, but the receive buffer remains empty | Andreas Baumann | |
this is because we must enable DMA transfering on the PCI bus (bus master enable) | |||
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 | 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 | 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 | 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 | same for the graphical VGA driver | Andreas Baumann | |
2017-07-15 | mouse and keyboard are now allocated driver pointers | Andreas Baumann | |
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-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-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 | 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-05 | removed superfluous context in vga driver (was not used) | Andreas Baumann | |
added dummy methods and driver_init for anonymous driver initialization | |||
2017-07-05 | tried to fix libc tests, currently they draw in too many dependencies | Andreas Baumann | |
and don't link. We have to separate libc better from the rest of the kernel code (kernel_panic, libc library initializers) | |||
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-05 | fixed compilation errors due to unused variables | Andreas Baumann | |
2017-07-05 | some kernel code cleanup | Andreas Baumann | |
renamed 'proc' command to 'task' and make it show number of tasks and context switches | |||
2017-07-05 | fixed graphical screen refresh (a refreshScreen task) | Andreas Baumann | |
cleaned up code after interrupt_enable in main thread everything works again | |||
2017-07-04 | got scheduling of task A and B working (now graphics output and termination ↵ | Andreas Baumann | |
is broken) | |||
2017-07-02 | started to add task scheduling | Andreas Baumann | |
2017-07-02 | added ESC key in PS/2 keyboard driver | Andreas Baumann | |
allow pressing ESC in graphics mode to return to text mode | |||
2017-07-01 | do not call methods directly on desktop object, the desktop object could | Andreas Baumann | |
be derived, so go over the vtable (keyboard and mouse handlers in kernel.c) | |||
2017-07-01 | replaced some strange access to .base.base with casts of the class to the ↵ | Andreas Baumann | |
class needed to access the proper vtable | |||
2017-07-01 | got rid of superflous vtables in GUI class hierarchy | Andreas Baumann | |
2017-07-01 | fixed get_focus error in widget (called the wrong parent) | Andreas Baumann | |
the text widget reacts to mouse down and key events and appends text to the output buffer so we have text input in GUI mode | |||
2017-07-01 | restoring VGA text cursor in the right place | Andreas Baumann | |
2017-06-30 | almost got a complete mode switch (vga graphics back to text) working | Andreas Baumann | |
some cleanup in VGA driver code |