Commit Graph

23 Commits

Author SHA1 Message Date
andrewfish 572287f8bb InOsEmuPkg: Add the EFI parts of the Simple Network Protocol
This only adds the EFI parts and not the OS specific implementation. Since the EFI parts no longer use system include files this is safe to do. Also fix two minor typos. 

Signed-off-by:andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11781 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-09 19:31:56 +00:00
andrewfish 21ce7a4179 InOsEmuPkg: Fix reconnect -r from the shell
Signed-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11772 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 22:31:29 +00:00
andrewfish 946bfba2c3 InOsEmuPkg: Make XIP work properly
Update the InOsEmuPkg to properly function with XIP. Make the Recovery FV read only. Remove the use of global variable writes from XIP code. Add a new global page that can be used in place of writting to the FD by XIP code. Think of this global page as a system SRAM. 

igned-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11771 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-08 21:52:21 +00:00
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 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 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 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