Commit Graph

9287 Commits

Author SHA1 Message Date
mdkinney 74e44290e2 1) Fix build issues
2) Change ARCHITECTURAL_PROTOCOL_ENTRY name to EFI_CORE_PROTOCOL_NOTIFY_ENTRY so it can be used for both Architectural Protocols and optional protocols that the DXE Core may use.  Also remove BOOLEAN ArchitecturalProtocol field, so it is back to its original form.
3) Put mArchProtocols[] back to its original form, but add a NULL entry at the end so the end of the table can be easily detected in loops
4) Add mOptionalProtocols[] that at this time only has the SMM Base 2 Protocol in it.
5) Add NULL entry to mMissingProtocols[] so the end of the table can be easily detected.
6) Update all loops on mArchProtocols[], mOptionalProtocols, and mMissingProtocols[] to remove Index(s) and simply looks for a NULL ProtocolGuid to find the end of the table.
7) Update protocol notify events to pass the associated EFI_CORE_PROTOCOL_NOTIFY_ENTRY * as the Context parameter.   This simplifies GenericProtocolNotify() by completely eliminating the search loop.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10016 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 20:59:57 +00:00
mdkinney 27af6f9d0a Use Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10015 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 04:07:39 +00:00
mdkinney d3308de7f5 Use Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10014 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 04:06:46 +00:00
mdkinney 300240b62b Use Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10013 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 04:04:58 +00:00
andrewfish 8e90dd6b54 Clean up HOB debug prints
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10012 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 03:05:59 +00:00
andrewfish b33339fa64 Fix crash in UnixPkg and BeagleBoard caused by gSmmBase2 getting added to the now incorectly named mARchProtocols list. CoreDispatchMissingArchProtocols() did to check to see if the element was an AP (not all are now). Also Missing entry was not bounds checked, it was assumed to be <= Index witch is no longer true. So in both UnixPkg and BeagleBoard the loop was blowing past the end and garbage data caused page faults. Also add m prefix to global.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10011 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 02:52:15 +00:00
andrewfish d629c28396 After the ASSERT adjust the PC so you skip the faulting instruction. Lets you walk out of the exception handler and keeprunning code. This way you can walk out of the call stack.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10010 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 01:03:16 +00:00
andrewfish 026e30c4bb Cleanup SerailIO drivers to have a device path and use PCD settings for various stuff. Also clean up a few coding convention items.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10009 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-15 20:40:51 +00:00
mdkinney 95572bd1b8 Remove SMM_CORE as a supported module type for the MemoryAllocationLib instance that uses UEFI Boot Services
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10008 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-15 18:16:05 +00:00
mdkinney 75196b0d80 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10007 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:29:47 +00:00
mdkinney c0b516d4ef Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10006 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:20:41 +00:00
mdkinney 70836cb60e Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10005 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:20:06 +00:00
mdkinney 8d96b9765e Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10004 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:18:15 +00:00
mdkinney 1039a25744 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10003 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:17:51 +00:00
mdkinney 1b45a67165 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10002 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 06:00:11 +00:00
mdkinney c819c01665 Add Memory Allocation Library instance for modules of type DXE_SMM_DRIVER
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10001 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:59:31 +00:00
mdkinney 53b85bcbf0 1) Remove dependency on the UEFI Boot Services Table Library so the gBS, gST, and gImageHandle symbols will not be automatically linked into an SMM Driver that uses this library.
2) Remove redundant include of <PiDxe.h>
3) Clean up constructor to use InSmm() library function instead of duplicating logic.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10000 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-14 05:49:44 +00:00
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