aboutsummaryrefslogtreecommitdiffstats
path: root/vgasrc/vgahw.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2012-02-04 12:40:02 -0500
committerKevin O'Connor <kevin@koconnor.net>2012-02-04 12:41:13 -0500
commit2469f89528a7da83eb608dfc86fda5fc780b8f92 (patch)
tree38d975f9367476700be9ee8e9742b55287d128e2 /vgasrc/vgahw.h
parent9f857fc97c0cdfa6f18a43d1548cd91014766c26 (diff)
downloadseabios-2469f89528a7da83eb608dfc86fda5fc780b8f92.tar.gz
vgabios: Implement VBE save/restore state function (func 04).
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'vgasrc/vgahw.h')
-rw-r--r--vgasrc/vgahw.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/vgasrc/vgahw.h b/vgasrc/vgahw.h
index 585ae3da..044cd32c 100644
--- a/vgasrc/vgahw.h
+++ b/vgasrc/vgahw.h
@@ -105,4 +105,28 @@ static inline int vgahw_set_dacformat(struct vgamode_s *vmode_g, int val) {
return stdvga_set_dacformat(vmode_g, val);
}
+static inline int vgahw_size_state(int states) {
+ if (CONFIG_VGA_CIRRUS)
+ return clext_size_state(states);
+ if (CONFIG_VGA_BOCHS)
+ return bochsvga_size_state(states);
+ return stdvga_size_state(states);
+}
+
+static inline int vgahw_save_state(u16 seg, void *data, int states) {
+ if (CONFIG_VGA_CIRRUS)
+ return clext_save_state(seg, data, states);
+ if (CONFIG_VGA_BOCHS)
+ return bochsvga_save_state(seg, data, states);
+ return stdvga_save_state(seg, data, states);
+}
+
+static inline int vgahw_restore_state(u16 seg, void *data, int states) {
+ if (CONFIG_VGA_CIRRUS)
+ return clext_restore_state(seg, data, states);
+ if (CONFIG_VGA_BOCHS)
+ return bochsvga_restore_state(seg, data, states);
+ return stdvga_restore_state(seg, data, states);
+}
+
#endif // vgahw.h