Commit Graph

9470 Commits

Author SHA1 Message Date
mdkinney 112af4265f Remove constructor from this library. This library already has SMM CPU I/O 2 in its [Depex], so any module using this library will not be dispatched until the SMM CPU I/O 2 Protocol is installed into the SMM handle database and also copied into the SMM Services Table.
The worker functions in this library have also been updated to simply use the instance of the SMM CPU I/O 2 Protocol that is present in the SMM Services Table.

The dependency on the UEFI Boot Services Table Library has also been removed so the gBS, gST, and gImageHandle symbols will not be automatically linked into an SMM Driver that uses this library.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9999 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:47:00 +00:00
mdkinney 58b23d903e Use atomic AsmDisableCache() and AsmDisableCache() functions instead of AsmWriteCr0() and AsmWbinvd() calls
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9998 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 00:44:27 +00:00
mdkinney 0803854bc1 Update DXE Core to be compatible with PI 1.2 SMM Drivers.
PI 1.2 SMM Drivers are allowed to call UEFI/DXE services and Protocols from the entry point of the PI 1.2 SMM Driver.  These UEFI/DXE services and Protocols may directly or indirectly calls the UEFI Boot Services RaiseTPL() and RestoreTPL().  These UEFI Boot Services use the CPU Architectural Protocol to enable interrupts if the TPL level is below TPL_HIGH_LEVEL and enable interrupts of the TPL is at TPL_HIGH_LEVEL.  Interrupts should be masked while executing SMM drivers, so if a direct or indirect call to the UEFI Boot Service RestoreTPL() would enable interrupts, then an interrupt could be incorrectly delivered in SMM context.  

The solution is for the DXE Core to register for the PI 1.2 SMM Base2 Protocol.  If that protocol is present in the platform, then the DXE Core can use the SMM Base 2 Protocol's InSmm() function to determine if the platform is currently executing in SMM content.  If the current context is in SMM, then do not allow any requests to be forwarded to the CPU Architecture Protocol to enable interrupts.





git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9997 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-13 01:57:22 +00:00
andrewfish 60428d0000 Fix help command scroll issue. Also add FV space used, and free space to dir command.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9996 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 20:13:55 +00:00
xdu2 135ec2db42 Update UNDI driver to expose dynamic media detect capability.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9995 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 08:45:38 +00:00
xdu2 c777c3574e Update SnpDxe to support dynamic media detect.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9994 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 08:45:15 +00:00
xdu2 993702aa7b Add media status relative definition to UEFI PXE header file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9993 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 08:45:07 +00:00
andrewfish 3575301ce7 Change UI for dir of FV to make it less confusing.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9992 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-12 00:12:14 +00:00
andrewfish 875c883ef3 Add support for Seeking on FV, and update the device syntax to support specifying which section of the FV file you want to operate on, previously the only option was to operate on the Raw file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9991 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 19:57:56 +00:00
klu2 6ac15f7c8a Support HII VOID* dynamic/dynamicEx type PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9990 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 08:19:29 +00:00
lgao4 6ddd3af70b Update HiiDataBase to make sure that the installed StringPackages contains the same number string ID.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9989 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 07:16:06 +00:00
niruiyu 73bea262b1 DUET BDS clean up.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9988 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 06:34:15 +00:00
niruiyu e74f510b46 To follow UEFI spec 2.3 chapter 3.4.1.1, add the ConnectSingleController for removable media boot.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9987 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 06:29:16 +00:00
li-elvin b3b1a4cfa9 The fix is for EFI Linux capsule test case can not run.
It should use runtime library EfiSetVariable, gRT is not converted to virtual address which cause SetVariable failure in EFI Linux.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9986 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 06:27:18 +00:00
klu2 97c74782a6 GraphicsOutputBlt() need judge parameter
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9985 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 05:53:06 +00:00
klu2 20ead7252b Fix the issue that unknown format FV in Fvhob is installed for FvInfoPpi more than one time. The fixing is search dispatched Fv database and cached unknown Fv information for all Fv in FvHob, if Fv has been identified by PeiCore, then no need install FvInfoPpi for it again.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9984 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 05:49:48 +00:00
mdkinney 6635217350 Update PeCoffExtraActionLib for NT32 to allow an app or driver to be loaded more than once. Only the first instance will support source level debug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9983 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 04:32:34 +00:00
mdkinney 0628eb2c76 Do not set gBS to NULL when the ExitBootServices event notification for the UEFI Runtime Lib is executed.
There is no guarantee that the ExitBootServices notification function from this lib will be the last ExitBootServices notification function registered by a module that uses the UEFI Runtime lib.  If additional ExitBootServices notification functions require the use of gBS, then setting to NULL will break those additional ExitBootServices notification functions.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9982 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:55:26 +00:00
mdkinney b07a5b68ad Pass the correct TokenNumber into a CallbackOnSet notification function. The value being passed in was off by 1.
This would not normally cause an issue because the correct notification function was being called.  There is only an issue if the same notification function is being used for multiple tokens, and the notification function needs to use the TokenNumber parameter to determine which token setting caused the callback function to be called.

Update the logic so the CallbackOnSet notification functions are not called with the internal PCD database lock in the acquired state.  This allows other PCD Get/Set operations to be performed from within a CallbackOnSet notification.

