Commit Graph

46 Commits

Author SHA1 Message Date
Star Zeng b2d2a7f3f2 MdeModulePkg CapsuleRuntimeDxe: Reduce reserved memory consumption
Reduce reserved memory consumption by page table buffer,
then OS can have more available memory to use.
Take PhysicalAddressBits = 48 and 2MB page granularity as example,
1:1 Virtual to Physical identity mapping page table buffer needs to be
((512 + 1) * 512 + 1) * 4096 = 1075843072 bytes = 0x40201000 bytes.

The code is updated to only allocate 2 pages (1G page enabled) or
6 pages for 4G page table, and 8 extra pages to handles > 4G request
by page fault.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18070 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-27 03:05:13 +00:00
Qiu Shumin 931d4d8269 MdeModulePkg/Universal/CapsuleRuntimeDxe: Use safe string functions to refine code.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17784 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-01 08:23:30 +00:00
Gao, Liming 35c77daed9 MdeModulePkg: Convert non DOS format files to DOS format and remove unused module UNI files.
1. Module UNI and Package UNI files are not DOS format. Convert them to DOS format.
2. Remove unused SectionExtractionDxeModStrs.uni and SectionExtractionPeiModStrs.uni

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16044 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:39:12 +00:00
Elvin Li fd9abd045e Allocate EfiReservedMemoryType of memory.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Signed-off-by: Liming Gao <liming.gao@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15977 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-29 09:01:52 +00:00
Zeng, Star fea55a1661 MdeModulePkg: INF/DEC file updates to EDK II packages
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module.
a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion.

3. Add Module Extra UNI file that provides the localized Name of a module.
a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method for a module to specify extra files not listed in [Sources] or [Binaries] sections to be added to a UDP without having to list the files in the UPT package information data file.
b. There will be an associated update to UPT in BaseTools to package up files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP creation.
c. UNI file contains localized name of a module to go along with the localized Abstract and Description from the MODULE_UNI_FILE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zeng, Star <star.zeng@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15963 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 06:53:43 +00:00
Zeng, Star 6036e94dc9 MdeModulePkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zeng, Star <star.zeng@intel.com>
Reviewed-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15962 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 06:34:06 +00:00
Elvin Li b5040e4c55 1. CapsuleLongModeBuffer variable should not have EFI_VARIABLE_RUNTIME_ACCESS attribute.
2.	CapsuleLongModeBuffer variable should be set to Read-Only.  It should not be changed by someone else.
3.	Introduce a new PCD PcdIdentifyMappingPageTablePtr to share the same range of page table between AcpiS3 and Capsule.
4.	Capsule stack size is allocated from PcdCapsulePeiLongModeStackSize.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15909 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-26 12:26:32 +00:00
Star Zeng f67eb9d8ba MdeModulePkg CapsuleRuntimeDxe: Get PcdMaxSizeNonPopulateCapsule and PcdMaxSizePopulateCapsule by PcdGet32 in EntryPoint.
PcdMaxSizeNonPopulateCapsule and PcdMaxSizePopulateCapsule are declared to support Dynamic, but used by FixedPcdGet32 in CapsuleRuntimeDxe.
QueryCapsuleCapabilities is a runtime interface and PCD protocol can’t be used in runtime environment.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14988 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-16 01:34:01 +00:00
czhang46 566771b0a7 Enable UEFI firmware to support FMP capsule format.
signed-off-by : Chao Zhang <chao.b.zhang@intel.com>
reviewed-by   : Gao Liming <liming.gao@intel.com>
reviewed-by   : Yao Jiewen <Jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14773 6f19259b-4bc3-4df7-8a09-765794883524
2013-10-15 01:31:49 +00:00
Liming Gao ad3f365641 Update UpdateCapsule() service return status to follow UEFI2.3.1 D.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14656 6f19259b-4bc3-4df7-8a09-765794883524
2013-09-11 05:56:52 +00:00
Harry Liebel 716e507720 MdeModulePkg: Added ARM Aarch64 architecture support
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Harry Liebel <Harry.Liebel@arm.com>
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>



