Commit Graph

23 Commits

Author SHA1 Message Date
andrewfish 8052c4a2b9 Update the FD mapping so the volatile areas write back to the FD file. Currently they are only mapped as a memory copy of the file. This also make FV read only.
The current scheme maps a file into a memory buffer. You can write to the memory buffer, but if you restart the emulator the data is not written back to the FD. Since the build, rebuilds the FD it will blow away any changes. You can now set variables and restart the emulator and they are still set. There is a bug if the FV is set to write protect that still needs to be tracked down.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11761 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 04:32:18 +00:00
andrewfish 7e284acb40 Add support for SerialPortLib that maps into POSIX StdIn and StdOut. Add a device path text to lib as a holding point waiting on getting it reviewed for other packages. Some minor fixes. Also map the FV as writable, so the Variable store becomes writable.
I plan to try and make only the Variable store and logs writable, and make the executable/compressed FV read only in a future checkin. 



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11760 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 02:34:12 +00:00
andrewfish 19545fd9ef Fix minor build break.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11756 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-07 06:28:48 +00:00
andrewfish 63947cc4d0 InOsEmuPkg: Fixed mounting device nodes and .dmg files in the emulator.
There is some Linux specific code for mounting device nodes that needs to be tested. It may not compile!

Singed-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11754 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-07 02:28:08 +00:00
andrewfish 033d0e5ff6 Get BlockIo mapping interfaces working. Still need to work on detecting block size of devices, but you can map a .dmg file no problem at this point.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11724 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-03 03:31:32 +00:00
andrewfish d59326d3a8 Add BlockIO support to the emulator, still needs testing. Also update Emulator start code to only pass 2 args in place of 3. The 3rd argument is not needed. Still need a function as the BaseLib functoin does not have the correct calling conventions. Cleanup build script for binary shell case.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11718 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-31 20:23:36 +00:00
andrewfish 8b6d0c057f Cleanup MpService interface. Still needs more testing, but now it is much closer to PI spec.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11669 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-17 03:48:27 +00:00
jljusten e332b442b9 InOsEmuPkg/Unix: Return scan code for Pause key
Port of UnixPkg r11659 change.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11663 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16 04:47:53 +00:00
jljusten 10d1be3ed9 InOsEmuPkg: Rename EmuPthreadThunk to EmuThreadThunk
This reflects that the threading system may vary in the
OS/thunk layer.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11662 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16 04:47:40 +00:00
jljusten a80e595de8 InOsEmuPkg PcdEmuFileSystem: Set to architecture independent path
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11661 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16 04:47:14 +00:00
jljusten 0c493bf4ac InOsEmuPkg PosixFileSystem: Fix memory corruption issue
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11660 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-16 04:47:00 +00:00
andrewfish 8f0067d76d Fix minor clang build issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11654 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:34:49 +00:00
jljusten 9ab6800fe3 InOsEmuPkg PcdEmuFileSystem: Match current setting in UnixPkg
The emulated filesystem support will crash
if a non-existent path is specified.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11653 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:23:46 +00:00
jljusten 72a44be9ab InOsEmuPkg: Use EdkShellBinPkg by default
The following can be defined on the build command line:
* BUILD_NEW_SHELL: Build & run the UefiShell
* USE_NEW_SHELL: Use the pre-build UefiShell binary
* BUILD_OLD_SHELL: Use the GCC shell binary previously built

For the FAT driver:
* BUILD_FAT: Build the fat driver from source

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11652 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:23:33 +00:00
jljusten e5dc7e714f InOsEmuPkg/Sec: Update assembly code when calling EFIAPI functions
For X64 the stack should be 16-byte aligned before calling a
function, and a register spill area should be reserved.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11651 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:23:17 +00:00
jljusten 0ede3853bc InOsEmuPkg/Unix: Rebase firmware SEC image
Apply PE/COFF relocation to SEC image within the firmware
volume so it will be able to run at the address that
it was loaded.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11650 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:23:04 +00:00
jljusten 7d6cc71015 InOsEmuPkg: Match filename case of the generate FD file
On systems with a case sensetive filesystem, this change
will allow the FD to be loaded.

Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11649 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:22:50 +00:00
jljusten 224e13333b InOsEmuPkg: Fix warnings with GCC44 toolchain
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11648 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:22:37 +00:00
jljusten a690c005e8 InOsEmuPkg/Unix: Link to pthread library
Signed-off-by: jljusten

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11647 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-15 17:22:15 +00:00
andrewfish 65e3f333b3 Added generic EFIABI SEC to InOsEmuPkg. Add library to abstract FV cracking and remove code from original Sec/OS App. Add a PeiServicesLib wrapper for SEC that uses passed in PEI list and can abstract FV reading. Don't load images for XIP code and just run from FV directly on Mac OS X, or from dlopen on Linux. Moved temp ram switch code into generic SEC. Fixed design issue with PeiServiceTablePointerLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11646 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-14 16:00:22 +00:00
andrewfish c4671a67d8 Add MP support. Based on PcdEmuApCount APs (Application Processors) are created in the CpuRuntimeDxe driver. If PcdEmuApCount > 0 then the MpServices protocol is created on top of pthreads and the APs are availible to use vis the MpService protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11644 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-13 00:03:26 +00:00
andrewfish a170ad5bc2 Fix bug where the config change to point to the executable ended up in one of my local files that does not get checked in.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11642 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-11 20:05:05 +00:00
andrewfish 949f388f5f Add InOsEmuPkg. Like UnixPkg and Nt32Pkg, but EFI code can be common and does not require including system include files. Currently only Unix 64-bit is supported and it has only been tested on Mac OS X. Not all features are ported over, but GOP, via X11, and access to local file systems are supported and you can boot to the shell.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11641 6f19259b-4bc3-4df7-8a09-765794883524
2011-05-11 18:31:20 +00:00