Commit Graph

38 Commits

Author SHA1 Message Date
andrewfish bb111c2346 Added support for an EFI X64 ABI compatible UnixPkg. With an internal only compiler I've been able to run checked in X64 EFI shell binary! We are hoping to get the open source LLVM compiler working for this... Since the SEC has to be UNIX ABI to make the POSIX calls it is compiled using a different compiler and the rest of the UnixPkg is compiled with UNIXPKG tool. You just need to point UNIXPKG at your EFI X64 ABI compiler of choice, it should work like MYTOOLS. Some one may want to port this to Linux at some point. To build cd into UnixPkg and ./build64.sh
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10806 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-18 20:24:08 +00:00
andrewfish 2ec364f9bf Fix reverse gasket issue that was breaking watch dog timer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10779 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-08 19:07:14 +00:00
qhuang8 526cafb5fe Add -m32 option for IA32 ASM flag to ensure it is treated as 32-bit for GCC assembler.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10718 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-30 06:48:48 +00:00
andrewfish a4902cccdf Complete coding to support X64 EFI ABI in UnixPkg. Code is not currently hooked in or tested, but it is code complete. Only missing step from testing is figuring out how to build with two different ABIs for the same platform. Sec needs a different ABI. May need to add a 2nd build step.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10710 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-29 03:24:13 +00:00
andrewfish 07a90790ba Started working on EFI ABI to UNIX ABI assembly gasket
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10690 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-24 00:21:06 +00:00
andrewfish ede7ec0bcd Changed the X64 gasket so it would be possible to port it to deal with the Unix to EFI ABI mangling. It still just does Unix ABI, and has some Xcode specific stuff to make source level debug a little easier, but it is a good first step.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10689 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-23 22:20:00 +00:00
andrewfish b9c8e50e20 Port UnixPkg to also support X64. Currently only supports Unix x86_64 ABI. In the future we can make Sec support x86_64 ABI and the rest of the code support X64 EFI ABI. This will require assembly gaskets to fix the calling convention differences. I currently have noop gaskets in place for x86_64 ABI. This has only been tested on OS X 10.6.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10685 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-22 21:21:38 +00:00
andrewfish d34689b44a Some more 64-bit fixes.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10653 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-15 03:29:53 +00:00
andrewfish d5cdd257e4 Fix xcode project to point to the correct X64 paths. Also update print out to not point to tianocore.org...
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10652 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-14 23:58:03 +00:00
andrewfish 67f86803ce Started trying to get the UnixPkg to compile for X64 with UnixABI. So far only have Sec compiling with Xcode. This is the first step in trying to get the EFIABI to work. Note since SEC is a Posix application it will still need to be Unix ABI.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10649 6f19259b-4bc3-4df7-8a09-765794883524
2010-07-14 21:04:21 +00:00
hhtian f9b8ab5632 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10437 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-28 12:31:45 +00:00
xli24 c029854f20 Remove over-specified dependencies on IntelFrameworkPkg and IntelFrameworkModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10162 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-03 03:40:55 +00:00
klu2 ef76813117 Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10076 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 16:39:38 +00:00
lgao4 7b202cb0f9 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-23 23:58:38 +00:00
mdkinney cdccd99e24 Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays.
Do some minor clean ups to INF files
 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9866 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 23:33:08 +00:00
