
                   IMPORTANT Information related to the gnu-efi package
				and x86_64 efi support 
                   ----------------------------------------------------
		                        August 2003

As of version elilo-3.0, the gnu-efi package is now split in two different packages:

	-> gnu-efi-X.y: contains the EFI library, header, files, and crt0.

	-> elilo-X.y  : contains the ELILO bootloader.
	
Note that X.y don't need to match for both packages. However elilo-3.x requires at
least gnu-efi >= 3.0. When using a version of gcc >3.0 you MUST use at least gnu-efi-3.0a.

Note that EFI support for x86_64 has been added as a patch to gnu-efi-3.0c.

For x86_64, see the important notes under x86_64.

IMPORTANT NOTE FOR IA-32:
-------------------------
	For IA-32, the Redhat 8.0 toolchain is known to produce
	working binaries when used with gnu-efi-3.0a + loader
	script patch which is included in the gnu-efi-3.0a-ia32.patch
	in this package. The toolchain includes:

	gcc: gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
	as: GNU assembler version 2.13.90.0.2 (i386-redhat-linux) using BFD version
	2.13.90.0.2 20020802
	ld: GNU ld version 2.13.90.0.2 20020802

	The Redhat 9.0 toolchain does not work at the moment.

The gnu-efi  package can be downloaded from:

	ftp://ftp.hpl.hp.com/pub/linux-ia64/gnu-efi-X.y.tar.gz

IMPORTANT NOTE FOR x86_64:
-------------------------

	EFI x86_64 elilo support requires the following libraries:

	1. gnu-efi-3.0c library with x86_64 support.

	2. The toolchain known to produce working x86_64 efi binary are:

		gcc-4.1.1 or above
		binutils-2.17.50.0.14 with Intel64 EFI support

	Implementation:
	--------------
	Calls to EFI services in x86_64 require a wrapper to pass the arguments
	in the appropriate manner. This is implemented with efi wrapper. 
	For IA32 and IA64, the wrapper is a macro that merely calls the
	EFI services directly. The elilo source has been modified to use the
	efi wrapper implemented in gnu-efi-3.0c library. 
	elilo for x86_64 and its dependent libraries are built and the final
	ELF image is converted into PE-COFF image using the objcopy supported
	by binutils-2.17.50.0.14 or above with Intel64 EFI support.

	On UEFI 2.0 firmware, only Graphics Output Protocol (GOP) is supported. 
	The x86_64 elilo first queries video information from GOP failing which
	it queries for text mode support. The video information is passed to
	Linux kernel via boot parameter. The GOP support requires
	Linux kernel EFI framebuffer driver (kernel configuration option).
