]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BuildNotes.txt
Add in OFFSET_OF macro as defined in MDE Library spec
[mirror_edk2.git] / BuildNotes.txt
index 1d859376a845dfcc2722e5400cf5d1e964ef9956..f9f3cdd9342090fefe407300af03273806b53cab 100644 (file)
@@ -21,6 +21,8 @@ Package Contents
   EdkFatBinPkg   - Binary DXE drivers for the Fat 32 file system\r
   EdkShellBinPkg - Binary Shell applications and commands\r
   EdkNt32Pkg     - NT32 Emulation platform reference\r
+  EdkUnixPkg     - Posix/Unix Emulation platform reference (Currently this\r
+                   builds only on ia32 Linux, but is meant to be portable.)\r
 \r
 Note: MDE and MDK that appear in other documentation refer to the MdePkg and\r
 Tools packages, respectively.  While, these two packages are the minimum \r
@@ -199,6 +201,9 @@ Pre-defined targets in the build.xml file include:
     clean    - This target removes object files generated by commands.\r
     cleanall - This target removes all generated files and directories.\r
 \r
+Use the ANT option, -emacs, to remove the [cc] characters when an error occurs\r
+to provide a method for the Visual Studio IDE to open a file by double\r
+clicking the mouse on the file.  Add -emacs to the end of the build command.\r
 ----------------------------\r
 A Word on the GCC Tool Chain\r
 ----------------------------\r
@@ -213,10 +218,10 @@ Cygwin, Linux, and many other POSIX-compliant host operating environments. To
 compile the custom gcc tool chain, you need the following tools on your host\r
 computer: bash, gcc, gmake, curl (or wget).\r
 \r
-Only the MdePkg and EdkModulePkg are currently supported by gcc builds. Other\r
-builds, such as the EdkNt32Pkg, will not compile with gcc. By default, the edk2\r
-will try to build the NT32.fpd, which is not supported by gcc. So, you need to\r
-change the Tools/Conf/target.txt.\r
+Only the MdePkg, EdkModulePkg and EdkUnixPkg are currently supported by gcc\r
+builds. Other builds, such as the EdkNt32Pkg, will not compile with gcc. By\r
+default, the edk2 will try to build the NT32.fpd, which is not supported by\r
+gcc. So, you need to change the Tools/Conf/target.txt.\r
 \r
 The cross-compile build script has been tested on Cygwin, OS X and Linux. You\r
 should expect to hack on these scripts to make them work on your system. You\r
@@ -318,8 +323,37 @@ not support the EFIAPI calling convention the x64 tools do not support generatin
 PE32+ image.  The EFIAPI calling convention is very similar to the Microsoft x64 \r
 calling convention.\r
 \r
+We have added prelinary support for the MinGW64 Tool chain. This gcc tool\r
+chain is ported to follow the Microsft X64 ABI, and therefore is compatible\r
+with the EFI specification.\r
+\r
 On Itanium?Processors the gcc compiler does not support generating a PE32+ image.\r
 \r
+----------------------------------------\r
+A Word on EdkUnixPkg -- The Unix simulator\r
+----------------------------------------\r
+\r
+A unix port of the Nt32 simulator has been added to the project. It currently\r
+builds and runs on 32 bit Linux, but should be portable to other Unix\r
+variants. In order to build it, you should use the ELFGCC tool chain defintion\r
+in tools_def.txt, which is set in target.txt. These are two settings to make\r
+in Tools/Conf/target.txt:\r
+\r
+ACTIVE_PLATFORM       = EdkUnixPkg/Unix.fpd\r
+TOOL_CHAIN_TAG        = ELFGCC\r
+\r
+Once that is setup, type build, and then you will end up with the simulator in\r
+Build/Unix/DEBUG_ELFGCC/IA32/SecMain.exe. \r
+\r
+In order to use the gdb debugger with the simulator, you may need to load the\r
+correct symbol file for the various modules that are loaded. For example,\r
+\r
+add-symbol-file EdkModulePkg/Bus/Pci/PciBus/Dxe/PciBus/DEBUG/./PciBus.dll\r
+0x45dc6000\r
+\r
+You can see the names of the symbol files (they are in ELF format even though\r
+the extension is .dll) printed on the screen as the simulator comes up.\r
+\r
 -----------------------\r
 Notes on Documentation\r
 -----------------------\r
@@ -687,4 +721,4 @@ Of particular note:
 Virus scanned by McAfee VirusScan Enterprise 8.0.0, Virus Definitions 4890, no\r
 virus detected.\r
 \r
-vim:tw=78:ts=2:fo=qa:com=fb\:- :ai\r
+vim:tw=78:ts=2:com=fb\:- :ai\r