[SeaBIOS] [PATCH] vgabios: Rename vbe_flags to flags

Kevin O'Connor kevin at koconnor.net
Thu Oct 23 03:53:44 CEST 2014


Allow the custom bda field vbe_flags to be used for flags outside of
vbe.

Signed-off-by: Kevin O'Connor <kevin at koconnor.net>
---
 vgasrc/vbe.c     | 7 ++++---
 vgasrc/vgabios.h | 4 +++-
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/vgasrc/vbe.c b/vgasrc/vbe.c
index 06ec22e..e2aeced 100644
--- a/vgasrc/vbe.c
+++ b/vgasrc/vbe.c
@@ -381,11 +381,12 @@ vbe_104f10(struct bregs *regs)
     case 0x00:
         regs->bx = 0x0f30;
         break;
-    case 0x01:
-        SET_BDA_EXT(vbe_flag, regs->bh);
+    case 0x01: ;
+        u8 flags = GET_BDA_EXT(flags);
+        SET_BDA_EXT(flags, (flags & ~BF_PM_MASK) | (regs->bh & BF_PM_MASK));
         break;
     case 0x02:
-        regs->bh = GET_BDA_EXT(vbe_flag);
+        regs->bh = GET_BDA_EXT(flags) & BF_PM_MASK;
         break;
     default:
         regs->ax = 0x014f;
diff --git a/vgasrc/vgabios.h b/vgasrc/vgabios.h
index fc8d45a..0ec4a8e 100644
--- a/vgasrc/vgabios.h
+++ b/vgasrc/vgabios.h
@@ -79,11 +79,13 @@ struct gfx_op {
 #define VGA_CUSTOM_BDA 0xb9
 
 struct vga_bda_s {
-    u8 vbe_flag;
+    u8 flags;
     u16 vbe_mode;
     u16 vgamode_offset;
 } PACKED;
 
+#define BF_PM_MASK 0x0f
+
 #define GET_BDA_EXT(var) \
     GET_FARVAR(SEG_BDA, ((struct vga_bda_s *)VGA_CUSTOM_BDA)->var)
 #define SET_BDA_EXT(var, val) \
-- 
1.9.3




More information about the SeaBIOS mailing list