Update logic so the PCD database lock is not left in the acquired state when SetWorker() returns EFI_INVALID_PARAMETER.  


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9981 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:51:17 +00:00
mdkinney 736c5dd580 Pass the correct TokenNumber into a CallbackOnSet notification function. The value being passed in was off by 1.
This would not normally cause an issue because the correct notification function was being called.  There is only an issue if the same notification function is being used for multiple tokens, and the notification function needs to use the TokenNumber parameter to determine which token setting caused the callback function to be called.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9980 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:47:40 +00:00
andrewfish 127fd07c83 Fix issue with making a seek to zero on an FV file legal.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9979 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:21:18 +00:00
erictian ea02100237 1. free those inserted NsKeyNode resource when releasing SetKeyBoardLayout event.
2. cleanup HiiDataBaseDxe to directly use gEfiHiiKeyBoardLayoutGuid which is used as the guid of event group.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9978 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:47:10 +00:00
rsun3 4140a6635b Coding style fix and minor improvements.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +00:00
lgao4 548dda8f74 Support Name/Value Storage in UEFI2.1 HII driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9976 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:31:18 +00:00
lgao4 38ebfecb62 Add example of Name/Value pair var store to DriverSample
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9975 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 01:59:35 +00:00
andrewfish a6d7123ebc Update EBL to have an optional width specifier on commands. So hexdump.4 means use a width of 4 bytes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9974 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 23:48:46 +00:00
andrewfish f1569a9323 Only ment to add support to build and launch Ebl shell, not switch over to it. Undo the switch.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9973 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 21:16:02 +00:00
andrewfish 0534bb8fd6 Remove dead command and clean up some coding style stuff.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9972 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 20:04:08 +00:00
andrewfish 9c0ce9f398 The VOLUME name case did not reserve enough storage in the CWD function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9971 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 19:27:14 +00:00
andrewfish 37e0f9ac51 Fix issue with VOLUMN Name as an alias for device name.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9970 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 19:14:55 +00:00
jljusten 6640eb366c UefiCpuPkg/CpuDxe: Fix build error
This driver was not building following the r9935 & r9941 changes.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9969 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 17:37:37 +00:00
jljusten e518b40c16 UefiCpuPkg: Add CpuDxe driver to UefiCpuPkg.dsc for build test coverage
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9968 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 17:37:10 +00:00
jljusten 3e6374dfd8 UefiCpuPkg/CpuDxe: Remove unnecessary OvmfPkg dependency
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9967 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 17:36:50 +00:00
rsun3 fb03ca1a3e Per Framework SMM CIS spec, SMM Base Protocol.Communicate() is availabe in runtime. In SmmBaseOnSmmBase2Thunk driver, implementation of Communicate() uses SMM Communication Protocol. The thunk driver caches a pointer to SMM Communication Protocol. This pointer needs to be converted on Virtual Address Change Event.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9966 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 08:30:51 +00:00
vanjeff 0cf27ce078 a)Save and disable CPU interrupt before calling AsmWriteIdtr().
b)Restore CPU interrupt status after callng AsmWriteIdtr().


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9965 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:48:34 +00:00
jchen20 852081fc68 revise the debug message to add 0x in front of the HEX number for consistency
replace FixedPcdGetXX with PcdGetXX to access PcdLoadModuleAtFixAddressEnable

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9964 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:10:53 +00:00
lgao4 d7c0e60c44 Fix ICC build break by do data conversion.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9963 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 06:01:18 +00:00
xli24 19796be360 Leverages SMM Status Code Protocol, instead of OemHookStatusCodeLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9962 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 03:41:24 +00:00
klu2 787ef908e4 Add device path DXE driver in Duet FDF file to compliant with UEFI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9961 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 02:33:40 +00:00
andrewfish 883b666e0f Clean up UncachedMemoryAllocationLib to use CPU AP.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9960 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 01:49:46 +00:00
andrewfish e83c843bbd Needed to fix defaulting / to be \ as it is required by EFI Simple File System.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9959 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 01:09:59 +00:00
andrewfish 16ccac42cf Add CWD and thus a cd command to EBL shell. Fix WatchdogTimout code in EBL, it was inside a PCD feature flag and should have been outside of the PCD so it is in all paths.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9958 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-10 00:46:41 +00:00
jchen20 99ff63cf03 change the GetPcd64 to FixedGetPcd64 to pass ECC
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9957 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 09:52:46 +00:00
vanjeff ea99e00d76 a)Save and disable CPU interrupt before calling AsmWriteIdtr().
b)Restore CPU interrupt status after callng AsmWriteIdtr().


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9956 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 09:23:17 +00:00
klu2 9612f0c23c Add license header
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9955 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 07:57:20 +00:00
lgao4 d6a82eaf8d Update HiiString Protocol and HiiSetString Api in HiiLib
1. Reserve the unique string identifier for all languages in the package list. 
2. Track MaxStringId to do the simple check for the requested StringId > MaxStringId, which can improve performance.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9954 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 07:12:35 +00:00
lgao4 995c594047 Correct BlockSize when call ConfigToBlock API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9953 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 06:29:37 +00:00
andrewfish 638909f19b Make the Volume Name display the same name that the use needs to type. ie. replace space with _.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9952 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-09 00:22:30 +00:00
qhuang8 77dfa7c7fc Update MdeModulePkg to not use EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION in source code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9951 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 11:43:19 +00:00
lgao4 5b19df7ffa Add the missing BDS license header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9950 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-08 09:48:29 +00:00