Changeset 26464 in vbox for trunk/src/VBox/Devices/EFI/Firmware2
- Timestamp:
- Feb 12, 2010 2:21:27 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 57623
- Location:
- trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/Include/DevEFI.h
r26203 r26464 59 59 EFI_INFO_INDEX_CPU_FREQUENCY, 60 60 EFI_INFO_INDEX_TSC_FREQUENCY, 61 EFI_INFO_INDEX_GOP_MODE, 62 EFI_INFO_INDEX_UGA_HORISONTAL_RESOLUTION, 63 EFI_INFO_INDEX_UGA_VERTICAL_RESOLUTION, 61 64 EFI_INFO_INDEX_END 62 65 } EfiInfoIndex; -
trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxConsoleDxe/VBoxConsole.c
r26441 r26464 21 21 22 22 #include "VBoxConsole.h" 23 #include "VBoxPkg.h" 24 #include "DevEFI.h" 25 #include "iprt/asm.h" 23 26 24 27 /* @todo understand the reasons why TextOutputProtocol.SetMode isn't enough to switch mode. */ … … 30 33 static EFI_GRAPHICS_OUTPUT_PROTOCOL *Gop; 31 34 static EFI_UGA_DRAW_PROTOCOL *Uga; 35 36 /* 37 * @todo move this function to the library. 38 */ 39 static UINT32 40 GetVmVariable(UINT32 Variable, CHAR8* Buffer, UINT32 Size ) 41 { 42 UINT32 VarLen, i; 43 44 45 ASMOutU32(EFI_INFO_PORT, Variable); 46 VarLen = ASMInU32(EFI_INFO_PORT); 47 48 for (i=0; i < VarLen && i < Size; i++) 49 { 50 Buffer[i] = ASMInU8(EFI_INFO_PORT); 51 } 52 53 return VarLen; 54 } 32 55 33 56 static VOID … … 43 66 DEBUG((DEBUG_INFO, "%a:%d - SwitchMode\n", __FILE__, __LINE__)); 44 67 if (Gop) 45 r = Gop->SetMode(Gop, 2); 46 if (Uga) 47 r = Uga->SetMode(Uga, 1024, 768, 32, 60); 68 { 69 UINT32 mode = 2; 70 GetVmVariable(EFI_INFO_INDEX_GOP_MODE, (CHAR8 *)&mode, sizeof(UINT32)); 71 r = Gop->SetMode(Gop, mode); 72 } 73 else if (Uga) 74 { 75 UINT32 H = 1027; 76 UINT32 V = 768; 77 GetVmVariable(EFI_INFO_INDEX_UGA_HORISONTAL_RESOLUTION, (CHAR8 *)&H, sizeof(UINT32)); 78 GetVmVariable(EFI_INFO_INDEX_UGA_VERTICAL_RESOLUTION, (CHAR8 *)&V, sizeof(UINT32)); 79 r = Uga->SetMode(Uga, H, V, 32, 60); 80 } 48 81 if(EFI_ERROR(r)) 49 82 {
Note:
See TracChangeset
for help on using the changeset viewer.