Commit Graph

9558 Commits

Author SHA1 Message Date
mdkinney e906eae4a5 Add [depex] on gEfiMpServiceProtocolGuid so the number of CPUs is known
Add [depex] on gEfiSmmCpuIo2Protocol so we know that the SMM CPU I/O 2 Protocol in the PI SMST is valid


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10037 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 20:56:40 +00:00
mdkinney f5501a6512 Change RegisterProtocolNotify for dependent protocols to [Depex] expression
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10036 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 20:55:00 +00:00
mdkinney 09163a4d9d Fix build breaks
Update EfiAcpiResetSystem() to match function prototype for EFI_RESET_SYSTEM
Add CpuDeadLoop() in all paths, so EfiAcpiResetSystem() can never return to be compliant with UEFI Spec, even when ASSERT() statements are disabled.
Change DEBUG() messages from EFI_D_ERROR to DEBUG_INFO because they are not error messages.
Simplify implementation from 4 files down to 2 files.
Use IoAndTheOr16() and MmioAndTheOr16() instead if IoRead/Write16() and MmioRead/Write16()



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10035 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 20:46:36 +00:00
niruiyu 0e047a2a83 Port AcpiResetDxe from EDK to EDKII to enable reset function on DUET above legacy free platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10034 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 09:30:01 +00:00
klu2 450ec0ed87 Correct the table's version according to PI/UEFI spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10033 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-21 03:31:44 +00:00
niruiyu c39c3e2190 add more comments for gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10032 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-20 07:11:13 +00:00
niruiyu c943ee0336 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport should be TRUE in DUET platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10031 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-20 07:10:16 +00:00
andrewfish d5505a2afb Make the passed in string not require \n
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10030 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-20 00:12:19 +00:00
andrewfish b2a73e2162 Adding a command to show how symbols work in EFI
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10029 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 23:49:51 +00:00
andrewfish 37b91c49fc Clean up some externs
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10028 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 23:05:04 +00:00
andrewfish 23cb7cb285 Make build script exit on build error
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10027 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 22:48:26 +00:00
andrewfish fea3a3a4cf Fix typo
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10026 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 22:31:35 +00:00
andrewfish 98bc0c8c05 Sync gcc with armasm. update some memory barriers.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10025 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 18:51:10 +00:00
andrewfish 752d258a42 Update gcc flags to armv7
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10024 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-19 18:45:29 +00:00
andrewfish 1a27eb4887 Hack in some DSB, ISB syncronization primatives. Need to do it a little cleaner.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10023 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-18 04:25:31 +00:00
andrewfish 5dea9bd6e6 Change Cortex-A8 references to ARMv7. Cortex-A8 is a branded implementation of the ARMv7 processor architecture.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10022 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-18 01:57:13 +00:00
andrewfish 3cfc857647 Fix case bug.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10021 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-17 05:14:22 +00:00
andrewfish 3351d21fe1 Cleanup HOB DEBUG prints
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10020 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-17 01:12:55 +00:00
andrewfish eea555312c Update to pass up Decompress, and PECOFF code from SEC to DXE Core. Turn on USB, even though it does not currently work.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10019 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-17 00:21:18 +00:00
andrewfish 65e2744587 Fix bug in UncachedMemoryAllocationLib, Assembler, make DefaultExceptionHandler lib inc the PC past the faulting instruction to aid debug. Update LR in Exception hanlder, so return address can get updated properly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10018 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 23:45:42 +00:00
andrewfish 56015d8801 Fix typo in mfill command
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10017 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-16 23:43:28 +00:00
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