audk/UnixPkg
vanjeff 9be2900668 1. updated "the Bus Driver that creates all of its child handles on the first call to Start()" not to create any child handle if RemainingDeviepath is the End of Device Path Node, per UEFI 2.3.
The others changes include:
a. Check RemainingDevicePath at beginning of Supported(), make sure it has been verified before Start() is called.
b. Check IO protocol firstly rather than EfiDevicePathProtocolGuid, reduce the times entering into Start() function because EfiDevicePathProtocolGuid existed on most of handle.

2. roll back serial drivers not to create child device, if the device speicifed by remainingdevicepath cannot find in the created devices list. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9267 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-16 03:05:46 +00:00
..
BootModePei Fix entry point prototype. 2008-12-03 06:15:10 +00:00
CpuRuntimeDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
FvbServicesRuntimeDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
Include Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
Library Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
MetronomeDxe remove all obsolete msa files from UnixPkg 2008-08-26 09:22:15 +00:00
MiscSubClassPlatformDxe Minor bugs fixes from testing on Xcode 3.2 and with the iPhone SDK 3.0 compiler. 2009-08-26 21:09:37 +00:00
RealTimeClockRuntimeDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
ResetRuntimeDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
Sec Minor bugs fixes from testing on Xcode 3.2 and with the iPhone SDK 3.0 compiler. 2009-08-26 21:09:37 +00:00
TimerDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
UnixAutoScanPei Remove BaseMemoryTest PPI and related producers and consumers. 2009-02-23 02:39:20 +00:00
UnixBlockIoDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
UnixBusDriverDxe updated the Bus Driver that is able to create all or one of its child handles on each call to Start() not to create new child handle if RemainingDeviepath is the End of Device Path Node, per UEFI 2.3. 2009-09-14 08:55:03 +00:00
UnixConsoleDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
UnixFirmwareVolumePei Fix entry point prototype. 2008-12-03 06:20:14 +00:00
UnixFlashMapPei Remove unused guid 2009-02-24 11:59:11 +00:00
UnixSerialIoDxe 1. updated "the Bus Driver that creates all of its child handles on the first call to Start()" not to create any child handle if RemainingDeviepath is the End of Device Path Node, per UEFI 2.3. 2009-09-16 03:05:46 +00:00
UnixSimpleFileSystemDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
UnixThunkDxe Integrate patch from Andrew Fish to make it run on OS X. 2009-08-25 07:29:13 +00:00
UnixThunkPpiToProtocolPei Fix entry point prototype. 2008-12-03 06:20:14 +00:00
UnixUgaDxe Clean up to update the reference of the these macros: 2008-12-16 15:32:09 +00:00
UnixPkg.dec Remove extra GUID that is not used 2009-07-03 20:15:15 +00:00
UnixPkg.dsc deleted PCD PcdUefiVariableDefaultTimeout 2009-08-20 08:14:33 +00:00
UnixPkg.fdf Retire Logo and Shell guid header file, which are replaced by gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile and gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile 2009-07-09 05:48:35 +00:00
readme.txt add readme.txt for UnixPkg 2009-07-06 15:01:46 +00:00

readme.txt

Unix Simulation Platform
========================

UnixPkg is one of platform package which can be built to a platform's firmware from UnixPkg.dsc file.
And this package provide a simulation platform under *INUX environment in IA32 architecture.

- Same points between real platform and simulation platform:
  1) Unix simulation platform also run with firmware device image built from UnixPkg
  2) The working flow of simulation platform also contains SEC/PEI/DXE phase.

- Different points between real platform and simulation platform:
  1) The SEC phase in simulation platform in fact is a *INUX native application which can be run from *INUX shell;
  2) The device in simulation platform is not real hardware but simulation component in API level;
  3) The ThunkBus driver in simulation platform will get virtual device's desription from PCD and create virtual Device

Build
=====
UnixPkg is built with following command:
  build -p UnixPkg/UnixPkg.dsc -a IA32 -t ELFGCC
  Notes: ELFGCC is defined in <Workspace>/Conf/tools_def.txt file. This tool chain use native gcc/binutil instead of 
         cross-compiler like UNIXGCC tool chain.


FAQ
===
1, I fail to build UnixPkg due to "X11/extensions/XShm.h: No such file or directory"?
   The display adapter in UnixPkg is a virtual device written in X11 API. The library of x11proto-xext-dev is required
   for building.

2, I fail to build UnixPkg due to "/usr/bin/ld: cannot find -lXext"?   
   libxext-dev library is required for building.