Imported Debian patch 3.7-2
[debian/elilo] / ChangeLog
1 2007-07-19 Jason Fleischli <jason.fleischli@hp.com>
2         * Integrated x86_64 support patches from Chandramouli Narayanan
3           <mouli@linux.intel.com> changes summarized in following bullets.
4         * alloc.c -- adds patch contributors credit to copyright
5         * alloc.c -- adds uefi_call_wrapper around BS->function calls
6         * alloc.c -- adds call to Print on VERB_PRT
7         * alternate.c -- adds patch contributors credit around copyright
8         * alternate.c -- adds uefi_call_wrapper around RT->function calls
9         * simple.c -- adds patch contributors credit to copyright
10         * simple.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
11         * textmenu.c -- adds patch contributors credit to copyright
12         * textmenu.c -- adds uefi_call_wrapper around ClearScreen &
13           SetTextAttr
14         * textmenu.c -- adds uefi_call_wrapper around ip->ReadKeyStroke
15         * elilo.c -- adds patch contributors credit to copyright
16         * elilo.c -- fixes version number for ELILO_VERSION macro to current
17         * elilo.c -- adds uefi_call_wrapper around BS->function calls
18         * elilo.c -- adds uefi_call_wrapper around RT->function calls
19         * fileops.c -- adds patch contributors credit to copyright
20         * fileops.c -- adds uefi_call_wrapper around BS->function calls
21         * fileops.c -- adds uefi_call_wrapper around RT->function calls
22         * fileops.c -- adds uefi_call_wrapper around blkio->function calls
23         * localfs.c -- adds patch contributors credit to copyright
24         * localfs.c -- changed EFI_HANDLE *dev declaration to non-pointer type
25         * localfs.c -- adds uefi_call_wrapper around lfs->volume->functions
26         * localfs.c -- adds uefi_call_wrapper around BS->function calls
27         * netfs.c -- adds patch contributors credit to copyright
28         * netfs.c -- adds uefi_call_wrapper around nfs->pxe->function calls
29         * netfs.c -- adds uefi_call_wrapper around BS->function calls
30         * getopt.c -- changed int to char in StrChr() function
31         * Make.defaults -- adds patch contributors credit to copyright
32         * Make.defaults -- adds cflag for efi function wrapper
33         * Makefile -- adds patch contributors credit to copyright
34         * Makefile -- x86_64 subdir and a new rule for .S
35         * util.c -- adds patch contributors credit to copyright
36         * util.c -- adds uefi_call_wrapper to systab->functions
37         * util.c -- adds uefi_call_wrapper to conin->functions
38         * util.c -- adds uefi_call_wrapper to BS->functions
39         * util.c -- doubles ELILO_MEMMAP_SIZE_DEFAULT in get_memmap() function
40         * bootparams.c -- uses ia32 params for x86_64 addition.. hmmmm?
41         * config.c -- adds patch contributors credit to copyright
42         * config.c -- adds define reference for x86_64.conf
43         * config.c -- in config_error() removes use of va_list which maps to
44           the gnu C-lib iface __gnuc_va_list. Replaces the use of _IPrint on
45           the va_list with direct use of IPrint(systab->ConOut, msg);
46           *maintainer note, this probably introduces a bug, in light of this
47           note from the patch submitter --> "On some x86_64 systems with
48           EFI1.10 firmware I tested, early boot messages did not appear on console. 
49           However, I didn't encounter this behavior on x86_64 systems with UEFI2.0 
50           firmware"
51         * elf.h -- adds #def for x86_64
52         * glue_netfs.c -- adds patch contributors credit to copyright
53         * glue_netfs.c -- adds define for x86_64.conf
54         * sysdeps.h -- adds patch contributors credit to copyright
55         * sysdeps.h -- add include reference for new x86_64 subdir
56         * x86_64/ -- new subdir - all based on elilo/ia32 subdir
57         * x86_64/bin_to_h.c -- new file, stream fed binary to hex converter
58         * x86_64/bzimage.c -- new file, binary compressed kernel support
59         * x86_64/gzip.c -- new file, embedded gzip
60         * x86_64/gzip_loader.c -- new file, embedded gzip
61         * x86_64/gzip.h -- new file, embedded gzip
62         * x86_64/inflate.c -- new file, a pkzip method 8 embedded decompressor
63         * x86_64/Makefile -- new file
64         * x86_64/plain_loader.c -- new file, for loading non-compressed kernels
65         * x86_64/private.h -- new file
66         * x86_64/rmswitch.S -- new file, RealMode assembly module
67         * x86_64/sysdeps.h -- new file, system stuff for x86_64, e820 mapping
68           added.
69         * x86_64/sysdeps.c -- new file, system stuff for x86_64
70         * elilo.txt -- documentation update, add Intel to copyright
71         * README.gnu-efi -- documentation update for x86_64
72 2006-01-27 Alex Williamson <alex.williamson@hp.com>
73         * Found a couple more places where vmcode isn't zeroed, causing the
74           option to get carried over to labels it shouldn't.
75 2006-01-09 Brett Johnson <brett@hp.com>
76         * Released 3.6
77 2005-12-22 Alex Williamson <alex.williamson@hp.com>
78         * Fixed vmcode_name initialization in textmenu chooser
79 2005-12-01 Alex Williamson <alex.williamson@hp.com>
80         * Applied patch from Fred Yang <fred.yang@intel.com> to support the
81           vmm= boot option.  This option specifies the kernel image for a
82           virtual machine monitor (aka hypervisor).  The vmm= and image=
83           options are used together to load both the hypervisor kernel and
84           the guest domain kernel into memory.  If a vmm= option is not
85           specified, elilo defaults to the old behavior of loading and booting
86           to the image= kernel.
87         * Added support for compressed image= files when used with the vmm=
88           option.  If the image= file is detected to be gzip compressed, the
89           image will be uncompressed into memory before it is provided to the
90           hypervisor.  Any combination of compressed and uncompressed images
91           can be used for the image and vmm options.
92 2005-09-15 Brett Johnson <brett@hp.com>
93         * Applied patch from Tristan Gingold to add dcache flush and sync with
94           icache to gzip and plain loaders.  This ommision was just noticed now
95           due to the much larger caches in Montecito, and the smaller size of
96           Xen (as compared to the linux kernel).
97 2004-09-27 Brett Johnson <brett@hp.com>
98         * Increase the hardcoded size of the texmenu chooser menu from 16 to 64
99 2004-09-23 Brett Johnson <brett@hp.com>
100         * Fix for 924147.  Thanks to Stephanie Schaaf <sas@sgi.com> for a patch
101           that the fix is based on.
102 2004-02-19 Brett Johnson <brett@hp.com>
103         * Fixed bug where default image initrd would carry over to another
104           image that was selected interactively (iff the newly selected image
105           did not have an initrd).
106         * Added support for subnet-specific config files in netfs.
107 2004-02-17 Brett Johnson <brett@hp.com>
108         * integrated ia32 compressed kernel support from Matt Tolentino
109           <matthew.e.tolentino@intel.com>
110 2003-08-20 Stephane Eranian <eranian@hpl.hp.com>
111         * released 3.4
112 2003-08-19 Stephane Eranian <eranian@hpl.hp.com>
113         * integrated ia32 updates from Matt
114           Tolentino <matthew.e.tolentino@intel.com>
115 2003-08-13 Stephane Eranian <eranian@hpl.hp.com>
116         * updated elilo.txt and netbooting.txt
117         * fix a bug in choosers/simple.c:print_infos().
118           it needs to check if config file path is absolute
119           when printing filename.
120         * move definitions of CHAR_SLASH CHAR_BACKSLASH to elilo.h
121         * fix a bug in read_config() where it would try other
122           filename even when the user explicitely specified one
123           via -C, now it fails it that file cannot be opened.
124         * updated simple chooser set of builtin command keys
125         * command keys are only valid if first on the line
126         * increase default buffer size and increment when netbooting
127 2003-06-04 Stephane Eranian <eranian@hpl.hp.com>
128         * fix fs/netfs.c to work with recent version
129           of EFI (14.61 or higher) which do not have the 
130           TFTP problem anymore. fix submitted by Guy Laborde
131 2003-04-21 Stephane Eranian <eranian@hpl.hp.com>
132         * ext2fs support is turned off by default to avoid
133           problems with ext3-formatted partitions.
134         * added gcc version check. MUST use 3.0 or higher
135 2003-03-03 Stephane Eranian <eranian@hpl.hp.com>
136         * added check on dev_tab in fs/*fs.c:*_uninstall()
137 2003-02-07 Stephane Eranian <eranian@hpl.hp.com>
138         * clean up in glue_localfs.c w.r.t. CHAR16 in set_default_path()
139         * added support for extracting basename of bootloader path
140           when using BOOTP (DHCP) only. The prefix is then used for all files
141           open via netfs. Suggestion and initial patch by Guy Laborde from HP.
142 2003-01-28 Stephane Eranian <eranian@hpl.hp.com>
143         * fix the set_default_path() routine in glue_localfs.c. It would not
144           correctly get the basename of the devpath. This caused the
145           elilo.conf not to be found sometimes.
146 2003-01-21 Stephane Eranian <eranian@hpl.hp.com>
147         * fix bug in glue_netfs.c convert_ip2decstr() which caused some IP
148           addresses to be incorrectly converted to strings.
149 2002-11-01 Stephane Eranian <eranian@hpl.hp.com>
150         * fix bug in -r option for IA64. There is no argument to this option.
151 2002-10-15 Stephane Eranian <eranian@hpl.hp.com>
152         * fixed a double free bug for the kernel memory in case of abort.
153           (bug spotted by Levent Akyl from Intel)
154         * released 3.3a
155 2002-09-14 Stephane Eranian <eranian@hpl.hp.com>
156         * applied patch from Andreas Schwab <schwab@suse.de> to eliloalt.c.
157           eliloalt dynamically selects a variable in /proc/efi/vars.
158 2002-09-12 Stephane Eranian <eranian@hpl.hp.com>
159         * removed extra free() from fs/ext2fs.c:ext2fs_init_state().
160           Bug report and fix by NOMURA Jun'ichi <j-nomura@ce.jp.nec.com>
161         * rewrote fs/ext2fs.c:read_bytes() to large memory stack buffer which
162           was bigger than the 128KB limit of EFI causing some weird fimrware
163           errors. bug reported by OMURA Jun'ichi <j-nomura@ce.jp.nec.com>
164         * on IA-64 forbid the use of f32-f127 by the compiler (EFI spec)
165 2002-09-10 Stephane Eranian <eranian@hpl.hp.com>
166         * fix a bug in argify() that was causing an EFI assertion 
167           when aborting at the elilo prompt when netbooted.
168 2002-08-26 Stephane Eranian <eranian@hpl.hp.com>
169         * fixed devschemes/simple.c to use SPrint() instead of its own buggy
170           conversion code (spotted by Richard Hirst).
171         * fix bug in argify() when there was no NULL character in the string.
172         * released 3.3
173 2002-08-19 Stephane Eranian <eranian@hpl.hp.com>
174         * added fpswa.txt in the docs directory
175         * updated elilo.txt
176 2002-08-15 Stephane Eranian <eranian@hpl.hp.com>
177         * added -F file option for IA-64 to allow a specific fpswa driver to be loaded
178         * fixed fpswa.c to try and load the driver from all accessible partitions
179         * added support to load (plain or gzipped) big-endian ELF/ia64 binaries using p_paddr.
180         * fixed problem in fs/netfs.c causing large (>4MB) binaries to fail the Mftp() call
181 2002-06-13 Stephane Eranian <eranian@hpl.hp.com>
182         * Changed the despecialization character for the variables from \\ to &
183           to avoid conflicts with \\ as a path separator
184 2002-06-11 Stephane Eranian <eranian@hpl.hp.com>
185         * fixed the return value in efi_main(). elilo was always returning
186           success even in case of failure. Bug reported by Egan Ford <egan@sense.net>
187         * applied patch from Richard Hirst <rhirst@linuxcare.com> to fix an
188           initialization bug in choosers/textmenu.c 
189         * applied patch from Richard Hirst <rhirst@linuxcare.com> to make elilo
190           compliant with EFI spec with regards to where it looks for files.
191           With this patch, elilo will look in the directory it was loaded
192           from, not on the root of the partition anymore.
193 2002-03-04 Stephane Eranian <eranian@hpl.hp.com>
194         * released version 3.2
195         * cleanup some GNU extension in fs/ext2fs.c (variable size array)
196         * updated all documentation. Added netbooting.txt, simple_chooser.txt,
197           eliloalt.txt, elilovar.txt
198 2002-02-21 Stephane Eranian <eranian@hpl.hp.com>
199         * added a Linux utility program (elilovar in tools) to set/read/delete 
200           the EliloAlt EFI variable used to specify an alternate kernel to boot.
201         * rename DBG_PRINT() to DBG_PRT, PRINT_ERR() to ERR_PRT()
202         * added support for hostname,domain name extraction in fs/netfs.c
203         * fixed all known bugs in alternate.c
204         * integrated patch from SGI to fix load offset for relocatable kernels (Jack Steiner, Brent Casavant)
205 2002-02-21 Michael Johnston <michael.johnston@intel.com> and Chris Ahna <christopher.j.ahna@intel.com>
206         * major update to ia32 support: can now boot 2.4.x,  and 2.2.x kernels
207 2002-02-20 Stephane Eranian <eranian@hpl.hp.com>
208         * fixed missing netfs_fd_free() in case of file not found in netfs.c
209 2002-02-19 Stephane Eranian <eranian@hpl.hp.com>
210         * added support for substitution variables (vars.c)
211         * changed the bootparam structure size back to 4kB
212         * added support to simple to print final command line option with tab key
213         * got rid of all the \r characters in strings use only \n (adjust emulator)
214         * added EFICRT0 variable in Makefile to indicate location of loader script+crt0
215 2002-02-14 Stephane Eranian <eranian@hpl.hp.com>
216         * added support for message= option to simple chooser
217         * added support for description= option to simple chooser
218 2002-02-13 Stephane Eranian <eranian@hpl.hp.com>
219         * choosers/textmenu.c: new textmenu chooser (by rhirst@linuxcare.com) used by Debian
220         * config.c: added support for dynamic global/per-image option management
221         * ia64/plain_loader.c,ia64/gzip.c: fix load_offset (<bcasavan@sgi.com>)
222         * added cmd line (-E) and config option (noedd30) to not set EDD30 EFI variable to 
223           true if not already TRUE (request by Matt_Domsch@dell.com)
224         * added support for multiple devname schemes and probing
225
226 2002-01-31 Stephane Eranian <eranian@hpl.hp.com>
227         * cleaned up alternate.c
228         * added support for ctrl-U (clear line) in chooser/simple.c 
229
230 2002-01-25 Stephane Eranian <eranian@hpl.hp.com>
231         * added support for architecture specific config file (elilo-ia64.conf, elilo-ia32.conf).
232
233 2002-01-13 Stephane Eranian <eranian@hpl.hp.com>
234         * removed call to Reset() in ext2fs.c
235
236 2001-08-17 Stephane Eranian <eranian@hpl.hp.com>
237         * released 3.1
238         * added support for command line architecture specific options:
239           sysdeps_get_cmdline_opts(), sysdeps_print_cmdline_opts(),
240           syspdeps_getopt()
241         * added IA-64 command line option (-r) for relocation
242         * fix behavior when kernel specified on command line but prompt
243           mode was specified in config file. In this case, we now autoboot
244           and ignore the prompt directive.
245         * updated elilo.txt
246 2001-08-15  Brent Casavant <bcasavan@sgi.com>
247         * fix a bug in config.c:find_option() where it would do
248           a strXcmp() on a NULL string.
249
250 2001-08-01  Stephane Eranian <eranian@hpl.hp.com>
251         * fixed bug in fs/netfs.c where it would not handle the small buffer 
252           error correctly. The retry path was not allocating a bigger buffer.
253         * Global config options are now used if the user specifies a non-label
254           load target, i.e. a kernel image file.
255         * added support for architecture dependent config file image options (sys_img_options_t).
256         * added support for setjmp/longjmp.
257         * added support for aborting during a compressed load
258         * added support for user to abort a load of a compressed file.
259         * added 2 new ia-64 only config file options allowing kernel relocation: 
260           'relocatable' as a global or per image option.
261         * added support for kernel relocation on memory error. Based on code from 
262           Brent Casavant <bcasavan@sgi.com>.
263         * added slash/backslash conversion for filenames on vfat filesystems.
264
265 2001-07-23  Stephane Eranian <eranian@hpl.hp.com>
266         * fixed error in netfs.c where the kernel name was not correctly set in
267           netfs_query_layer()
268         * fixed to wait_timeout() to correct the problem with the interactive prompt when
269           return is hit directly when no text
270         * fixed command line argument destruction problem, now we make a copy of them. This
271           was affecting elilo when called directly from bootmanager with NVRAM options.
272
273 2001-06-28  Stephane Eranian <eranian@hpl.hp.com>
274         * removed W2U() hack to get from wide-char to unicode. Use -fshort-wchar option instead.
275         * split gnu-efi package in two different packages: the libary+include+crt and the bootloader.
276         * restructured the fileops module. Now use direct function calls.
277         * added support for accessing files on different devices.
278         * fixed a buffer leak in simple_chooser.c. Renamed simple_chooser.c to simple.c.
279         * created a strops.c file to incorporate all string operations functions.
280         * added support for ext2fs filesystem.
281         * restructured code to allow additional filesystems to be added easily.
282         * cleaned up add-on chooser interface.
283         * restructured code to use the EFI protocol interface to install filesystems.
284         * added compile-time options to turn on and off specific filesystems.
285         * added support for architecture specific configuration options (elilo.conf).
286         * added fpswa option to IA-64 to designate a fpswa driver file.
287         * incoporated IA-32 support from Mike Johnston <michael.johnston@intel.com>
288         * incorporated rewritten gzip.c:flush_window() from Tony Luck <tony.luck@intel.com>
289         * added interface for custom device naming schemes (devnames directory).
290         * added support for 2 possible config file (now just on netboot). The first
291           (primary) choice uses a host specific filename based on the IP address. Suggestion
292           from Egan Ford <egan@sense.net>.
293
294 2001-04-06  Stephane Eranian <eranian@hpl.hp.com>
295
296         * incorporated patches from David and Michael Johnston at Intel
297           to get the package to compile for IA-32 linux target.
298
299         * Fixed ELILO to compile for Ia-32 (does not execute yet, though):
300           Makefile and start_kernel() function.
301
302 2001-04-06  Andreas Schwab <schwab@suse.de>
303
304         * Fixed config.c  to
305           get the timeout directive to do something. implemented the global
306           root= directive.
307
308         * Fix the efi_main() to deal with the -C option properly
309
310 2001-04-05  Stephane Eranian <eranian@hpl.hp.com>
311
312         * update efi library to latest EFI toolkit 1.02 as distributed
313           by Intel. Fixed header + library files to compile with GCC
314
315         * merged ELI and LILO (as of gnu-efi-1.1) together, mostly
316           taking the config file feature of ELI.
317
318         * renamed LILO to ELILO to make the distinction
319
320         * restructured code to make it easier to understand and maintain
321
322         * fixed FPSWA driver checking and loading: we try all possible
323           files and let the driver itself figure out if it is the most
324           recent.
325         * added support for compression (gzip) but keep support for plain
326           ELF image. ELILO autodetects the format
327
328         * change the way the kernel is invoked. Now we call it in 
329           physical memory mode. This breaks the dependency between the
330           kernel code and the loader. No more lilo_start.c madness.
331
332         * changed the way the boot_params are passed. We don't use the 
333           ZERO_PAGE_ADDR trick anymore. Instead we use EFI runtime memory.
334           The address of the structure is passed to the kernel in r28
335           by our convention.
336
337         * released as gnu-efi-2.0
338
339 2001-04-03  David Mosberger  <davidm@hpl.hp.com>
340
341         * gnuefi/reloc_ia32.c (_relocate): Change return type from "void"
342         to "int".  Return error status if relocation fails for some
343         reason.
344
345         * gnuefi/elf_ia32_efi.lds: Drop unneeded ".rel.reloc" section.
346
347         * gnuefi/crt0-efi-ia32.S (_start): Exit if _relocate() returns with
348         non-zero exit status.
349
350         * inc/ia32/efibind.h [__GNUC__]: Force 8-byte alignment for 64-bit
351         types as that is what EFI appears to be expecting, despite the
352         "#pragma pack()" at the beginning of the file!
353
354 2001-03-29  David Mosberger  <davidm@hpl.hp.com>
355
356         * gnuefi/reloc_ia32.c: Add a couple of defines to work around
357         libc/efilib collision on uint64_t et al.
358         (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
359
360         * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
361
362 2001-03-29  David Mosberger  <davidm@hpl.hp.com>
363
364         * gnuefi/reloc_ia32.c: Add a couple of defines to work around
365         libc/efilib collision on uint64_t et al.
366         (_relocate): Use ELF32_R_TYPE() instead of ELFW(R_TYPE)().
367
368         * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry.
369
370 2000-10-26  David Mosberger  <davidm@hpl.hp.com>
371  
372         * gnuefi/elf_ia64_efi.lds: Mention .rela.sdata.
373  
374         * Make.defaults (CFLAGS): Remove -nostdinc flags so we can pick
375         up the C compiler's stdarg.h.
376  
377         * inc/stdarg.h: Remove this file.  It's not correct for gcc (nor
378         most other optimizing compilers).
379
380 2000-10-10  Stephane Eranian <eranian@hpl.hp.com>
381
382         * cleaned up the error message and printing of those.
383         * added support to load the FPSWA from a file in case support is not
384           present in the firmware already
385         * fixed split_args() to do the right thing when you have leading spaces
386           before kernel name
387         * changed the argify() function to rely on \0 instead of LoadOptionSize
388           as the field seems to be broken with current firmware
389         * bumped version to 1.0
390
391 2000-10-04  David Mosberger  <davidm@hpl.hp.com>
392  
393         * gnuefi/reloc_ia64.S: Reserve space for up to 750 function descriptors.
394
395         * gnuefi/elf_ia64_efi.lds: Add .sdata section for small data and
396         put __gp in the "middle" of it.
397
398         * gnuefi/crt0-efi-ia64.S (_start): Use movl/add to load
399         gp-relative addresses that could be out of the range of the addl
400         offset.
401         * gnuefi/reloc_ia64.S (_relocate): Ditto.
402
403         * apps/Makefile: Remove standard rules and include Make.rules instead.
404         * lilo/Makefile: Ditto.
405
406         * Make.rules: New file.
407
408 2000-08-04  Stephane Eranian <eranian@hpl.hp.com>
409         * released version 0.9
410         * incorporated ACPI changes for Asuza by NEC < kouchi@hpc.bs1.fc.nec.co.jp>
411         * added support for initrd (-i option) original ELI code from Bill Nottingham <notting@redhat.com>)
412         * lots of cleanups 
413         * got rid of #ifdef LILO_DEBUG and uses macro instead
414         * fix a few extra memory leaks in create_boot_params()
415         * added exit capability just before starting the kernel
416
417 2000-06-22  David Mosberger  <davidm@hpl.hp.com>
418
419         * gnuefi/elf_ia64_efi.lds: Add .srodata, .ctors, .IA64.unwind,
420         .IA64.unwind_info to .data section and .rela.ctors to .rela
421         section.
422
423 2000-04-03  David Mosberger  <davidm@hpl.hp.com>
424
425         * lilo/lilo.c (LILO_VERSION): Up version number to 0.9.
426
427         * gnuefi/elf_ia64_efi.lds: Include .IA_64.unwind and
428         .IA_64.unwind_info in .data segment to avoid EFI load error
429         "ImageAddress: pointer outside of image" error due to the .dynsym
430         relocations against these sections.
431
432         * ChangeLog: Moved from lilo/ChangeLogs.
433
434         * gnuefi/reloc_ia64.S: fixed typo: .space directive had constant
435         100 hardcoded instead of using MAX_FUNCTION_DESCRIPTORS
436         macro. Duh.
437
438 Fri Mar 17 15:19:18 PST 2000 Stephane Eranian <eranian@hpl.hp.com>
439
440         * Released 0.8
441         * replace the  getopt.c with new version free with better license
442         * created a documentation file
443         * fix a couple of memory leaks
444         * code cleanups
445         * created a separate directory for lilo in the gnu-efi package.
446         * added support for the BOOT_IMAGE argument to kernel
447         * default is to build natively now