aa5f60ae41
IntelFrameworkModulePkg: Refine casting expression result to bigger size
...
There are cases that the operands of an expression are all with rank less
than UINT64/INT64 and the result of the expression is explicitly cast to
UINT64/INT64 to fit the target size.
An example will be:
UINT32 a,b;
// a and b can be any unsigned int type with rank less than UINT64, like
// UINT8, UINT16, etc.
UINT64 c;
c = (UINT64) (a + b);
Some static code checkers may warn that the expression result might
overflow within the rank of "int" (integer promotions) and the result is
then cast to a bigger size.
The commit refines codes by the following rules:
1). When the expression is possible to overflow the range of unsigned int/
int:
c = (UINT64)a + b;
2). When the expression will not overflow within the rank of "int", remove
the explicit type casts:
c = a + b;
3). When the expression will be cast to pointer of possible greater size:
UINT32 a,b;
VOID *c;
c = (VOID *)(UINTN)(a + b); --> c = (VOID *)((UINTN)a + b);
4). When one side of a comparison expression contains only operands with
rank less than UINT32:
UINT8 a;
UINT16 b;
UINTN c;
if ((UINTN)(a + b) > c) {...} --> if (((UINT32)a + b) > c) {...}
For rule 4), if we remove the 'UINTN' type cast like:
if (a + b > c) {...}
The VS compiler will complain with warning C4018 (signed/unsigned
mismatch, level 3 warning) due to promoting 'a + b' to type 'int'.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
2017-03-06 14:33:22 +08:00
1e8561d181
IntelFrameworkModulePkg: BiosVideo: remove set but unused variable
...
Cc: Jeff Fan <jeff.fan@intel.com >
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Jeff Fan <jeff.fan@intel.com >
2016-03-25 10:52:16 +01:00
1a45b15eae
Add type cast on variable before operation.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeff Fan <jeff.fan@intel.com >
Reviewed-by: Eric Dong <Eric.Dong@intel.com >
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15778 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-08 05:52:01 +00:00
1687559138
When EDID comes from hardware INT10 and does not include 800x600, 640x480 and 1024x768, but INT10 supports these modes, add them into GOP mode.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14225 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-29 03:14:30 +00:00
7f7dba5c86
Take the highest horizontal resolution as highest video resolution.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com >
Reviewed-by: Tian Hot <hot.tian@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14075 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-22 06:37:06 +00:00
2e0910acd5
Parse full EDID data to get all video resolutions supported by monitors.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14073 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-22 06:18:50 +00:00
6c2f76ed70
Fix IA32 build failure to add UINTN type cast.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13960 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-26 00:34:34 +00:00
554e88d230
Update FrameBufferSize aligned with UEFI spec.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13959 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-23 08:24:19 +00:00
60bee0c9b5
BiosVideo allocate wrong size of buffer for EDID override data. Fix this issue to allocate correct buffer size.
...
Signed-off-by: Sergey Isakov <isakov-sl@bk.ru >
Reviewed-by: Elvin Li <elvin.li@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13934 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-12 03:48:35 +00:00
e6fa789014
Use ReadUnaligned16 function to access the buffer which is pointed by a possible unaligned pointer.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13879 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-24 01:10:47 +00:00
c31b316c00
To follow UEFI spec, update the code to make correct check to support multiple _ADR fields.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13538 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-18 06:21:08 +00:00
eca7d27193
Currently restoring PCI attributes are put in child uninstall logic, if one child is uninstalled, PCI attributes are restored, it will bring problem for stopping the next child. we do not restore the PCI attributes until all child handles are uninstalled.
...
Signed-off-by: Li Elvin <elvin.li@intel.com >
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com >
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13275 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-04 12:21:41 +00:00
675253b4a4
Set video resolution to highest when PcdVideoHorizontalResolution or PcdVideoVerticalResolution are set to 0x0.
...
Signed-off-by: li-elvin
Reviewed-by: niruiyu, hhtian
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12596 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-28 08:25:18 +00:00
153a2bae71
Check the device path protocol before opening the PciIo BY_DRIVER.
...
Signed-off-by: niruiyu
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12579 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-27 05:24:06 +00:00
a1f7e1e34f
The ParentDevicePath is not initialized when error happened and went to Done. So the ParentDevicePath is moved to the beginning of Start ().
...
Signed-off-by: li-elvin
Reviewed-by: niruiyu, rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12441 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-26 06:01:07 +00:00
af00cab88d
Put free the buffer GraphicsOutput.Mode in correct place.
...
Signed-off-by: li-elvin
Reviewed-by: niruiyu
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12065 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-01 07:18:24 +00:00
bcecde140a
IntelFrameworkModulePkg: Add Compatibility Support Module (CSM) drivers
...
Added these drivers:
* LegacyBiosDxe
* BlockIoDxe
* KeyboardDxe
* Snp16Dxe
* VideoDxe
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: geekboy15a
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11905 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-27 23:32:56 +00:00