From 76b381c5d30f32c3018a134d96f8a5c3ad677cfa Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 15 Jul 2017 17:38:09 +0200 Subject: added a dummy RTL8139 network driver added register interrupt handler methods to drivers (but I'm pretty unsure about them) setting network in qemu startup and using RTL8139 emulation drivers --- src/drivers/net/rtl8139.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/drivers/net/rtl8139.c (limited to 'src/drivers/net/rtl8139.c') diff --git a/src/drivers/net/rtl8139.c b/src/drivers/net/rtl8139.c new file mode 100644 index 0000000..139f228 --- /dev/null +++ b/src/drivers/net/rtl8139.c @@ -0,0 +1,47 @@ +#include "rtl8139.h" + +#include "string.h" +#include "stdio.h" + +#undef DEBUG + +static rtl8139_vtable_t const rtl8139_vtable = { + { + driver_register_interrupt_handler, + rtl8139_activate, + rtl8139_deactivate, + rtl8139_deinit, + rtl8139_print_info + } +}; + +void rtl8139_init( rtl8139_t *rtl8139 ) +{ + memset( rtl8139, 0, sizeof( rtl8139_t ) ); + + ((driver_t *)rtl8139)->vtable = (driver_vtable_t *)&rtl8139_vtable; +} + +void rtl8139_activate( void *obj ) +{ + puts( "Activating driver for Realtek 8139 network card.." ); + + rtl8139_t *rtl8139 = obj; +} + +void rtl8139_deactivate( void *obj ) +{ + puts( "Dectivating driver for Realtek 8139 network card.." ); + + rtl8139_t *rtl8139 = obj; +} + +void rtl8139_deinit( void *obj ) +{ + // nothing to do +} + +void rtl8139_print_info( void *obj ) +{ + puts( "Realtek 8139 network card driver" ); +} -- cgit v1.2.3-54-g00ecf