Commit Graph

64 Commits

Author SHA1 Message Date
Hao Wu 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
Hao Wu 0438f5e287 IntelFrameworkModulePkg: Replace [Ascii|Unicode]ValueToString
It is the follow up of commits 51f0ceb..9e32e97 to replace
AsciiValueToString/UnicodeValueToString with
AsciiValueToStringS/UnicodeValueToStringS.

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-02 09:57:54 +08:00
Star Zeng 39579a5aac IntelFrameworkModulePkg BdsDxe: Use definition in IndustryStandard/Smbios.h
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Amy Chan <amy.chan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Amy Chan <amy.chan@intel.com>
2016-07-29 10:10:55 +08:00
Giri P Mudusuru 241993480e IntelFrameworkModulePkg: Fix typos in comments
- requried to required

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Giri P Mudusuru <giri.p.mudusuru@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2016-07-11 10:29:48 +08:00
Star Zeng 9b82facd9c IntelFrameworkModulePkg: Replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr
It is the follow up of 3ab41b7a32
to replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr with
UnicodeStrToAsciiStrS/AsciiStrToUnicodeStrS.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
2016-06-21 12:46:27 +08:00
Jeremy Linton 92015d3bc4 IntelFrameworkModulePkg/Bds: Correct the total RAM calculation
Update the BDS frontpage to pull the RAM ranges from the
smbios extended size fields when applicable. The RAM calculation
also needs to take into account all the RAM ranges being provided
as many machines have multiple physical address ranges.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2016-04-05 11:18:04 +08:00
Eric Dong 84db9040cc IntelFrameworkModulePkg BdsDxe: Use PcdSet##S to replace PcdSet##
PcdSet## has no error status returned, then the caller has no idea about whether the set operation is successful or not.
PcdSet##S were added to return error status and PcdSet## APIs were put in ifndef DISABLE_NEW_DEPRECATED_INTERFACES condition.
To adopt PcdSet##S and further code development with DISABLE_NEW_DEPRECATED_INTERFACES defined, we need to Replace PcdSet## usage with PcdSet##S.

Normally, DynamicDefault PCD set is expected to be success, but DynamicHii PCD set failure is a legal case.
So for DynamicDefault, we add assert when set failure. For DynamicHii, we add logic to handle it.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18605 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-15 00:57:45 +00:00
Eric Dong 44873d3056 IntelFrameworkModulePkg: Replace deprecated function.
Replace GetEfiGlobalVariable with GetEfiGlobalVariable2.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18331 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-27 04:51:27 +00:00
Hao Wu 19d02cc20c IntelFrameworkModulePkg BdsDxe: Use safe string functions
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>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17735 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:26:47 +00:00
Eric Dong e0763f8757 Try to read key strike even when the TimeOuts value is zero, this will avoid BDS not get user input when TimeOuts value set to zero.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>




git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16304 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-06 08:56:54 +00:00
Olivier Martin 6d5b88f372 Removes dependencies on SMBIOS in the IntelFrameworkModulePkg’s BDS.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16207 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-11 02:19:36 +00:00
Jeff Fan 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
Eric Dong be9304f33f Support RouteConfig function for BdsDxe driver.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Gao, Liming <liming,gao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15563 6f19259b-4bc3-4df7-8a09-765794883524
2014-06-18 02:19:50 +00:00
Ruiyu Ni 69fc8f080e Report the setting variable failure to platform through the status code when core cannot handle the error.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15385 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-25 02:38:54 +00:00
ydong10 de12ae821c Get the language string before use it to avoid reuse freed buffer.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14241 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-03 07:18:39 +00:00
ydong10 a412ad88e5 Get support languages from "PlatformLangCodes" instead of front page string package.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14114 6f19259b-4bc3-4df7-8a09-765794883524
2013-01-30 05:19:46 +00:00
czhang46 e27ad65778 Fix 2 errors for new feature
Signed-off-by: Chao Zhang<chao.b.zhang@intel.com>
Reviewed-by: Eric Dong<eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13608 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-10 06:47:11 +00:00
czhang46 18cf395022 Add 2 new Bds features
1. Lazy ConIn
  2. OsIndicationsSupported & OsIndications

