aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteven Price <steven@ecrips.co.uk>2024-10-12 11:34:34 +0000
committerKevin O'Connor <kevin@koconnor.net>2024-10-25 11:55:25 -0400
commit62a1429ec1ec67f14c039d97627a6a7ef70a983c (patch)
tree7ef52dd2de58ffa070bf3abea1ce8b4ac8b45a58
parent2424e4c04aa30d90e85073ea41d18a7845460783 (diff)
downloadseabios-master.zip
seabios-master.tar.gz
seabios-master.tar.bz2
vgabios: Fix generating modes list for static_functionalityHEADmaster
Accessing the data in the vga_modes array requires using GET_GLOBAL(), and the bits set in the bit array should correspond to the modes, not the indexes in vga_modes. With this change the modes calculated matches the expected value of 0xfe0ff. Fixes: 12900b1a2431 ("vgabios: Fill in available legacy modes in video_func_static at runtime") Signed-off-by: Steven Price <steven@ecrips.co.uk>
-rw-r--r--vgasrc/stdvgamodes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c
index b1d0ef6..d72d36b 100644
--- a/vgasrc/stdvgamodes.c
+++ b/vgasrc/stdvgamodes.c
@@ -419,9 +419,9 @@ stdvga_build_video_param(void)
// Fill available legacy modes in video_func_static table
u32 modes = 0;
for (i = 0; i < ARRAY_SIZE(vga_modes); i++) {
- u16 mode = vga_modes[i].mode;
+ u16 mode = GET_GLOBAL(vga_modes[i].mode);
if (mode <= 0x13)
- modes |= 1<<i;
+ modes |= 1<<mode;
}
SET_VGA(static_functionality.modes, modes);
}