Subrata Banik has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/33737 )
Change subject: device/oprom: Add vbe return status support as per VBE spec 3.0 ......................................................................
Patch Set 9:
(1 comment)
https://review.coreboot.org/c/coreboot/+/33737/8/src/device/oprom/realmode/x... File src/device/oprom/realmode/x86.c:
https://review.coreboot.org/c/coreboot/+/33737/8/src/device/oprom/realmode/x... PS8, Line 246: mode = *video_mode_ptr++;
What exactly are you referring to? the pointer? the array behind […]
here is the dump of return buffer from int 10, 0x4F00
dump(00000624, 104):
00000624: 56 45 53 41 00 03 58 02 VESA..X. 0000062c: 00 c0 01 00 00 00 68 06 ......h. 00000634: 00 00 00 03 32 0f 73 01 ....2.s. 0000063c: 00 c0 05 01 00 c0 18 48 .......H 00000644: 00 c0 00 00 00 00 00 00 ........ 0000064c: 00 00 00 00 00 00 00 00 ........ 00000654: 00 00 00 00 00 00 00 00 ........ 0000065c: 00 00 00 00 00 00 00 00 ........ 00000664: 00 00 00 00 10 01 11 01 ........ 0000066c: 13 01 14 01 16 01 17 01 ........ 00000674: 19 01 1a 01 65 01 66 01 ....e.f. 0000067c: 21 01 22 01 23 01 24 01 !.".#.$. 00000684: 45 01 46 01 75 01 76 01 E.F.u.v. 0000068c: d2 01 d4 01 ff ff 00 00 ........ 00000694: 00 00 00 00 00 00 00 00 ........ 0000069c: 00 00 00 00 00 00 00 00 ........ 000006a4: 00 00 00 00 00 00 00 00 ........ 000006ac: 00 00 00 00 00 00 00 00 ........ 000006b4: 00 00 00 00 00 00 00 00 ........ 000006bc: 00 00 00 00 00 00 00 00 ........ 000006c4: 00 00 00 00 00 00 00 00 ........ 000006cc: 00 00 00 00 00 00 00 00 ........ 000006d4: 00 00 00 00 00 00 00 00 ........ 000006dc: 00 00 00 00 00 00 00 00 ........ 000006e4: 00 00 00 00 00 00 00 00 ........ 000006ec: 00 00 00 00 00 00 00 00 ........ 000006f4: 00 00 00 00 00 00 00 00 ........ 000006fc: 00 00 00 00 00 00 00 00 ........ 00000704: 00 00 00 00 00 00 00 00 ........ 0000070c: 00 00 00 00 00 00 00 00 ........ 00000714: 00 00 00 00 00 00 00 00 ........ 0000071c: 00 00 00 00 00 00 00 00 ........ 00000724: 60 9c 89 25 `..%
now, i have copied this into vbe_info_t and info.video_mode_ptr refers at 0x00000668, so size of mode list is 16 bit
video_mode_ptr : 00000668 110 video_mode_ptr : 0000066a 111 video_mode_ptr : 0000066c 113 video_mode_ptr : 0000066e 114 video_mode_ptr : 00000670 116 video_mode_ptr : 00000672 117 video_mode_ptr : 00000674 119 video_mode_ptr : 00000676 11a video_mode_ptr : 00000678 165 video_mode_ptr : 0000067a 166 video_mode_ptr : 0000067c 121 video_mode_ptr : 0000067e 122 video_mode_ptr : 00000680 123 video_mode_ptr : 00000682 124 video_mode_ptr : 00000684 145 video_mode_ptr : 00000686 146 video_mode_ptr : 00000688 175 video_mode_ptr : 0000068a 176 video_mode_ptr : 0000068c 1d2 video_mode_ptr : 0000068e 1d4 video_mode_ptr : 00000690
is that clarifies what i'm referring at and what is getting incremented. When we are in protected mode, i have access to entire memory even its below 1 MB, and i can access that memory in 20 bit format. This is what been done here. to access those memory, i don't need to jump into real mode.