Signed-off-by: Chao Zhang<chao.b.zhang@intel.com>
Reviewed-by: Hot Tian<Hot.Tian@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13566 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-30 05:56:33 +00:00
czhang46 f9b843ec49 In PcdBootlogoOnlyEnable case, Clear cursor & screen when key rather than Hotkey or
Enter is pressed to goto front page 

Signed-off-by: czhang46
Reviewed-by: li-elvin

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13480 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-02 05:17:16 +00:00
ydong10 f01b91ae42 Fixed build failed.
Signed-off-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13406 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-31 08:35:48 +00:00
ydong10 bf4a3dbd47 Add new interface GetVariable2 and GetEfiGlobalVariable2 to return more info. Also replace old interface with new one.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13375 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-30 07:36:00 +00:00
czhang46 2df686c67c Add BootlogoOnly feature in BDS for BGRT
Signed-off-by: czhang46
Reviewed-by: li-elvin, hhtian


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13116 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-23 04:27:19 +00:00
ydong10 8472407740 Update for IntelFrameworkModulePkg.
Per UEFI spec, on CallBack action EFI_BROWSER_ACTION_CHANGING, the return value of ActionRequest will be ignored, but on CallBack action EFI_BROWSER_ACTION_CHANGED, the return value of ActionRequest will be used. 
But, EDKII browser still processes the got ActionRequest. And, all HII drivers in EDKII project also returns their expected ActionRequest value on action EFI_BROWSER_ACTION_CHANGING. 
Now update the browser to follow the spec, and update all core Hii drivers to keep old working modal.

Signed-off-by: ydong10
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12866 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 02:56:46 +00:00
li-elvin 32bc1227a5 Update console mode setup to use PcdSetupConOutColumn and PcdSetupConOutRow which are specially for BIOS setup.
Signed-off-by: li-elvin
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12770 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-24 01:01:48 +00:00
lzeng14 49975acb39 According to PI errata 0000654 and 000811, we need use 0xFFFE to instead of 0 for EFI_SMBIOS_PROTOCOL.Add() SmbiosHandle parameter to assign a unique handle to the SMBIOS record, and for EFI_SMBIOS_PROTOCOL.GetNext() SmbiosHandle parameter to get the first matched SMBIOS handle or indicate no more SMBIOS record.
Signed-off-by: lzeng14
Reviewed-by: li-elvin

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12750 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-21 08:53:54 +00:00
li-elvin 801401877e Fix incorrect pointer check.
Signed-off-by: li-elvin
Reviewed-by: ydong10

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12694 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 01:14:44 +00:00
li-elvin 72861c22e5 Introduce video resolution and text mode PCDs for BIOS setup in BDS module. User can use these PCDs to customize video resolution and text mode for setup when launching BIOS setup.
Signed-off-by: li-elvin
Reviewed-by: niruiyu


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12671 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-08 07:34:56 +00:00
xdu2 a637802c2f IntelFrameworkModulePkg: Update GenericBdsLib to use BootLogo protocol to report logo information after logo is drawn to screen; update BdsDxe to notify logo is corrupted when user is going to enter setup.
Signed-off-by: xdu2
Reviewed-by: mdkinney
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12664 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-04 08:28:09 +00:00
lgao4 e24fc1032d Clean up the private GUID definition in module Level.
0. Remove the unused private GUID from module source files.
1. Use gEfiCallerIdGuid replace of the private module GUID.
2. Add the public header files to define HII FormSet and PackageList GUID used in every HII driver.
3. Publish EFI_LEGACY_DEV_ORDER_VARIABLE_GUID from BdsDxe driver and EFI_UPDATE_DATA_FILE_GUID from UpdateDriverDxe to IntelFrameworkModulePkg Include directory.