AJFISH 5af06fe3d0 Fix for the Linux Build. #ifdef __APPLE__ around the files only needed to work around Mac OS X 16 byte IA-32 calling conventions issue. All the calls to this code is #ifdef __APPLE__, so no reason to build it on Linux or other gcc flavors.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9543 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-08 06:14:12 +00:00
AJFISH 7ee3b61338 Added support for Xcode on Snow Leopard. Upaded with bug fixes for Snow Leopard.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9519 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-06 02:00:37 +00:00
AJFISH b7f76514ec Minor bugs fixes from testing on Xcode 3.2 and with the iPhone SDK 3.0 compiler.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9202 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-26 21:09:37 +00:00
qhuang8 6156fca14d Add Sec/Ia32/Gasket.S
Remove unreferenced Stack.S

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9195 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-25 07:39:51 +00:00
qhuang8 ccd55824e7 Integrate patch from Andrew Fish to make it run on OS X.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9194 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-25 07:29:13 +00:00
klu2 b67f2798d9 Fix build broken, EFI_TIME_IN_DAYLIGHT used in Sec/UnixThunk.c is defined in Uefi specification, so need include Uefi.h.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8916 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-13 05:14:09 +00:00
mdkinney bac49e7747 Remove extra #includes where possible to make build more efficient
If module really is a Framework module and not a PI module, then use FrameworkDxe.h instead of PeDxe.h and FrameworkPei.h instead of PiPei.h



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8902 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-11 23:29:23 +00:00
mdkinney 9c98c8e106 This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
1) Update status code listeners to use the BASE_LIST based APIs in the PrintLib instead of the VA_LIST based APIs, since ReportStatusCodeExtractDebugInfo() was updated to return a parameter of type BASE_LIST.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8409 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:55:11 +00:00
xli24 132f41f0a9 Replace .globl with ASM_GLOBAL
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8346 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 10:22:09 +00:00
vanjeff 7d28e82d92 add one comment when destroy the buffer.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8322 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-18 05:31:18 +00:00
eric_tian f7bef78cc0 update
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8112 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-17 04:49:07 +00:00
eric_tian 95e9472f84 change the output executable file postfix name from .exe to NULL.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8079 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-14 05:41:33 +00:00
eric_tian 1fd8c31a52 updated to use the term “temporary memory” but not CAR
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8036 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-08 08:15:33 +00:00
qhuang8 398b646f5b Remove PeiPeCoffLoader.h and gPeiPeCoffLoaderGuid, and Add PeCoffExtraActionLib class and instances.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7812 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 09:20:08 +00:00
jwang36 3c5a8c113e Use "==" to define build options for USER_DEFINED module
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7547 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-20 02:09:56 +00:00
jji4 7492c63d42 Patch to remove STATIC modifier. This is on longer recommended by EFI Framework coding style. All duplicated symbols has been renamed accordingly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6301 6f19259b-4bc3-4df7-8a09-765794883524
2008-10-30 06:14:35 +00:00
eric_tian be5d189fd1 modify an issue about data off.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5922 6f19259b-4bc3-4df7-8a09-765794883524
2008-09-18 01:49:46 +00:00
eric_tian 4c0457516e remove all obsolete msa files from UnixPkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5731 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-26 09:22:15 +00:00
eric_tian 2f4050c2e1 move unnecessary print statement. It may cause confused.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5609 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-07 02:41:36 +00:00
eric_tian 73aa7f049b merge the generation of SecMain into the whole build process.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5491 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-16 05:28:50 +00:00
eric_tian 288a3c98c7 Fix the display issue when using UnixUga driver to support graphic display
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5408 6f19259b-4bc3-4df7-8a09-765794883524
2008-07-04 03:17:52 +00:00
eric_tian 865c7e1722 Provide source level debug ability in *unix environment.
[Background]
The UnixPkg provide an simulator in *unix. To support source level debug, we need force all modules be built as ELF shard objects and dynamically load all of modules using dlopen(). For peicore, peim and dxecore, we provide a wrapper to provide PeCoffLoader interface 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5382 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-30 06:25:43 +00:00
eric_tian 804405e7d1 Port EdkUnixPkg to UnixPkg. The changes are listed as follows:
1. change *.msa to *.inf, and create platform configuration files .dec&.dsc&.fdf to comply with Edk2 build process
2. using PCD mechanism to replace macro.
3. change Sec code to cowork with PI1.0 Pei Core and produce temparory memory ppi. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5380 6f19259b-4bc3-4df7-8a09-765794883524
2008-06-30 05:08:49 +00:00