]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkModulePkg/Include/Protocol/VgaMiniPort.h
Committing changes to the comments, after review with engineers.
[mirror_edk2.git] / IntelFrameworkModulePkg / Include / Protocol / VgaMiniPort.h
CommitLineData
8ca67c46 1/** @file\r
099fae5d 2 VGA Mini Port Protocol that is used to set the text display mode of a VGA controller.\r
a9102619 3\r
099fae5d 4 Copyright (c) 2006 - 2009, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
a9102619 12\r
3db51098 13**/\r
a9102619 14\r
15#ifndef __VGA_MINI_PORT_H_\r
16#define __VGA_MINI_PORT_H_\r
17\r
099fae5d 18///\r
19/// Global ID for the EFI_VGA_MINI_PORT_PROTOCOL\r
20///\r
a9102619 21#define EFI_VGA_MINI_PORT_PROTOCOL_GUID \\r
22 { \\r
23 0xc7735a2f, 0x88f5, 0x4882, {0xae, 0x63, 0xfa, 0xac, 0x8c, 0x8b, 0x86, 0xb3 } \\r
24 }\r
25\r
099fae5d 26///\r
27/// Forward declaration for the EFI_VGA_MINI_PORT_PROTOCOL\r
28///\r
a9102619 29typedef struct _EFI_VGA_MINI_PORT_PROTOCOL EFI_VGA_MINI_PORT_PROTOCOL;\r
30\r
ed7752ec 31/**\r
099fae5d 32 Sets the text display mode of a VGA controller.\r
ed7752ec 33 \r
099fae5d 34 Sets the text display mode of the VGA controller to the mode specified by \r
35 ModeNumber. A ModeNumber of 0 is a request for an 80x25 text mode. A \r
36 ModeNumber of 1 is a request for an 80x50 text mode. If ModeNumber is greater\r
37 than MaxModeNumber, then EFI_UNSUPPORTED is returned. If the VGA controller \r
38 is not functioning properly, then EFI_DEVICE_ERROR is returned. If the VGA\r
39 controller is sucessfully set to the mode number specified by ModeNumber, then \r
40 EFI_SUCCESS is returned.\r
41 \r
42 @param[in] This A pointer to the EFI_VGA_MINI_PORT_PROTOCOL instance.\r
43 @param[in] ModeNumber The requested mode number. 0 for 80x25. 1 for 80x5.\r
ed7752ec 44\r
099fae5d 45 @retval EFI_SUCCESS The mode number was set\r
46 @retval EFI_UNSUPPORTED The mode number specified by ModeNumber is not supported.\r
47 @retval EFI_DEVICE_ERROR The device is not functioning properly.\r
ed7752ec 48 \r
49**/\r
a9102619 50typedef\r
51EFI_STATUS\r
099fae5d 52(EFIAPI *EFI_VGA_MINI_PORT_SET_MODE)(\r
53 IN EFI_VGA_MINI_PORT_PROTOCOL *This,\r
54 IN UINTN ModeNumber\r
a9102619 55 );\r
56\r
a9102619 57struct _EFI_VGA_MINI_PORT_PROTOCOL {\r
58 EFI_VGA_MINI_PORT_SET_MODE SetMode;\r
099fae5d 59 ///\r
60 /// MMIO base address of the VGA text mode framebuffer. Typically set to 0xB8000.\r
61 ///\r
a9102619 62 UINT64 VgaMemoryOffset;\r
099fae5d 63 ///\r
d0bd68b2 64 /// I/O Port address for the VGA CRTC address register. Typically set to 0x3D4.\r
099fae5d 65 ///\r
a9102619 66 UINT64 CrtcAddressRegisterOffset;\r
099fae5d 67 ///\r
68 /// I/O Port address for the VGA CRTC data register. Typically set to 0x3D5.\r
69 ///\r
a9102619 70 UINT64 CrtcDataRegisterOffset;\r
099fae5d 71 ///\r
72 /// PCI Controller MMIO BAR index of the VGA text mode frame buffer. Typically \r
73 /// set to EFI_PCI_IO_PASS_THROUGH_BAR\r
74 ///\r
a9102619 75 UINT8 VgaMemoryBar;\r
099fae5d 76 ///\r
77 /// PCI Controller I/O BAR index of the VGA CRTC address register. Typically \r
78 /// set to EFI_PCI_IO_PASS_THROUGH_BAR\r
79 ///\r
a9102619 80 UINT8 CrtcAddressRegisterBar;\r
099fae5d 81 ///\r
82 /// PCI Controller I/O BAR index of the VGA CRTC data register. Typically set \r
83 /// to EFI_PCI_IO_PASS_THROUGH_BAR\r
84 ///\r
a9102619 85 UINT8 CrtcDataRegisterBar;\r
099fae5d 86 ///\r
87 /// The maximum number of text modes that this VGA controller supports.\r
88 ///\r
a9102619 89 UINT8 MaxMode;\r
90};\r
91\r
92extern EFI_GUID gEfiVgaMiniPortProtocolGuid;\r
93\r
94#endif\r