Signed-off-by: lgao4
Reviewed-by: ydong10 gdong1 tye jfan12 wli12 rsun3 jyao1 ftian



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12374 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-18 12:23:27 +00:00
ydong10 d88f86f154 Refine all R9 call back function to return EFI_UNSUPPORTED for all unsupported call back type.
Signed-off-by:  ydong10
Reviewed-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11681 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-20 01:33:42 +00:00
niruiyu d394581d11 The hotkey callback in BDS module should defer loading the boot option until the TPL drops to TPL_APPLICATION after the keyboard driver is enhanced to call hotkey callback in timer handler whose TPL is higher than TPL_APPLICATION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11573 6f19259b-4bc3-4df7-8a09-765794883524
2011-04-20 08:51:18 +00:00
niruiyu d69bf66dc1 Fix the corner case when there is only "\0\0" appended and the Index is 1. Return missing string instead of empty string.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10914 6f19259b-4bc3-4df7-8a09-765794883524
2010-10-11 04:37:28 +00:00
niruiyu 2ca7eca448 Fix a bug in GetOptionalStringByIndex() that doesn't handle the case when Index == 0.
Code is re-organized to be more readable and simpler.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10823 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-26 03:15:23 +00:00
lgao4 7f97c9bb52 Use ASSERT to check the expression.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10618 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-01 03:21:55 +00:00
lgao4 4548fc2aaa Per UEFI spec, FORM_OPEN/FORM_CLOSE Callback function should be called for each question in the form when this form opens or closes.
Update all EDKII HII drivers to correctly handle FORM_OPEN and FORM_CLOSE call back. 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10561 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-02 02:06:01 +00:00
hhtian 180a5a35cb Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10414 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:28:26 +00:00
lgao4 8df1634c8b Don't create a dummy string with new language.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10302 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-22 12:31:57 +00:00
lgao4 59aefb7e0d Update HiiConfigAccess.ExtractConfig interface to support NULL request string and ConfigHdr request string.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10180 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 06:48:52 +00:00
klu2 ed79462bee there is no 0 between a SMBIOS buffer and the first string in unformated area. So no need + 1.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9555 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-11 11:52:26 +00:00
klu2 351615ee5e The consumer for smbios recorder should *not* make assumption the SMBIOS structure in special version. For length of smbios record, consumer need judge the SMBIOS->Hdr.Length but not use size of (SMBIOS_TYPE0) style.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9553 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-11 05:51:39 +00:00
gikidy bd2057a846 Refine code make callback logic same with frontPage.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9531 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-07 05:55:07 +00:00
gikidy baf46e70a5 Fix some typos & format.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9515 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-04 03:35:56 +00:00
davidhuang 6cfbf7adff 1. PI SMBIOS Checkin. Major change include:
1) Produce PI SMBIOS protocol in MdeModulePkg
2) Update all consumers (in CorePkgs and native platform pkgs) to consume SMBIOS protocol instead of DataHub
3) Pass ECC tool; Verify Nt32, Duet, Unix platform

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9455 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-20 04:01:15 +00:00
qhuang8 33bb632657 Update BdsDxe to use HiiLib and UefiHiiServicesLib APIs to eliminate the symbol collision.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9210 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-31 14:14:44 +00:00
lgao4 b55f8b0146 1. Correct Col * Row string
2. Add error handle for no data hub system.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9065 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-14 02:21:55 +00:00
darylm503 128efbbcc2 Clean up PERF macro usage. The macros were being used with 0 as the first parameter. This parameter is actually a void*. All of these instances were corrected to use NULL as the first parameter.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8954 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-15 22:28:07 +00:00
eric_tian 0995a97400 roll back the change on the naming of DataHubRecords.h for backward compatibility.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8877 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-10 10:16:37 +00:00
klu2 5b3ea840c4 Fix a building error due to check-in r8808
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8815 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-08 08:59:07 +00:00
klu2 13078b3fad 1) Make naming of enumeration type follows coding style
2) Add missing parameter in function description.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8606 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-19 07:45:13 +00:00
lgao4 dedfc3bbc9 Fix the issue that BootOrder can't be set
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8343 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 09:29:13 +00:00