From ec53fcec458db857b834d135c6abd5d0ad568fc9 Mon Sep 17 00:00:00 2001 From: Blue Swirl Date: Fri, 2 Jan 2009 14:53:33 +0000 Subject: [PATCH] Clean up video routines git-svn-id: svn://coreboot.org/openbios/openbios-devel@343 f158a5a8-5612-0410-a976-696ce0be7e32 --- arch/ppc/build.xml | 3 ++- arch/ppc/qemu/console.c | 9 +-------- arch/sparc32/console.c | 11 ++--------- arch/sparc32/openbios.c | 1 + arch/sparc64/openbios.c | 1 + include/openbios/drivers.h | 12 ------------ include/video_subr.h | 15 +++++++++++++++ modules/build.xml | 2 ++ modules/{console.c => console_common.c} | 3 ++- modules/video.c | 5 +++++ 10 files changed, 31 insertions(+), 31 deletions(-) rename modules/{console.c => console_common.c} (99%) diff --git a/arch/ppc/build.xml b/arch/ppc/build.xml index 1fe145f..c5bd2a9 100644 --- a/arch/ppc/build.xml +++ b/arch/ppc/build.xml @@ -231,8 +231,9 @@ - + + diff --git a/arch/ppc/qemu/console.c b/arch/ppc/qemu/console.c index 1530d73..4768cbd 100644 --- a/arch/ppc/qemu/console.c +++ b/arch/ppc/qemu/console.c @@ -17,6 +17,7 @@ #include "libc/diskio.h" #include "ofmem.h" #include "qemu/qemu.h" +#include "video_subr.h" #ifdef CONFIG_DEBUG_CONSOLE @@ -125,14 +126,6 @@ static void serial_cls(void) } #endif // CONFIG_DEBUG_CONSOLE_SERIAL -typedef struct osi_fb_info { - unsigned long mphys; - int rb, w, h, depth; -} osi_fb_info_t; - -#include "../../../modules/video.c" -#include "../../../modules/console.c" - /* ****************************************************************** * common functions, implementing simple concurrent console * ****************************************************************** */ diff --git a/arch/sparc32/console.c b/arch/sparc32/console.c index 7650384..f4cd5c5 100644 --- a/arch/sparc32/console.c +++ b/arch/sparc32/console.c @@ -9,6 +9,7 @@ #include "openbios/kernel.h" #include "openbios/drivers.h" #include "openbios.h" +#include "video_subr.h" #ifdef CONFIG_DEBUG_CONSOLE @@ -24,15 +25,7 @@ #define DAC_SIZE 16 unsigned char *vmem; -static volatile uint32_t *dac; - -typedef struct osi_fb_info { - unsigned long mphys; - int rb, w, h, depth; -} osi_fb_info_t; - -#include "../../modules/video.c" -#include "../../modules/console.c" +volatile uint32_t *dac; static void video_putchar(int c) { diff --git a/arch/sparc32/openbios.c b/arch/sparc32/openbios.c index 4163d69..8e250cf 100644 --- a/arch/sparc32/openbios.c +++ b/arch/sparc32/openbios.c @@ -17,6 +17,7 @@ #include "sys_info.h" #include "openbios.h" #include "boot.h" +#include "video_subr.h" int qemu_machine_type; diff --git a/arch/sparc64/openbios.c b/arch/sparc64/openbios.c index 62cc843..38f6a1a 100644 --- a/arch/sparc64/openbios.c +++ b/arch/sparc64/openbios.c @@ -28,6 +28,7 @@ #include "libc/vsprintf.h" #define NO_QEMU_PROTOS #include "openbios/fw_cfg.h" +#include "video_subr.h" #define BIOS_CFG_CMD 0x510 #define BIOS_CFG_DATA 0x511 diff --git a/include/openbios/drivers.h b/include/openbios/drivers.h index 890bc82..1f0701d 100644 --- a/include/openbios/drivers.h +++ b/include/openbios/drivers.h @@ -13,18 +13,6 @@ #include "openbios/config.h" -/* modules/video.c */ -int video_get_res(int *w, int *h); -void draw_pixel(int x, int y, int colind); -void set_color(int ind, ulong color); -void video_scroll(int height); -void init_video(unsigned long fb, int width, int height, int depth, int rb); - -/* modules/console.c */ -int console_draw_str(const char *str); -void console_close(void); -void cls(void); - #ifdef CONFIG_DRIVER_PCI /* drivers/pci.c */ int ob_pci_init(void); diff --git a/include/video_subr.h b/include/video_subr.h index d8de925..95b7c9a 100644 --- a/include/video_subr.h +++ b/include/video_subr.h @@ -15,4 +15,19 @@ void vga_vbe_set_mode(int width, int height, int depth); void vga_vbe_init(const char *path, uint32_t fb, uint32_t fb_size, unsigned long rom, uint32_t rom_size); +/* modules/video.c */ +int video_get_res(int *w, int *h); +void draw_pixel(int x, int y, int colind); +void set_color(int ind, unsigned long color); +void video_scroll(int height); +void init_video(unsigned long fb, int width, int height, int depth, int rb); + +/* modules/console_common.c */ +int console_draw_str(const char *str); +int console_init(void); +void console_close(void); +void cls(void); + +extern volatile uint32_t *dac; + #endif /* VIDEO_SUBR_H */ diff --git a/modules/build.xml b/modules/build.xml index c43a3b4..d14d408 100644 --- a/modules/build.xml +++ b/modules/build.xml @@ -6,6 +6,8 @@ + + diff --git a/modules/console.c b/modules/console_common.c similarity index 99% rename from modules/console.c rename to modules/console_common.c index fd43cf8..f6b6d3e 100644 --- a/modules/console.c +++ b/modules/console_common.c @@ -15,6 +15,7 @@ #include "openbios/config.h" #include "openbios/bindings.h" #include "openbios/fontdata.h" +#include "video_subr.h" #if !defined(fontdata) #if defined(CONFIG_FONT_8X8) @@ -125,7 +126,7 @@ refresh( void ) } #endif -static int +int console_init( void ) { if( video_get_res(&cons.physw,&cons.physh) < 0 ) diff --git a/modules/video.c b/modules/video.c index 3b017ce..5f4b70d 100644 --- a/modules/video.c +++ b/modules/video.c @@ -21,6 +21,11 @@ #include "openbios/drivers.h" #include "video_subr.h" +typedef struct osi_fb_info { + unsigned long mphys; + int rb, w, h, depth; +} osi_fb_info_t; + static struct { int has_video; osi_fb_info_t fb;