aboutsummaryrefslogtreecommitdiffstats
path: root/vgasrc/vgahw.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2014-02-11 15:34:58 -0500
committerKevin O'Connor <kevin@koconnor.net>2014-04-11 11:26:23 -0400
commit7c79029e43af2e98449d437d4d325bf56b10abd8 (patch)
tree5698c012e66dabb677583c4c2fab567ca805b495 /vgasrc/vgahw.h
parent5ab18be0b32f8e2f99768c4b889e37db0a3b8717 (diff)
downloadseabios-7c79029e43af2e98449d437d4d325bf56b10abd8.tar.gz
vgabios: Initial support for coreboot native vga vgabios.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/vgahw.h')
-rw-r--r--vgasrc/vgahw.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/vgasrc/vgahw.h b/vgasrc/vgahw.h
index 3e843571..39f818ab 100644
--- a/vgasrc/vgahw.h
+++ b/vgasrc/vgahw.h
@@ -4,6 +4,7 @@
#include "types.h" // u8
#include "config.h" // CONFIG_*
+#include "cbvga.h" // cbvga_setup
#include "clext.h" // clext_set_mode
#include "bochsvga.h" // bochsvga_set_mode
#include "stdvga.h" // stdvga_set_mode
@@ -14,6 +15,8 @@ static inline struct vgamode_s *vgahw_find_mode(int mode) {
return clext_find_mode(mode);
if (CONFIG_VGA_BOCHS)
return bochsvga_find_mode(mode);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_find_mode(mode);
return stdvga_find_mode(mode);
}
@@ -22,6 +25,8 @@ static inline int vgahw_set_mode(struct vgamode_s *vmode_g, int flags) {
return clext_set_mode(vmode_g, flags);
if (CONFIG_VGA_BOCHS)
return bochsvga_set_mode(vmode_g, flags);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_set_mode(vmode_g, flags);
return stdvga_set_mode(vmode_g, flags);
}
@@ -30,6 +35,8 @@ static inline void vgahw_list_modes(u16 seg, u16 *dest, u16 *last) {
clext_list_modes(seg, dest, last);
else if (CONFIG_VGA_BOCHS)
bochsvga_list_modes(seg, dest, last);
+ else if (CONFIG_VGA_COREBOOT)
+ cbvga_list_modes(seg, dest, last);
else
stdvga_list_modes(seg, dest, last);
}
@@ -41,6 +48,8 @@ static inline int vgahw_setup(void) {
return bochsvga_setup();
if (CONFIG_VGA_GEODEGX2 || CONFIG_VGA_GEODELX)
return geodevga_setup();
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_setup();
return stdvga_setup();
}
@@ -49,6 +58,8 @@ static inline int vgahw_get_window(struct vgamode_s *vmode_g, int window) {
return clext_get_window(vmode_g, window);
if (CONFIG_VGA_BOCHS)
return bochsvga_get_window(vmode_g, window);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_get_window(vmode_g, window);
return stdvga_get_window(vmode_g, window);
}
@@ -58,6 +69,8 @@ static inline int vgahw_set_window(struct vgamode_s *vmode_g, int window
return clext_set_window(vmode_g, window, val);
if (CONFIG_VGA_BOCHS)
return bochsvga_set_window(vmode_g, window, val);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_set_window(vmode_g, window, val);
return stdvga_set_window(vmode_g, window, val);
}
@@ -66,6 +79,8 @@ static inline int vgahw_get_linelength(struct vgamode_s *vmode_g) {
return clext_get_linelength(vmode_g);
if (CONFIG_VGA_BOCHS)
return bochsvga_get_linelength(vmode_g);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_get_linelength(vmode_g);
return stdvga_get_linelength(vmode_g);
}
@@ -74,6 +89,8 @@ static inline int vgahw_set_linelength(struct vgamode_s *vmode_g, int val) {
return clext_set_linelength(vmode_g, val);
if (CONFIG_VGA_BOCHS)
return bochsvga_set_linelength(vmode_g, val);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_set_linelength(vmode_g, val);
return stdvga_set_linelength(vmode_g, val);
}
@@ -82,6 +99,8 @@ static inline int vgahw_get_displaystart(struct vgamode_s *vmode_g) {
return clext_get_displaystart(vmode_g);
if (CONFIG_VGA_BOCHS)
return bochsvga_get_displaystart(vmode_g);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_get_displaystart(vmode_g);
return stdvga_get_displaystart(vmode_g);
}
@@ -90,18 +109,24 @@ static inline int vgahw_set_displaystart(struct vgamode_s *vmode_g, int val) {
return clext_set_displaystart(vmode_g, val);
if (CONFIG_VGA_BOCHS)
return bochsvga_set_displaystart(vmode_g, val);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_set_displaystart(vmode_g, val);
return stdvga_set_displaystart(vmode_g, val);
}
static inline int vgahw_get_dacformat(struct vgamode_s *vmode_g) {
if (CONFIG_VGA_BOCHS)
return bochsvga_get_dacformat(vmode_g);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_get_dacformat(vmode_g);
return stdvga_get_dacformat(vmode_g);
}
static inline int vgahw_set_dacformat(struct vgamode_s *vmode_g, int val) {
if (CONFIG_VGA_BOCHS)
return bochsvga_set_dacformat(vmode_g, val);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_set_dacformat(vmode_g, val);
return stdvga_set_dacformat(vmode_g, val);
}
@@ -110,6 +135,8 @@ static inline int vgahw_save_restore(int cmd, u16 seg, void *data) {
return clext_save_restore(cmd, seg, data);
if (CONFIG_VGA_BOCHS)
return bochsvga_save_restore(cmd, seg, data);
+ if (CONFIG_VGA_COREBOOT)
+ return cbvga_save_restore(cmd, seg, data);
return stdvga_save_restore(cmd, seg, data);
}