diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-13 06:49:13 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2017-06-13 06:49:13 +0200 |
commit | b0d4a186416f0939f001acd59ee13a3cc1fbec62 (patch) | |
tree | 9a6c436e7791c504e99590965ce8269fa0aa3759 /src | |
parent | 7deaa5e3a148c143b1f9dd0f485b0200890ba87f (diff) | |
download | abaos-b0d4a186416f0939f001acd59ee13a3cc1fbec62.tar.gz abaos-b0d4a186416f0939f001acd59ee13a3cc1fbec62.tar.bz2 |
added empty stub for generic VGA driver
Diffstat (limited to 'src')
-rw-r--r-- | src/drivers/video/vga.c | 47 | ||||
-rw-r--r-- | src/drivers/video/vga.h | 29 |
2 files changed, 76 insertions, 0 deletions
diff --git a/src/drivers/video/vga.c b/src/drivers/video/vga.c new file mode 100644 index 0000000..0ffe058 --- /dev/null +++ b/src/drivers/video/vga.c @@ -0,0 +1,47 @@ +#include "vga.h" + +#include "stdio.h" + +#undef DEBUG + +static vga_vtable_t vga_vtable = { + { + vga_activate, + vga_deactivate, + vga_deinit, + vga_print_info + } +}; + +void vga_init( vga_t *vga, void *context ) +{ + memset( vga, 0, sizeof( vga_t ) ); + + vga->context = context; + + vga->base.vtable = &vga_vtable.base; +} + +void vga_activate( void *obj ) +{ + puts( "Activating driver for VGA video card.." ); + + vga_t *vga = obj; +} + +void vga_deactivate( void *obj ) +{ + puts( "Dectivating driver for VGA video card.." ); + + vga_t *vga = obj; +} + +void vga_deinit( void *obj ) +{ + // nothing to do +} + +void vga_print_info( void *obj ) +{ + puts( "VGA video driver" ); +} diff --git a/src/drivers/video/vga.h b/src/drivers/video/vga.h new file mode 100644 index 0000000..9b7f5c3 --- /dev/null +++ b/src/drivers/video/vga.h @@ -0,0 +1,29 @@ +#ifndef VGA_H +#define VGA_H + +#include "string.h" + +#include "interrupts.h" +#include "port.h" + +#include "driver.h" + +typedef struct { + driver_t base; + interrupt_t *interrupts; + port8_t command_port; + port8_t data_port; + void *context; +} vga_t; + +typedef struct { + driver_vtable_t base; +} vga_vtable_t; + +void vga_init( vga_t *vga, void *context ); +void vga_activate( void *obj ); +void vga_deactivate( void *obj ); +void vga_deinit( void *obj ); +void vga_print_info( void *obj ); + +#endif // VGA_H |