diff options
author | Steven Price <steven@ecrips.co.uk> | 2024-10-12 11:34:34 +0000 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2024-10-25 11:55:25 -0400 |
commit | 62a1429ec1ec67f14c039d97627a6a7ef70a983c (patch) | |
tree | 7ef52dd2de58ffa070bf3abea1ce8b4ac8b45a58 | |
parent | 2424e4c04aa30d90e85073ea41d18a7845460783 (diff) | |
download | seabios-master.zip seabios-master.tar.gz seabios-master.tar.bz2 |
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.c | 4 |
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); } |