summaryrefslogtreecommitdiff
path: root/src/drivers
AgeCommit message (Collapse)Author
2019-05-02tried to test on real Unisys, power-cycles, as in bochsAndreas Baumann
2017-08-10renamed network write to network sendAndreas Baumann
2017-08-10forgot to set transmitting after writting (rtl8139)Andreas Baumann
2017-08-10more testing with UDPAndreas Baumann
2017-08-10some renamed in ethernet/rtl8139Andreas 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-08sending sort of an ARP reply over the rtl8139 driverAndreas Baumann
2017-08-06some cleanup in ethernet constantsAndreas Baumann
sending back an ARP packet rtl8139: started to implement write (work in progress)
2017-08-02added an IPv4 module, currently containg an address to string functionAndreas Baumann
started to add ARP packet definition, reading and printing ARP request now some renames in networking layer
2017-08-02introduced a network library, added ethernet structure, movedAndreas Baumann
generic stuff out of the network driver, kernel now sees ARP messages and prints src and dst MAC addresses
2017-08-01freeing network data in handler and printing CRC in rtl8139Andreas Baumann
2017-08-01correctly receiving data in the rtl8139 driver and passing it to the networkAndreas 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-01sucessfully enabled DMA transfers in RTL8139 driverAndreas Baumann
2017-08-01we can receive network events, but the receive buffer remains emptyAndreas Baumann
this is because we must enable DMA transfering on the PCI bus (bus master enable)
2017-07-27work on rtl8139 driver, can trigger interrupts nowAndreas Baumann
2017-07-27receiving the first network interruptsAndreas Baumann
2017-07-24added print_name method to all driversAndreas Baumann
removed superfluos empty methods in abstract drivers moved printing of info to method in rtl8139 driver
2017-07-24sorted out the rtl8139 submodelsAndreas Baumann
2017-07-23printing vendor id of rtl8139 driver, started to set configurationAndreas Baumann
2017-07-23reading and printing MAC address int RTL8139 driverAndreas Baumann
2017-07-22started to code RTL8139 network driver, for now setting io_base and IRQAndreas Baumann
2017-07-22separated video driver in a virtual video driver and a specificAndreas Baumann
VGA video driver
2017-07-22moved color handling to video driver from generic VGA driverAndreas Baumann
2017-07-21..Andreas Baumann
2017-07-21changed 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-20started to abstract video driversAndreas 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 a virtual keyboard driver interface, made the PS/2 keyboard a ↵Andreas Baumann
specialization of it
2017-07-18added a virtual mouse driver interface, made the PS/2 mouse a specialization ↵Andreas Baumann
of it
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-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-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-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-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-05removed superfluous context in vga driver (was not used)Andreas Baumann
added dummy methods and driver_init for anonymous driver initialization
2017-07-02started to add task schedulingAndreas Baumann
2017-07-02added ESC key in PS/2 keyboard driverAndreas Baumann
allow pressing ESC in graphics mode to return to text mode
2017-07-02simplified some driver manager code around calling virtual driver methodsAndreas Baumann
declared method tables const per class
2017-07-02some more vtable initialization fixesAndreas Baumann
2017-07-01tested with pcc, worksAndreas Baumann
removed some weird comments in vga_font.h troubling pcc
2017-07-01added a preprocessor guard to vga_font.hAndreas Baumann
2017-06-30almost got a complete mode switch (vga graphics back to text) workingAndreas Baumann
some cleanup in VGA driver code
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-30playing with Z buffering in VGA driverAndreas Baumann
2017-06-30added a third widget (for drawing fonts)Andreas Baumann
fixed drawing races due to mouse interrupts
2017-06-30added a VGA wait for retrace in graphics modeAndreas Baumann