Liming Gao
b483e74d5a
IntelFrameworkModulePkg: Add UEFI2.5 PersistentMemory support in LegacyBios
...
LegacyBiosDxe converts EfiPersistentMemory to E820 EfiAddressRangePersistentMemory.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17244 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-29 01:38:01 +00:00
Elvin Li
8e8228564c
IntelFrameworkModulePkg: update comments to clarify runtime memory usage for legacy OS.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17138 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-10 00:49:15 +00:00
Elvin Li
800765aa19
IntelFrameworkModulePkg: add comments to clarify runtime memory usage for legacy OS.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17135 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-09 07:50:34 +00:00
David Woodhouse
ff247afd22
IntelFrameworkModulePkg: Update LegacyBiosDxe to use UmaAddress and UmaSize in CSM 0.98.
...
The UmaAddress/UmaSize fields allows the CSM to have writable memory
between the top of the option ROMs and the start of its read-only code segment.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17131 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-08 01:44:22 +00:00
Elvin Li
c8a2836a82
IntelFrameworkModulePkg: Put report status code after event was signaled per PI spec.
...
For PI spec vol3,
"EFI_SW_DXE_BS_PC_LEGACY_BOOT_EVENT The event with GUID EFI_EVENT_LEGACY_BOOT_GUID was signaled."
"EFI_SW_DXE_BS_PC_READY_TO_BOOT_EVENT The EFI_EVENT_GROUP_READY_TO_BOOT event was signaled."
However, in current code base, they are reported before events were signaled.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17124 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-07 03:33:07 +00:00
Gao, Liming
46dd58879d
IntelFrameworkModulePkg: Convert non DOS format files to DOS format
...
Module UNI and Package UNI files are not DOS format. Convert them to DOS format.
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@16045 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:45:37 +00:00
Zeng, Star
9fbebd8599
IntelFrameworkModulePkg: 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@15967 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 07:02:57 +00:00
Zeng, Star
f9841f04ad
IntelFrameworkModulePkg: 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@15966 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 06:58:44 +00:00
Elvin Li
79966a6f35
Fixed a bug in LegacyBiosDxe to allocate correct ranges of memory.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15789 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-12 05:19:34 +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
613382e922
Update code to support VS2013 tool chain.
...
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15692 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-28 07:41:49 +00:00
Mike Maslenkin
de2eccc46a
The size of platform memory above 1M is measured in kilobytes.
...
This patch fixes truncation of this value. Actually 0 Mb memory size was set by reason of overflow of 16 bit word caused by wrong value used.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Mike Maslenkin <mihailm@parallels.com>
Reviewed-by: Elvin Li <elvin.li@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15318 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-05 08:45:13 +00:00
Tian, Hot
4c8f6044a2
Fix CRLF format
...
Signed-off-by: Tian, Hot <hot.tian@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15154 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-22 08:38:20 +00:00
Elvin Li
ad793176de
Add additional check mRuntimeSmbiosEntryPoint == NULL to avoid K9 error.
...
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14962 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-11 08:53:19 +00:00
Elvin Li
b68237300a
Following UEFI spec, update SmbiosDxe to use EfiRuntimeServicesData to put SMBIOS table. Update LegacyBiosDxe to move SMBIOS table to reserved memory for backward compatibility.
...
Signed-off-by: Elvin Li <elvin.li@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14932 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-05 05:30:27 +00:00
li-elvin
ee65c5083b
Check if video device exists before trying to install Video OpROM.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14335 6f19259b-4bc3-4df7-8a09-765794883524
2013-05-09 08:47:09 +00:00
li-elvin
007f932de6
Add OpROM code type check to ensure OpROM is PCAT legacy OpROM when an OpROM is passed to InstallPciRom.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14260 6f19259b-4bc3-4df7-8a09-765794883524
2013-04-12 07:34:27 +00:00
li-elvin
0934a60581
Call LegacyBiosInstallVgaRom to shadow Legacy VBIOS instead of LegacyBiosInstallPciRom during legacy boot.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14205 6f19259b-4bc3-4df7-8a09-765794883524
2013-03-15 01:34:21 +00:00
li-elvin
3e5eb44701
Remove hard code value and create new PCDs for OpROM reserved range in CSM module.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13991 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-12 07:47:33 +00:00
li-elvin
d316f1dca1
Fix GCC44 build failure.
...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13956 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-21 03:03:32 +00:00
li-elvin
6d55565d68
If IDE controller is not in IDE mode, we should not clear IO bar.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13953 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-20 00:59:17 +00:00
li-elvin
22921b02ab
Remove 0xc8000 check when searching PNP header. Remove the check about the size of Init code when validating if PCI 3.0 OPROM is successfully started.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13944 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-15 02:10:44 +00:00
li-elvin
cb38c322f0
Add missing status code in several modules.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>
Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com>
Reviewed-by: Gao Liming <liming.gao@intel.com>
Reviewed-by: Tian Feng <feng.tian@intel.com>
Reviewed-by: Fan Jeff <jeff.fan@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13889 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-30 04:19:03 +00:00
niruiyu
7f446eba26
Handle the case when OpROM wants to completely remove itself.
...
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Elvin Li<elvin.li@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13736 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-24 02:57:47 +00:00
li-elvin
edf4af6fb9
Check if active video mode is changed after OpROM starts, if active video mode is not changed, skip INT10 calls to improve performance.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Yao Jiewen<jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13609 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-13 09:33:49 +00:00
li-elvin
0f8b02980e
Added secure boot in CSM module entrypoint, if UEFI secure boot is enabled, CSM module cannot be started.
...
Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13537 6f19259b-4bc3-4df7-8a09-765794883524
2012-07-17 09:25:26 +00:00
li-elvin
74dee93181
Update the way to allocate high PMM, firstly try to allocate high PMM below 16MB, if it fails, allocate high PMM below 4GB.
...
Signed-off-by: li-elvin <elvin.li@intel.com>
Reviewed-by: jyao1 <jiewen.yao@intel.com>
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13352 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-23 07:26:17 +00:00
rsun3
94020bb40f
Improve robustness when scanning PCI Option ROM.
...
Signed-off-by: rsun3
Reviewed-by: geekboy15a
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13095 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-14 03:17:17 +00:00
li-elvin
81c0d6e9a7
When CSM uses EFI_SEGMENT and EFI_OFFSET to call CSM16 function, some CSM16 use es:[offset + 0xabcd] to get data passed from CSM32, offset + 0xabcd could exceed 0xFFFF which is invalid in real mode. So added NORMALIZE_EFI_SEGMENT and NORMALIZE_EFI_OFFSET to keep offset as small as possible to avoid this issue during CSM16 function call.
...
Signed-off-by: li-elvin
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13074 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-01 11:16:42 +00:00
li-elvin
3512efa9b2
CSM is updated to remove RaiseTPL (TPL_HIGH_LEVEL) and disable 2 known UEFI interrupts instead. This is needed to process HPET timer interrupt before going into real mode.
...
Signed-off-by: li-elvin
Reviewed-by: vanjeff
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12701 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-15 07:59:21 +00:00
li-elvin
b17f22f50b
CSM should firstly set timer to enable state at first, then RestoreTpl is called.
...
Signed-off-by: li-elvin
Reviewed-by: rsun3
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12555 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-21 08:45:07 +00:00
li-elvin
26a74a36c1
Use a local variable and assign 0 to it, then use it as legacy interrupt table base address.
...
Signed-off-by: li-elvin
Reviewed-by: mdkinney, ydong10
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12547 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-19 00:45:13 +00:00
li-elvin
091bb7138b
InstallOpROM in CSM driver could be enhanced to start video when RomImage is passed in directly.
...
Signed-off-by: li-elvin
Reviewed-by: niruiyu
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12521 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-10 07:54:47 +00:00
li-elvin
befbc4f3fb
Use PCD for PMM size and EndOpromShadowAddress to remove hard code value in CSM module.
...
Signed-off-by: li-elvin
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12519 6f19259b-4bc3-4df7-8a09-765794883524
2011-10-10 01:43:13 +00:00
li-elvin
16adc27692
Add RomImage pointer NULL check.
...
Signed-off-by: li-elvin
Reviewed-by: niruiyu
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12473 6f19259b-4bc3-4df7-8a09-765794883524
2011-09-29 06:35:51 +00:00
li-elvin
f767f99009
Update CSM module to provide the general solution when the Timer Arch Protocol is not 8254 timer. CSM module should set 8254 timer to 54ms for the execution in real mode.
...
Signed-off-by: li-elvin
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12229 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-30 05:52:28 +00:00
li-elvin
47a43df2df
Remove the code added originally to restore 8254 timer to 54ms.
...
Signed-off-by: li-elvin
Reviewed-by: jyao1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12109 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-09 05:39:20 +00:00
niruiyu
7dad86fc60
Print PCI Interrupt Line/Interrupt Pin registers before booting legacy OS.
...
Signed-off-by: niruiyu
Reviewed-by: li-elvin
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12088 6f19259b-4bc3-4df7-8a09-765794883524
2011-08-04 09:14:31 +00:00
jljusten
bcecde140a
IntelFrameworkModulePkg: Add Compatibility Support Module (CSM) drivers
...
Added these drivers:
* LegacyBiosDxe
* BlockIoDxe
* KeyboardDxe
* Snp16Dxe
* VideoDxe
Signed-off-by: jljusten
Reviewed-by: mdkinney
Reviewed-by: geekboy15a
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11905 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-27 23:32:56 +00:00