1 2014-01-13 Nigel Croxon <nigel.croxon@hp.com>
2 Implement VSPrint function, prints a formatted unicode string to a buffer.
4 Signed-off-by: Jeremy Compostella <jeremy.compostella@gmail.com>
5 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
7 2014-01-10 Nigel Croxon <nigel.croxon@hp.com>
8 Created lib/argify.c and inc/argify.h containing the function argify.
9 It contains verbatim copy of the comment at beginning of file from
11 There was no COPYING file in the elilo source that the comment refers to.
13 Signed-off-by: Jerry Hoemann <jerry.hoemann@hp.com>
14 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
16 2014-01-08 Nigel Croxon <nigel.croxon@hp.com>
17 The information needed is not really the host architecture as given by
18 the kernel arch. The information actually needed is the default target
21 Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
22 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
24 2013-10-11 Nigel Croxon <nigel.croxon@hp.com>
25 Added support for SetVariable to store volatile variable,
26 and SetNVVariable to store non volatile variable.
28 Signed-off-by: Sylvain Chouleur <sylvain.chouleur@gmail.com>
29 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
31 2013-10-07 Nigel Croxon <nigel.croxon@hp.com>
33 Atoi needs to have consistent declaration/definition.
35 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
37 2013-10-07 Nigel Croxon <nigel.croxon@hp.com>
38 if you have a function that takes const arguments and then
39 e.g. tries to copy StrCmp, gcc will give you warnings about those
40 calls, and the warnings are right. These clutter up other things
41 you might miss that you should be more concered about.
43 You could work around it through vigorous typecasting
44 to non-const types, but why should you have to? All of these
45 functions are regorously defined as not changing their input
46 - it is const, and should be marked as such.
48 Signed-off-by: Peter Jones <pjones@redhat.com>
50 2013-10-02 Nigel Croxon <nigel.croxon@hp.com>
52 Added two simple applications to allocate/free memory at EFI.
53 Used to test/find memory fragmentation issues linux.
55 Signed-off-by: Jerry Hoemann <jerry.hoemann@hp.com>
56 Signed-off-by: Nigel Croxon <nigel.croxon@hp.com>
58 2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
59 Sample boot service driver.
61 Signed-off-by: David Decotigny <decot@googlers.com>
63 2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
64 Date: Tue Jun 25 08:47:03 2013 -0400
66 Be more pedantic when linking, don't allow duplicate symbols,
67 abort upon first error. Also make sure linker script comes
70 Signed-off-by: David Decotigny <decot@googlers.com>
72 2013-06-25 Nigel Croxon <nigel.croxon@hp.com>
73 Fix compilation on x86_64 without HAVE_USE_MS_ABI
74 make -C apps would fail on tcc.c because uefi_call_wrapper()
75 doesn't deal correctly with efi_callO-type invocation.
77 Signed-off-by: David Decotigny <decot@googlers.com>
79 2013-06-12 Nigel Croxon <nigel.croxon@hp.com>
80 Fix typo when disabling mno-mmx
82 Signed-Off-By: Nigel Croxon <nigel.croxon@hp.com>
84 2013-06-12 Nigel Croxon <nigel.croxon@hp.com>
87 GCC 4.8.0 adds some optimizations that will use movups/movaps (and use
88 %xmm* registers) when they're faster, and of course that won't work at
89 all since UEFI firmwares aren't guaranteed to initialize the mmx/sse
92 This will be even more annoying, since most UEFI firmwares don't
93 initialize the #DE or #UD trap handlers, and your backtrace will be a
94 random path through uninitialized memory, occasionally including
95 whatever address the IDT has for #UD, but also addresses like "0x4" and
96 "0x507" that you don't normally expect to see in your call path.
98 Signed-off-by: Peter Jones <pjones@redhat.com>
100 Author: Nigel Croxon <nigel.croxon@hp.com>
101 Date: Wed Jun 12 10:29:40 2013 -0400
103 bug in make 3.82 expand to odd values
105 Some Makefiles tickle a bug in make 3.82 that cause libefi.a
106 and libgnuefi.a dependencies to expand to the odd values:
108 libefi.a: boxdraw.o) smbios.o) ...
109 libgnuefi.a(reloc_x86_64.o:
111 The patch replaces libgnuefi.a($(OBJS)) & libefi.a($(OBJS))
112 with an equivalent expansion that should work with any make
113 that supports $(patsubst).
115 Author: Nigel Croxon <nigel.croxon@hp.com>
116 Date: Wed Jun 12 09:53:01 2013 -0400
118 support .text.* sections on x86_64
120 Group them in .text. Also add vague linkage sections in .text.
122 Signed-off-by: David Decotigny <decot@googlers.com>
124 Author: Nigel Croxon <nigel.croxon@hp.com>
125 Date: Wed Jun 12 09:51:36 2013 -0400
127 cleanup and fix Make.defaults
129 Reorder variables in Make.defaults so that they are grouped by
130 functions. Also fixed ifeq (x,y) to have required syntax and make it
131 work for ARCH amd64->x86_64 renaming on BSD. Also provides top-level
132 Makefile with a "mkvars" target that displays effective variables.
134 Signed-off-by: David Decotigny <decot@googlers.com>
136 Author: Nigel Croxon <nigel.croxon@hp.com>
137 Date: Wed Jun 12 09:47:16 2013 -0400
139 automatically determine number of uefi_call_wrapper() args on x86_64
141 Instead of asking developers to explicitly pass the number of
142 parameters to the functions that get called, we determine them
143 automatically at preprocessing time. This should result in more
146 Argument va_num is now ignored in x86_64 code, both with and
147 without HAVE_USE_MS_ABI.
149 Credits to the macro magic given in the comments.
151 Signed-off-by: David Decotigny <decot@googlers.com>
153 Author: Nigel Croxon <nigel.croxon@hp.com>
154 Date: Wed Jun 12 09:38:10 2013 -0400
156 fix parameter-passing corruption on x86_64 for >= 5 args
158 On x86_64 without HAVE_USE_MS_ABI support, uefi_call_wrapper() is a
159 variadic function. Parameters >=5 are copied to the stack and, when
160 passed small immediate values (and possibly other parameters), gcc
161 would emit a movl instruction before calling uefi_call_wrapper(). As a
162 result, only the lower 32b of these stack values are significant, the
163 upper 32b potentially contain garbage. Considering that
164 uefi_call_wrapper() assumes these arguments are clean 64b values
165 before calling the efi_callX() trampolines, the latter may be passed
166 garbage. This makes calling functions like
167 EFI_PCI_IO_PROTOCOL.Mem.Read()/Write() or BS->OpenProtocol() quite
170 This patch fixes this by turning uefi_call_wrapper() into a macro that
171 allows to expose the efi_callX() trampoline signatures to the callers,
172 so that gcc can know upfront that it has to pass all arguments to
173 efi_callX() as clean 64b values (eg. movq for immediates). The
174 _cast64_efi_callX macros are just here to avoid a gcc warning, they do
177 Signed-off-by: David Decotigny <decot@googlers.com>
179 Author: noxorc <nigel.croxon@hp.com>
180 Date: Wed May 15 15:26:16 2013 -0400
182 - Removes the ElfW() macro usage from reloc_ia32.c and reloc_x86_64.c. These
183 macros only exist in link.h on Linux. On FreeBSD, the equivalent macro is
184 __ElfN(). But the macro usage is redundant. You're only going to compile the
185 ia32 file for IA32 binaries and the x86_64 file for X64 binaries. If you had
186 just one file built for both cases, then using the macro might make more
189 - Removes the "#define foo_t efi_foo_t" macros from reloc_ia32.c and
192 - Modifies inc/x86_64/efibind.h and inc/ia32/efibind.h to use the new
193 definitions for uint64_t, int64_t and int8_t. The 64-bit types are now defined
196 typedef int __attribute__((__mode__(__DI__))) int64_t;
197 typedef unsigned int __attribute__((__mode__(__DI__))) uint64_t;
199 This removes the conflict between the host types dragged in by elf.h and the
200 type definitions in efibind.h that made the #define foo_t efi_foo_t" hack
201 necessary. Also, int8_t is now defined as signed char instead of just char
202 (assuming char == signed char is apparently not good enough).
204 - Also modifies these files to use stdint.h instead of stdint-gcc.h. It's
205 unclear if this is completely correct, but stdint-gcc.h is not present with
206 all GCC installs, and if you use -std=c99 or later you will force this case to
207 be hit. This also can break clang, which doesn't have a stdint-gcc.h at all.
209 - Removes the #include of <link.h> from reloc_ia32.c and reloc_x86_64.c (since
210 with the previous changes it's not needed anymore).
212 - Places the #include of <elf.h> after #include <efi>/#include <efilib.h> so
213 that we know the types will always be defined properly, in case you build on a
214 system where <elf.h> doesn't automatically pull in the right header files to
215 define all the needed types. (This actually happens on VxWorks. It's harmless
216 elsewhere. If you don't care about VxWorks, you can leave this out.)
218 - Modifies setjmp_ia32.S and setjmp_x86_64.S so to change "function" to
219 @function. The clang compiler doesn't like the former. Clang and GCC both like
222 - Modifles Make.defaults so that if ARCH is detected as "amd64," it's changed
223 to "x86_64." It happens that uname -m on 64-bit FreeBSD reports the former
224 rather than the latter, which breaks the build. This may also be the case on
225 some other OSes. There's a way to force uname(1) to return x86_64 as the
226 machine type, but this way is a little friendlier.
228 - Creates gnuefi/elf_ia32_fbsd_efi.lds which specifies the object file type as
229 elf-ia32-freebsd. This is required for building on FreeBSD/i386, not just
232 - Modifies apps/Makefile to always use
233 $(TOPDIR)/gnuefi/elf_$(ARCH)_fbsd_efi.lds when building on either 32-bit or
234 64-bit FreeBSD instead of just for the x86_64 case.
236 - Changed LDFLAGS in Make.defaults to include --no-undefined. This will cause
237 linking to fail if there are any unsatisfied symbols when creating foo.so
238 during any of the app builds, as opposed to just silently succeeding and
239 producing an unusable binary.
241 - Changed CFLAGS to include -ffreestanding -fno-stack-protector -fno-stack-
242 check. This prevents clang from inserting a call to memset() when compiling
243 the RtZeroMem() and RtSetMem() routines in lib/runtime/efirtlib.c and guards
244 against the native compiler in some Linux distros from adding in stack
245 checking code which relies on libc help that isn't present in the EFI runtime
248 This does the following:
250 - Cleans up the ia32 and x86-64 relocation code a bit (tries to break the
251 dependency between the host ELF headers and the EFI runtime environment)
252 - Avoids the dependency on stdint-gcc.h which may not always be available
253 - Allows GNU EFI to build out of the box on both FreeBSD/i386 and
255 - Allows GNU EFI to build out of the box with either GCC or clang on
256 FreeBSD/i386 and FreeBSD/amd64 9.0 and later.
257 - Makes things a little easier to port to VxWorks
258 - Avoids creating un-runable binaries with unresolved symbol definitions
259 (which can be very confusing to debug)
261 Author: noxorc <nigel.croxon@hp.com>
262 Date: Wed May 8 16:29:45 2013 -0400
264 Add the definitions for TCP, UDP and IP, for both IPv4 and IPv6.
267 2013-05-02 Nigel Croxon <nigel.croxon@hp.com>
268 * Chnage from Matt Fleming <matt.fleming@intel.com>
269 - Preparation for adding the networking protocol definitions.
270 Add the service binding protocol.
272 2013-02-21 Nigel Croxon <nigel.croxon@hp.com>
273 * Change from Peter Jones <pjones@redhat.com>
274 - Previously we were incorrectly passing 3 functions with
275 the System V ABI to UEFI functions as EFI ABI functions.
276 Mark them as EFIAPI so the compiler will (in our new
277 GNU_EFI_USE_MS_ABI world) use the correct ABI.
278 - These need to be EFIAPI functions because in some cases
279 they call ST->ConOut->OutputString(), which is an EFIAPI
280 function. (Which means that previously in cases that
281 needed "cdecl", these didn't work right.)
282 - If the compiler version is new enough, and GNU_EFI_USE_MS_ABI
283 is defined, use the function attribute ms_abi on everything
284 defined with "EFIAPI". Such calls will no longer go through
285 efi_call*, and as such will be properly type-checked.
286 - Honor PREFIX and LIBDIR correctly when passed in during the build.
287 - Add machine type defines for i386, arm/thumb, ia64, ebc, x86_64.
288 - __STDC_VERSION__ never actually gets defined unless there's a
289 --std=... line. So we were accidentally defining lots of c99
290 types ourself. Since it's 2012, use --std=c11 where appropriate,
291 and if it's defined and we're using gcc, actually include gcc's
293 - New test application added: route80h. This is a test program
294 for PciIo. It routes ioport 80h on ICH10 to PCI. This is also
295 useful on a very limited set of hardware to enable use of
296 a port 80h debug card.
297 - New test applcation added: modelist. This lists video modes
298 the GOP driver is showing us.
299 * Change from Finnbarr Murphy
300 - https://sourceforge.net/p/gnu-efi/feature-requests/2/
301 Please add the following status codes to <efierr.h>
302 EFI_INCOMPATIBLE_VERSION 25
303 EFI_SECURITY_VIOLATION 26
307 EFI_INVALID_LANGUAGE 32
308 EFI_COMPROMISED_DATA 33
309 * Change from SourceForge.net Bug report
310 - https://sourceforge.net/p/gnu-efi/bugs/5/
311 BufferSize is a UINT64 *. The file shipped with GNU EFI is from
312 1998 whereas the latest one is from 2004. I suspect Intel changed
313 the API in order handle 64-bit systems.
314 * Change from Felipe Contreras <felipe.contreras@gmail.com>
315 - The current code seems to screw the stack at certain points.
316 Multiple people have complained that gummiboot hangs right away,
317 which is in part the fault of gummiboot, but happens only
318 because the stack gets screwed. x86_64 EFI already aligns the
319 stack, so there's no need for so much code to find a proper
320 alignment, we always need to shift by 8 anyway.
321 * Change from A. Steinmetz
322 - https://sourceforge.net/p/gnu-efi/patches/1/
323 The patch prepares for elilo to support uefi pxe over ipv6
324 See uefi spec 2.3.1 errata c page 963 as reference.
325 Verfied on an ASUS Sabertooth X79 BIOS Rev. 2104 system which
326 is able to do an IPv6 UEFI PXE boot.
329 2012-09-21 Nigel Croxon <nigel.croxon@hp.com>
330 * Change from Peter Jones <pjones@redhat.com>
331 - EFI Block I/O protocol versions 2 and 3 provide more information
332 regarding physical disk layout, including alingment offset at the
333 beginning of the disk ("LowestAlignedLba"), logical block size
334 ("LogicalBlocksPerPhysicalBlock"), and optimal block transfer size
335 ("OptimalTransferLengthGranularity").
338 2012-04-30 Nigel Croxon <nigel.croxon@hp.com>
339 * Change from Matt Fleming <matt.fleming@intel.com>
340 - The .reloc section is now 4096-byte boundary for x86_64.
341 Without this patch the .reloc section will not adhere to
342 the alignment value in the FileAlignment field (512 bytes by
343 default) of the PE/COFF header. This results in a signed
344 executable failing to boot in a secure boot environment.
347 2011-12-12 Nigel Croxon <nigel.croxon@hp.com>
348 * Changes from Fenghua Yu <fenghua.yu@intel.com>
349 - This fixes redefined types compilation failure for tcc.c on x86_64 machines.
352 2011-11-15 Nigel Croxon <nigel.croxon@hp.com>
353 * Changes from Darren Hart <dvhart@linux.intel.com>
354 - Conditionally assign toolchain binaries to allow overriding them.
355 - Force a dependency on lib for gnuefi.
358 2011-08-23 Nigel Croxon <nigel.croxon@hp.com>
359 * Changes from Peter Jones <pjones@redhat.com>
360 - Add guarantee 16-byte stack alignment on x86_64.
361 - Add routine to make callbacks work.
362 - Add apps/tcc.efi to test calling convention.
365 2011-07-22 Nigel Croxon <nigel.croxon@hp.com>
366 * Changed Makefiles from GPL to BSD.
367 * Changes from Peter Jones <pjones@redhat.com>
368 - Add ifdefs for ia64 to mirror ia32 and x86-64 so that
369 one can build with GCC.
370 - Add headers for PciIo.
371 - Add the UEFI 2.x bits for EFI_BOOT_SERVICES
372 - Add an ignore for .note.GNU-stack section in X86-64 linker maps.
375 2011-04-07 Nigel Croxon <nigel.croxon@hp.com>
376 * Change license from GPL to BSD.
379 2009-09-12 Julien BLACHE <jb@jblache.org>
380 * Add support for FreeBSD.
383 2009-09-11 Julien BLACHE <jb@jblache.org>
384 * Fix elf_ia32_efi.lds linker script to be compatible with the new
385 linker behaviour. Patch from the RedHat bugzilla 492183.
387 2009-06-18 Nigel Croxon <nigel.croxon@hp.com>
390 2008-11-06 Nigel Croxon <nigel.croxon@hp.com>
391 * Fix to not having any relocations at all.
393 2008-09-18 Nigel Croxon <nigel.croxon@hp.com>
394 * Use LIBDIR in makefiles
396 * Fixes incorrect section attribute in crt0-efi-ia32.S
397 * Adds value EfiResetShutdown to enum EFI_RESET_TYPE
398 * Fixes a RAW warning in reloc_ia64.S
399 * Adds the USB HCI device path structure in the headers
400 patches were supplied by Peter Jones @ RedHat
402 2008-02-22 Nigel Croxon <nigel.croxon@hp.com>
403 * Added '-mno-red-zone' to x68_64 compiles.
404 Patch provided by Mats Andersson.
406 2008-01-23 Nigel Croxon <nigel.croxon@hp.com>
407 * release 3.0e to support x86_64
408 EFI calling convention, the stack should be aligned in 16 bytes
409 to make it possible to use SSE2 in EFI boot services.
410 This patch fixes this issue. Patch provided by Huang Ying from Intel.
412 2007-05-11 Nigel Croxon <nigel.croxon@hp.com>
413 * release 3.0d to support x86_64 from Chandramouli Narayanan
414 from Intel and based on 3.0c-1
416 2006-03-21 Stephane Eranian <eranian@hpl.hp.com>
417 * merged patch to support gcc-4.1 submitted by
418 Raymund Will from Novell/SuSE
420 2006-03-20 Stephane Eranian <eranian@hpl.hp.com>
421 * updated ia-64 and ia-32 linker scripts to
422 match latest gcc. The new gcc may put functions in
423 .text* sections. patch submitted by H.J. Lu from Intel.
425 2004-11-19 Stephane Eranian <eranian@hpl.hp.com>
426 * added patch to ignore .eh_frame section for IA-32. Patch
427 submitted by Jim Wilson
429 2004-09-23 Stephane Eranian <eranian@hpl.hp.com>
430 * added patch to discard unwind sections, newer toolchains
431 complained about them. Patch submitted by Jesse Barnes from SGI.
433 2003-09-29 Stephane Eranian <eranian@hpl.hp.com>
434 * updated elf_ia64_efi.lds to reflect new data sections
435 created by gcc-3.3. Patch provided by Andreas Schwab from Suse.
437 2003-06-20 Stephane Eranian <eranian@hpl.hp.com>
438 * updated elf_ia64_efi.lds and elf_ia32_efi.lds to include
439 new types data sections produced by recent version of gcc-3.x
441 2002-02-22 Stephane Eranian <eranian@hpl.hp.com>
443 * modified both IA-64 and IA-32 loader scripts to add support for the
444 new .rodata sections names (such as rodata.str2.8). Required
445 for new versions of gcc3.x.
447 2001-06-20 Stephane Eranian <eranian@hpl.hp.com>
449 * split gnu-efi package in two different packages: the libary+include+crt and the bootloader.
450 * removed W2U() hack and related files to get from wide-char to unicode.
451 * Use -fshort-wchar option for unicode.
452 * restructured Makefiles now install under INSTALLROOT.
454 2001-04-06 Stephane Eranian <eranian@hpl.hp.com>
456 * incorporated patches from David and Michael Johnston at Intel
457 to get the package to compile for IA-32 linux target.
459 * Fixed ELILO to compile for Ia-32 (does not execute yet, though):
460 Makefile and start_kernel() function.
462 2001-04-06 Andreas Schwab <schwab@suse.de>
465 get the timeout directive to do something. implemented the global
468 * Fix the efi_main() to deal with the -C option properly
470 2001-04-05 Stephane Eranian <eranian@hpl.hp.com>
472 * update efi library to latest EFI toolkit 1.02 as distributed
473 by Intel. Fixed header + library files to compile with GCC
475 * merged ELI and LILO (as of gnu-efi-1.1) together, mostly
476 taking the config file feature of ELI.
478 * renamed LILO to ELILO to make the distinction
480 * restructured code to make it easier to understand and maintain
482 * fixed FPSWA driver checking and loading: we try all possible
483 files and let the driver itself figure out if it is the most
485 * added support for compression (gzip) but keep support for plain
486 ELF image. ELILO autodetects the format
488 * change the way the kernel is invoked. Now we call it in
489 physical memory mode. This breaks the dependency between the
490 kernel code and the loader. No more lilo_start.c madness.
492 * changed the way the boot_params are passed. We don't use the
493 ZERO_PAGE_ADDR trick anymore. Instead we use EFI runtime memory.
494 The address of the structure is passed to the kernel in r28
497 * released as gnu-efi-2.0
499 2001-04-03 David Mosberger <davidm@hpl.hp.com>
501 * gnuefi/reloc_ia32.c (_relocate): Change return type from "void"
502 to "int". Return error status if relocation fails for some
505 * gnuefi/elf_ia32_efi.lds: Drop unneeded ".rel.reloc" section.
507 * gnuefi/crt0-efi-ia32.S (_start): Exit if _relocate() returns with
508 non-zero exit status.
510 * inc/ia32/efibind.h [__GNUC__]: Force 8-byte alignment for 64-bit
511 types as that is what EFI appears to be expecting, despite the
512 "#pragma pack()" at the beginning of the file!
514 2001-03-29 David Mosberger <davidm@hpl.hp.com>
516 * gnuefi/reloc_ia32.c: Add a couple of defines to work around
517 libc/efilib collision on uint64_t et al.
518 (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
520 * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
522 2001-03-29 David Mosberger <davidm@hpl.hp.com>
524 * gnuefi/reloc_ia32.c: Add a couple of defines to work around
525 libc/efilib collision on uint64_t et al.
526 (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
528 * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
530 2000-10-26 David Mosberger <davidm@hpl.hp.com>
532 * gnuefi/elf_ia64_efi.lds: Mention .rela.sdata.
534 * Make.defaults (CFLAGS): Remove -nostdinc flags so we can pick
535 up the C compiler's stdarg.h.
537 * inc/stdarg.h: Remove this file. It's not correct for gcc (nor
538 most other optimizing compilers).
540 2000-10-10 Stephane Eranian <eranian@hpl.hp.com>
542 * cleaned up the error message and printing of those.
543 * added support to load the FPSWA from a file in case support is not
544 present in the firmware already
545 * fixed split_args() to do the right thing when you have leading spaces
547 * changed the argify() function to rely on \0 instead of LoadOptionSize
548 as the field seems to be broken with current firmware
549 * bumped version to 1.0
551 2000-10-04 David Mosberger <davidm@hpl.hp.com>
553 * gnuefi/reloc_ia64.S: Reserve space for up to 750 function descriptors.
555 * gnuefi/elf_ia64_efi.lds: Add .sdata section for small data and
556 put __gp in the "middle" of it.
558 * gnuefi/crt0-efi-ia64.S (_start): Use movl/add to load
559 gp-relative addresses that could be out of the range of the addl
561 * gnuefi/reloc_ia64.S (_relocate): Ditto.
563 * apps/Makefile: Remove standard rules and include Make.rules instead.
564 * lilo/Makefile: Ditto.
566 * Make.rules: New file.
568 2000-08-04 Stephane Eranian <eranian@hpl.hp.com>
569 * released version 0.9
570 * incorporated ACPI changes for Asuza by NEC < kouchi@hpc.bs1.fc.nec.co.jp>
571 * added support for initrd (-i option) original ELI code from Bill Nottingham <notting@redhat.com>)
573 * got rid of #ifdef LILO_DEBUG and uses macro instead
574 * fix a few extra memory leaks in create_boot_params()
575 * added exit capability just before starting the kernel
577 2000-06-22 David Mosberger <davidm@hpl.hp.com>
579 * gnuefi/elf_ia64_efi.lds: Add .srodata, .ctors, .IA64.unwind,
580 .IA64.unwind_info to .data section and .rela.ctors to .rela
583 2000-04-03 David Mosberger <davidm@hpl.hp.com>
585 * lilo/lilo.c (LILO_VERSION): Up version number to 0.9.
587 * gnuefi/elf_ia64_efi.lds: Include .IA_64.unwind and
588 .IA_64.unwind_info in .data segment to avoid EFI load error
589 "ImageAddress: pointer outside of image" error due to the .dynsym
590 relocations against these sections.
592 * ChangeLog: Moved from lilo/ChangeLogs.
594 * gnuefi/reloc_ia64.S: fixed typo: .space directive had constant
595 100 hardcoded instead of using MAX_FUNCTION_DESCRIPTORS
598 Fri Mar 17 15:19:18 PST 2000 Stephane Eranian <eranian@hpl.hp.com>
601 * replace the getopt.c with new version free with better license
602 * created a documentation file
603 * fix a couple of memory leaks
605 * created a separate directory for lilo in the gnu-efi package.
606 * added support for the BOOT_IMAGE argument to kernel
607 * default is to build natively now