git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14530 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-07 11:28:15 +00:00
li-elvin ab7017fe2b Add capsule > 4GB support. When capsule data is put above 4GB, IA32 PEI transfers to long mode to get capsule data.
Signed-off-by: li-elvin
Reviewed-by: lgao4, mdkinney


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12264 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-02 11:34:35 +00:00
ydong10 639710791a Enhance inf and dec file to follow specs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11392 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-14 08:43:59 +00:00
li-elvin 0ef42f8819 Update QueryCapsuleCapabilities interface.
1. Check all capsules to decide reset type instead of only checking the first capsule.
2. One purpose of MaxiumCapsuleSize is to ensure platform memory size is enough to handle capsule with reset type in PEI. Max capsule size should be returned for with/without reset flag cases. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10514 6f19259b-4bc3-4df7-8a09-765794883524
2010-05-19 02:31:41 +00:00
hhtian e5eed7d364 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:33:45 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
li-elvin f03ccf59ba Enhance UpdateCapsule () to support calling multiple times.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10044 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 02:33:17 +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
qhuang8 3f42faa73d 1. Add "CAPSULE_FLAGS_INITIATE_RESET" flag support.
2. Minor update CapuseUpdate() implementation to align with recent UEFI spec update.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9265 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 01:29:14 +00:00
lgao4 409d47b49e Enhance Capsule driver to update capsule one by one.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9082 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-18 01:23:29 +00:00
lgao4 02bf7b8865 remove the unnecessary comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8987 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-24 02:43:22 +00:00
lgao4 f205cbb94f Add comments to specify Capsule services provided by this driver can't be used for IPF arch when OS enter into physical mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8985 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-24 00:06:53 +00:00
lgao4 3f9dcac0f2 Remove the inaccurate comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8967 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 09:55:44 +00:00
lgao4 577e30cdb4 Add comments for CapsuleRuntimeDxe driver to specify this driver may not full support runtime usage for capsule services on IPF arch platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8963 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-17 05:01:30 +00:00
lgao4 97b2c9b514 Update PeiCore to handle FvImage with PI FV extension header
Update Capsule PCDs PcdMaxSizePopulateCapsule and  PcdMaxSizeNonPopulateCapsule to the flexible PCD type.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7805 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 05:05:57 +00:00
lgao4 de5b0df93f Correct minor comments in meta data file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7697 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 15:35:58 +00:00
klu2 58612f248f Fix typo.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7683 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 10:50:45 +00:00
lgao4 5c52673637 Move MdeModuleHii.h into Include\Guid directory
Move Capsule.h into MdePkg\Include\Protocol directory because Capsule is defined in PI1.0a.
Merge WorkingBlockHeader.h into SystemNvDataGuid.h
Remove unused NvDataFvHob.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7606 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-23 15:18:48 +00:00
lgao4 e561879137 Add INF extension Information
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7228 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 06:26:42 +00:00
lgao4 109e9a6156 Code scrub for the following drivers and librarys.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7172 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-04 03:20:55 +00:00
gikidy cfc8865f17 Remove some useless EDK_RELEASE_VERSION, EFI_SPECIFICATION_VERSION ,and review VALID_ARCHITECTURES in inf files with DSC file.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6818 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-03 09:08:05 +00:00
lgao4 60c93673b3 The driver and library in MdePkg, MdeModulePkg and Nt32Pkg that don't depend on PI spec should include Uefi.h not PiDxe.h.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5758 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-30 14:09:38 +00:00
lgao4 e872988180 remove the unused msa files in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5726 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-25 05:03:29 +00:00
lgao4 5d69642deb Code scrub for the Capsule, SecurityStub, and Crc32 library instance.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5441 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-09 13:33:20 +00:00
qhuang8 13d40eddeb Update all files to follow doxygen style file header.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5025 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-09 05:50:10 +00:00
jljusten 1be0dda62d Fix warnings generated by gcc for ia32 builds:
'cast from pointer to integer of different size'
when casting from a pointer directly to a
64 bit number.  Added an intermediate cast to
UINTN.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5009 6f19259b-4bc3-4df7-8a09-765794883524
2008-04-08 20:59:38 +00:00
lgao4 17b875379f Correct return status for the unsupported condition
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4679 6f19259b-4bc3-4df7-8a09-765794883524
2008-02-05 04:41:53 +00:00
lgao4 6ee65722c7 Update CapsuleDriver to use capsule library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4365 6f19259b-4bc3-4df7-8a09-765794883524
2007-12-05 09:58:33 +00:00
lgao4 d12f75fee2 Add CapsuleInfo guid to store the list of capsule image guid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4299 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-16 10:14:34 +00:00
qwang12 c713e7c8a0 gEfiVariableWriteArchProtocolGuid should be used for the depex as defined in PI spec as this driver set a NV variable.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@4292 6f19259b-4bc3-4df7-8a09-765794883524
2007-11-08 05:28:44 +00:00
qhuang8 b3af5df67b Update all INF, DEC and DSC file to confirm to newest INF spec 0.44, DEC spec 0.41, DSC spec 0.40.
Mainly PCD syntax update.
Check in new build.exe and GenFds.exe
Check in PcdSyntaxUpdate.exe tool. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3744 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-30 09:11:54 +00:00
yshang1 623ad724e1 Add dependent packages in INF of modules.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3731 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-29 08:52:49 +00:00
yshang1 3cfb790c94 Retire the "Include/Common" of MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3425 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-24 10:52:02 +00:00
vanjeff ed7748fe4a remove some comments introduced by tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3387 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20 06:10:09 +00:00
vanjeff dd0687a4b1 remove some comments introduced by tools.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3383 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-20 04:33:45 +00:00
qhuang8 74fea867f4 Adjust directory structures.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3323 6f19259b-4bc3-4df7-8a09-765794883524
2007-07-18 14:31:27 +00:00