summaryrefslogtreecommitdiffstats
path: root/EmulatorPkg
Commit message (Collapse)AuthorAgeFilesLines
...
* EmulatorPkg: update HOST_TOOLS to xcode5Stephano Cetola2019-07-131-2/+2
| | | | | | | | | | | | | | The last compiler flag change was for Xcode 5.0, not Xcode 3.2. As such the HOST_TOOLS should be set to XCODE5. Also, fix a small typo. This fixes bug 447: https://bugzilla.tianocore.org/show_bug.cgi?id=447 Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg/MiscSubClassPlatformDxe: Remove this unused moduleWu, Hao A2019-07-0239-2825/+0
| | | | | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1953 For commit 63f9b9b9312f3e08c92a2ea3cdbe01e723ef653b, the use of module EmulatorPkg/MiscSubClassPlatformDxe/MiscSubClassDriver.inf was replaced by: EmulatorPkg/PlatformSmbiosDxe/PlatformSmbiosDxe.inf in platform DSC/FDF files. This commit will remove this unused module from EmulatorPkg. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Signed-off-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg: Add NetworkPkg/NetworkPkg.dec as the package dependencyLiming Gao2019-05-211-1/+2
| | | | | | | | | | | NetLib will be moved from MdeModulePkg and NetworkPkg. So, the module that consumes NetLib need to depend on NetworkPkg.dec. Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Update DSC/FDF to use NetworkPkg's include fragment file.Fu Siyuan2019-05-162-26/+13
| | | | | | | | | | | | | | | | | This patch updates the platform DSC/FDF files to use the include fragment files provided by NetworkPkg. The feature enabling flags in [Defines] section have been updated to use the NetworkPkg's terms, and the value has been overridden with the original default value on this platform. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Message-Id: <20190516081810.27840-5-shenglei.zhang@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1293 [lersek@redhat.com: add TianoCore Bugzilla reference]
* EmulatorPkg: Remove framework pkgs dependency from EmulatorPkgZhiguang Liu2019-05-102-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1721 Remove two inf files form EmulatorPkg. About IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf, this inf file is not included in the EmulaotrPkg.fdf, which means the StatusCodePei.inf does't work at all, so it is ok to remove it from EmulatorPkg. About IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf, in the inf file, we can see it consumes gEfiIdeControllerInitProtocolGuid. there are only two inf files in the edk project that produce this Protocol, as belows: PcAtChipsetPkg\Bus\Pci\IdeControllerDxe\IdeControllerDxe.inf MdeModulePkg\Bus\Pci\SataControllerDxe\SataControllerDxe.inf However, neither of them is included in the EmulatorPkg.dsc. It means the IdeBusDxe.inf can't work at all, so it is ok to remove it from EmulatorPkg. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Save the modified order after rebootingZhiguang Liu2019-05-101-0/+1
| | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1650 Use memory mapped FV device path by adding FvNameGuid to EmulatorPkg.fdf file. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Make the shell be the first boot optionZhiguang Liu2019-05-101-0/+30
| | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1649 Make the shell be the first boot option by default, So it can boot into UEFI Internal Shell directly Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Change the cpu frequency to a non-zero valueZhiguang Liu2019-05-101-1/+4
| | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1686 The valuse of 1234 is a fake value for CPU frequency. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Support a second GOP windowZhiguang Liu2019-05-081-0/+36
| | | | | | | | | | | | | Two GOP screens will be created if PcdEmuGop is set in EmulatorPkg.dsc: gEmulatorPkgTokenSpaceGuid.PcdEmuGop|L"GOP Window 1!GOP Window 2" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1687 Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg/Unix: Rename GdbRun to GdbRun.shKinney, Michael D2019-04-155-4/+4
| | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1657 Add .sh file extension to the shell script GdbRun so changes to this file will pass PatchCheck.py. Also update all scripts that execute GdbRun to execute GdbRun.sh instead. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg: Update UefiDecompressLib instanceDandan Bi2019-04-101-1/+1
| | | | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1683 BaseUefiDecompressLib in MdePkg is the base UEFI decompress Library. BaseUefiTianoCustomDecompressLib in IntelFrameworkModulePkg implements the base UEFI decompress functionality and Tiano decompress functionality. Platform doesn't use the TianoCompress, so do not have to use BaseUefiTianoCustomDecompressLib, can use the BaseUefiDecompressLib in MdePkg directly. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-09203-1376/+203
| | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
* EmulatorPkg: require GCC48 or laterLaszlo Ersek2019-01-082-19/+3
| | | | | | | | | | | | | | | | | | We're about to remove BaseTools support for GCC44..GCC47. Reject those gcc versions cleanly in "EmulatorPkg/build.sh", and drop build flags too that are specific to them. No GCC44..GCC47 references remain under EmulatorPkg after this patch. Cc: Andrew Fish <afish@apple.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1377 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
* EmulatorPkg: Remove EdkShellBinPkg in FDF and DECshenglei2018-11-193-10/+1
| | | | | | | | | | | | | | | | | | | Remove EdkShellBinPkg in EmulatorPkg.dec and EmulatorPkg.fdf. https://bugzilla.tianocore.org/show_bug.cgi?id=1108 v2: Remove USE_OLD_SHELL because it will not be used. v4: Remove PcdShellFile in EmulatorPkg.dsc. https://bugzilla.tianocore.org/show_bug.cgi?id=1298 Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Andrew Fish <afish@apple.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Shenglei Zhang <shenglei.zhang@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg/build.sh: Fix 'run' path to simulator host executableLiu Yu2018-11-181-2/+2
| | | | | | Fixes: f89c018f3d "EmulatorPkg/Win: Enable 64bit (SEC, PEI, DXE all run at 64bit)" Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pedroa Liu <pedroa.liu@outlook.com>
* EmulatorPkg: Replace obsoleted network drivers from platform DSC/FDF.Fu Siyuan2018-11-052-2/+2
| | | | | | | | | | | | | This patch replaces the MdeModulePkg TCP, PXE and iSCSI driver with those ones in NetworkPkg. These 3 drivers in MdeModulePkg are not being actively maintained and will be removed from edk2 master soon. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
* EmulatorPkg/EmulatorPkg.dsc: override PCD default to avoid boot failureJian J Wang2018-09-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1215 This issue is caused by commit 5267926134d17e86672b84fd57b438f05ffa68e1. The reason is this commit changed the condition of building page table in DxeIpl. The code before it will only build page table for the sake of PcdSetNxForStack. This commit added PcdImageProtectionPolicy and PcdDxeNxMemoryProtectionPolicy into the logic. But the default value of PcdImageProtectionPolicy is 02, which means the DxeIpl should build page table. Due to the fact that EmulatorPkg doesn't support page table at all, this will cause exception on Windows OS. This patch solves this issue by setting PcdImageProtectionPolicy to 0 explicitly in EmulatorPkg.dsc. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
* EmulatorPkg: Removing ipf which is no longer supported from edk2.Chen A Chen2018-09-2531-62/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* Emulator/Win: Fix build failure using VS2015x86 or old WinSDKRuiyu Ni2018-09-102-8/+17
| | | | | | | | | | | When build with WinSDK <= Win10 TH2, the terminal over CMD.exe doesn't work. Because Win10 later than TH2 starts to support VT terminal. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg: Update package level Readme.mdRuiyu Ni2018-09-102-35/+68
| | | | | | | | | | | Since the emulator under Windows is enabled, the patch changes README to include the information of emulator under Windows. It also changes README to Readme.md for better looking. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg/PlatformBmLib: Fix GCC build failureRuiyu Ni2018-09-061-14/+0
| | | | | | | | | Some local variables are initialized but never used. GCC complains about that. The patch fixes this issue. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
* EmulatorPkg: IoThunk->Close() is called too early, may causing hangRuiyu Ni2018-08-313-18/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1121 To produce a EFI_BLOCK_IO_PROTOCOL instance in Emulator platform, EmulatorPkg defines the EMU_IO_THUNK_PROTOCOL. OS dependent layer needs to produce this protocol implementation and a generic OS independent layer consumes this protocol to produce EFI_BLOCK_IO_PROTOCOL. EMU_IO_THUNK_PROTOCOL can also be used to abstract the OS dependent IO operation for other UEFI protocols, e.g.: GOP, SimpleFileSystem and etc. It contains two interfaces Open() and Close(). Open() creates the specific IO instances, e.g. for Block IO access, File System access, Screen access, etc. Close() destroys the specific IO instances. Later on the Emulator generic module (e.g.: EmuBlockIoDxe) calls Open() to create the IO instance in DriverBindingStart() and calls Close() in DriverBindingStop(). But today's implementation of DriverBindingStop() contains a bug that it calls Close() before uninstalling the EFI_BLOCK_IO_PROTOCOL. It's a mistake in code. Take EFI_BLOCK_IO for example, the uninstallation may cause the upper layer driver that consumes EFI_BLOCK_IO call BlockIo.Reset(), which consequently calls EmuBlockIo.Reset(). But the EmuBlockIo instance is already destroyed by Close() that happens before uninstallation. So a proper implementation is to call Close() after uninstallation succeeds. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1121 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Andrew Fish <afish@apple.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com>
* EmulatorPkg: Use MdeModulePkg/Bds moduleRuiyu Ni2018-08-318-634/+649
| | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1120 Logo is enabled by adding a separate core driver LogoDxe. UiApp and BootManagerMenuApp are added to provide two UIs. LoadFileOnFv2 is added to auto-install LoadFile protocol for applications in FV so the boot options for applications can be auto-created from LoadFile. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add VS2017 project fileRuiyu Ni2018-08-315-0/+211
| | | | | | | | | | | Developer can build the Win Host in VS2017 and launch to debug it. Platform 'x64' is to build 64bit EmulatorWin. Platform 'Win32' is to build 32bit EmulatorWin. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/AutoScanPei: Report the correct CPU address sizeRuiyu Ni2018-08-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1119 Today's implementation reports CPU address size as 36 through CPU HOB. But when WinHost is running at 64bit, the system memory might be allocated above 2^36. It causes system asserts when DxeCore code tries to find the corresponding GCD entry for a given valid address. The patch uses 57 as the CPU address size which is maximum linear address size when 5-level paging is enabled in host OS. Using 64 seems more proper and a one-time change even 6-level paging might be invented. But it causes CoreInitializeGcdServices() assertion on following code: Entry->EndAddress = LShiftU64 (1, SizeOfMemorySpace) - 1; Because LShiftU64 expects SizeOfMemorySpace < 64. So to be practical, I didn't report 64 and change CoreInitializeGcdServices(). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Enable 64bit (SEC,PEI,DXE all run at 64bit)Ruiyu Ni2018-08-313-7/+3
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: ReadKeyStrokeEx() always returns correct KeyStateRuiyu Ni2018-08-311-0/+17
| | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1118 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Use FrameBufferBltLib for BLT operationRuiyu Ni2018-08-314-151/+73
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/EmuGopDxe: Clear screen to black in GOP.SetModeRuiyu Ni2018-08-311-4/+4
| | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1118 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/EmuGopDxe: Fix TxtInEx.SetState SCT conformance failureRuiyu Ni2018-08-311-1/+10
| | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1118 Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg: formalize line endingsRuiyu Ni2018-08-3051-10353/+10353
| | | | | | | | | | | | The patch is the result of running "BaseTools/Scripts/FormatDosFiles.py EmulatorPkg/" No functionality impact. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Liming Gao <liming.gao@intel.com>
* EmulatorPkg/DSC: Remove FS mapping to EDK Shell bin directoryRuiyu Ni2018-08-271-1/+1
| | | | | | | | | | The EDK Shell is end of line so the FS mapping to old EDK Shell bin directory is better to be removed. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/EmuFileSystem: Fix a bug that causes Close() assertionRuiyu Ni2018-08-271-4/+29
| | | | | | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1117 The root cause is when a file is opened through File.Open(), the private data for the File is not allocated, so when later when File.Close() is called, the signature check in CR() causes the assertion. The private data for the File is allocated properly when the file is opened from FS.OpenVolume(). The patch also fixes a minor issue that wrongly assigns revision number to File. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/PlatformBds: Signal EndOfDxe in platform BDSRuiyu Ni2018-08-273-4/+9
| | | | | | | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1079 Without signal of EndOfDxe, the 3rd party code (.efi from non-flash storage) cannot run. It's forbidden by 8be37a5cee700777ca8e8e8a34cc2225b21931a7 *MdeModulePkg/SecurityStubDxe: Defer 3rd party image before EndOfDxe The patch enables running of SCT from internal shell. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add BlockIo supportRuiyu Ni2018-08-274-0/+570
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add SimpleFileSystem supportRuiyu Ni2018-08-274-0/+2424
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add RTC supportRuiyu Ni2018-08-271-2/+56
| | | | | | | | | Now firmware can display the time correctly. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add timer and interrupt supportRuiyu Ni2018-08-271-0/+194
| | | | | | | | | | Now the firmware can boot to Shell and count down 5 seconds to command prompt. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Add input/output supportRuiyu Ni2018-08-276-0/+1507
| | | | | | | | | | The patch adds GOP and SimpleTextIn[Ex] support. Now firmware can boot to UI and Shell but timer doesn't work. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Andrew Fish <afish@apple.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg/Win: Enable native OS console as firmware consoleRuiyu Ni2018-08-271-4/+105
| | | | | | | | | | | The patch implements Stdin/Stdout/Stderr access so that the native OS console (cmd.exe) can be used as the firmware console and debug message can also be routed to it. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/Win: Enable source level debuggingRuiyu Ni2018-08-271-0/+8
| | | | | | | Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Andrew Fish <afish@apple.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg/Win: Add Windows host supportRuiyu Ni2018-08-277-0/+1716
| | | | | | | | | | This is the initial patch to make it boot to early DXE phase without display (only debug message). Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> Cc: Andrew Fish <afish@apple.com>
* EmulatorPkg/ThunkProtocolList: Fix VS build failureRuiyu Ni2018-08-271-2/+2
| | | | | | | | | | VS compiler complains converting UINTN to UINT16 causes data lost. Add typecast to fix the build failure. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Andrdw Fish <afish@apple.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
* EmulatorPkg/SmbiosLib: Declare the correct library class.Marvin Häuser2018-05-241-1/+1
| | | | | | | | | | | | Currently, SmbiosLib declares the PcdLib library class. Update the declaration to declare SmbiosLib. V2: - Do not change the copyright date as requested. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Marvin Haeuser <Marvin.Haeuser@outlook.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg: Undefine CR3 macro in Host.hLiming Gao2018-02-271-1/+1
| | | | | | | | | | CR3 has been used as structure field name in BaseLib IA32_TASK_STATE_SEGMENT. Undefine CR3 to make sure there is no conflict to it. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Andrew Fish <afish@apple.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* EmulatorPkg: Add SafeIntLib and BmpSupportLib to DSC filesMichael D Kinney2018-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=800 Based on content from the following branch/commits: https://github.com/Microsoft/MS_UEFI/tree/share/MsCapsuleSupport https://github.com/Microsoft/MS_UEFI/commit/33bab4031a417d7d5a7d356c15a14c2e60302b2d https://github.com/Microsoft/MS_UEFI/commit/ca516b1a61315c2d823f453e12d2135098f53d61 https://github.com/Microsoft/MS_UEFI/commit/2b9f111f2e74a4c2ef4c4e32379e111f016dbd9b Add BmpSupportLib and SafeIntLib mappings that are required by GenericBdsLib. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Bret Barkelew <Bret.Barkelew@microsoft.com>
* EmulatorPkg: Fix build failure due to Tftp library removalRuiyu Ni2017-12-072-5/+8
| | | | | | | | | | | | | | | | | | The TFTP command was converted from a NULL class library instance to a dynamic shell command in commit 0961002352e9. The ShellLib and FileHandleLib resolutions are moved from Shell app <LibraryClasses> to [LibraryClasses.common] because dynamic shell commands implemented as DXE_DRIVER modules also depend on these libraries. PcdShellLibAutoInitialize must be set to FALSE for both the shell app itself and the dynamic shell command modules. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com>
* edk2: Move License.txt file to rootMichael D Kinney2017-08-031-25/+0
| | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=642 Add top level License.txt file with the BSD 2-Clause License that is used by the majority of the EKD II open source project content. Merge copyright statements from the BSD 2-Clause License files in each package directory and remove the duplication License.txt file from package directories. Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Andrew Fish <afish@apple.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* edk2: Move TianoCore Contribution Agreement to rootMichael D Kinney2017-08-031-218/+0
| | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=629 Move Contributions.txt that contains the TianoCore Contribution Agreement 1.0 to the root of the edk2 repository and remove the duplicate Contributions.txt files from all packages. Cc: Leif Lindholm <leif.lindholm@linaro.org> Cc: Andrew Fish <afish@apple.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* EmulatorPkg/Unix/Host: Add GCC5 CC/DLINK commands (for GCC >= 5)Jordan Justen2017-07-071-0/+2
| | | | | | | | | | | | | These flags are based on the flags from the GCC5 toolchain in tools_def.template. Since the GCC5 toolchain uses link-time optimizations (LTO), we must compile and link the 'Host' files with LTO enabled so we can link to other modules. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>