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
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