1 2014-01-13 Nigel Croxon <nigel.croxon (a] hp.com> 2 Implement VSPrint function, prints a formatted unicode string to a buffer. 3 4 Signed-off-by: Jeremy Compostella <jeremy.compostella (a] gmail.com> 5 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 6 7 2014-01-10 Nigel Croxon <nigel.croxon (a] 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 10 elilo. 11 There was no COPYING file in the elilo source that the comment refers to. 12 13 Signed-off-by: Jerry Hoemann <jerry.hoemann (a] hp.com> 14 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 15 16 2014-01-08 Nigel Croxon <nigel.croxon (a] 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 19 of gcc. 20 21 Signed-off-by: Sylvain Gault <sylvain.gault (a] gmail.com> 22 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 23 24 2013-10-11 Nigel Croxon <nigel.croxon (a] hp.com> 25 Added support for SetVariable to store volatile variable, 26 and SetNVVariable to store non volatile variable. 27 28 Signed-off-by: Sylvain Chouleur <sylvain.chouleur (a] gmail.com> 29 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 30 31 2013-10-07 Nigel Croxon <nigel.croxon (a] hp.com> 32 33 Atoi needs to have consistent declaration/definition. 34 35 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 36 37 2013-10-07 Nigel Croxon <nigel.croxon (a] 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. 42 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. 47 48 Signed-off-by: Peter Jones <pjones (a] redhat.com> 49 50 2013-10-02 Nigel Croxon <nigel.croxon (a] hp.com> 51 52 Added two simple applications to allocate/free memory at EFI. 53 Used to test/find memory fragmentation issues linux. 54 55 Signed-off-by: Jerry Hoemann <jerry.hoemann (a] hp.com> 56 Signed-off-by: Nigel Croxon <nigel.croxon (a] hp.com> 57 58 2013-06-25 Nigel Croxon <nigel.croxon (a] hp.com> 59 Sample boot service driver. 60 61 Signed-off-by: David Decotigny <decot (a] googlers.com> 62 63 2013-06-25 Nigel Croxon <nigel.croxon (a] hp.com> 64 Date: Tue Jun 25 08:47:03 2013 -0400 65 66 Be more pedantic when linking, don't allow duplicate symbols, 67 abort upon first error. Also make sure linker script comes 68 last for apps. 69 70 Signed-off-by: David Decotigny <decot (a] googlers.com> 71 72 2013-06-25 Nigel Croxon <nigel.croxon (a] 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. 76 77 Signed-off-by: David Decotigny <decot (a] googlers.com> 78 79 2013-06-12 Nigel Croxon <nigel.croxon (a] hp.com> 80 Fix typo when disabling mno-mmx 81 82 Signed-Off-By: Nigel Croxon <nigel.croxon (a] hp.com> 83 84 2013-06-12 Nigel Croxon <nigel.croxon (a] hp.com> 85 Disable MMX and SSE 86 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 90 instructions. 91 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. 97 98 Signed-off-by: Peter Jones <pjones (a] redhat.com> 99 100 Author: Nigel Croxon <nigel.croxon (a] hp.com> 101 Date: Wed Jun 12 10:29:40 2013 -0400 102 103 bug in make 3.82 expand to odd values 104 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: 107 108 libefi.a: boxdraw.o) smbios.o) ... 109 libgnuefi.a(reloc_x86_64.o: 110 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). 114 115 Author: Nigel Croxon <nigel.croxon (a] hp.com> 116 Date: Wed Jun 12 09:53:01 2013 -0400 117 118 support .text.* sections on x86_64 119 120 Group them in .text. Also add vague linkage sections in .text. 121 122 Signed-off-by: David Decotigny <decot (a] googlers.com> 123 124 Author: Nigel Croxon <nigel.croxon (a] hp.com> 125 Date: Wed Jun 12 09:51:36 2013 -0400 126 127 cleanup and fix Make.defaults 128 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. 133 134 Signed-off-by: David Decotigny <decot (a] googlers.com> 135 136 Author: Nigel Croxon <nigel.croxon (a] hp.com> 137 Date: Wed Jun 12 09:47:16 2013 -0400 138 139 automatically determine number of uefi_call_wrapper() args on x86_64 140 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 144 robust code. 145 146 Argument va_num is now ignored in x86_64 code, both with and 147 without HAVE_USE_MS_ABI. 148 149 Credits to the macro magic given in the comments. 150 151 Signed-off-by: David Decotigny <decot (a] googlers.com> 152 153 Author: Nigel Croxon <nigel.croxon (a] hp.com> 154 Date: Wed Jun 12 09:38:10 2013 -0400 155 156 fix parameter-passing corruption on x86_64 for >= 5 args 157 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 168 unreliable. 169 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 175 nothing otherwise. 176 177 Signed-off-by: David Decotigny <decot (a] googlers.com> 178 179 Author: noxorc <nigel.croxon (a] hp.com> 180 Date: Wed May 15 15:26:16 2013 -0400 181 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 187 sense. 188 189 - Removes the "#define foo_t efi_foo_t" macros from reloc_ia32.c and 190 reloc_x86_64.c. 191 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 194 as: 195 196 typedef int __attribute__((__mode__(__DI__))) int64_t; 197 typedef unsigned int __attribute__((__mode__(__DI__))) uint64_t; 198 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). 203 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. 208 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). 211 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.) 217 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 220 the latter. 221 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. 227 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 230 FreeBSD/amd64. 231 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. 235 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. 240 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 246 environment. 247 248 This does the following: 249 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 254 FreeBSD/amd64 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) 260 261 Author: noxorc <nigel.croxon (a] hp.com> 262 Date: Wed May 8 16:29:45 2013 -0400 263 264 Add the definitions for TCP, UDP and IP, for both IPv4 and IPv6. 265 266 267 2013-05-02 Nigel Croxon <nigel.croxon (a] hp.com> 268 * Chnage from Matt Fleming <matt.fleming (a] intel.com> 269 - Preparation for adding the networking protocol definitions. 270 Add the service binding protocol. 271 272 2013-02-21 Nigel Croxon <nigel.croxon (a] hp.com> 273 * Change from Peter Jones <pjones (a] 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 292 stdint definitions. 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 304 EFI_CRC_ERROR 27 305 EFI_END_OF_MEDIA 28 306 EFI_END_OF_FILE 31 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 (a] 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. 327 * Release 3.0t 328 329 2012-09-21 Nigel Croxon <nigel.croxon (a] hp.com> 330 * Change from Peter Jones <pjones (a] 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"). 336 * Release 3.0r 337 338 2012-04-30 Nigel Croxon <nigel.croxon (a] hp.com> 339 * Change from Matt Fleming <matt.fleming (a] 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. 345 * Release 3.0q 346 347 2011-12-12 Nigel Croxon <nigel.croxon (a] hp.com> 348 * Changes from Fenghua Yu <fenghua.yu (a] intel.com> 349 - This fixes redefined types compilation failure for tcc.c on x86_64 machines. 350 * Release 3.0p 351 352 2011-11-15 Nigel Croxon <nigel.croxon (a] hp.com> 353 * Changes from Darren Hart <dvhart (a] linux.intel.com> 354 - Conditionally assign toolchain binaries to allow overriding them. 355 - Force a dependency on lib for gnuefi. 356 * Release 3.0n 357 358 2011-08-23 Nigel Croxon <nigel.croxon (a] hp.com> 359 * Changes from Peter Jones <pjones (a] 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. 363 * Release 3.0m 364 365 2011-07-22 Nigel Croxon <nigel.croxon (a] hp.com> 366 * Changed Makefiles from GPL to BSD. 367 * Changes from Peter Jones <pjones (a] 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. 373 * Release 3.0l 374 375 2011-04-07 Nigel Croxon <nigel.croxon (a] hp.com> 376 * Change license from GPL to BSD. 377 * Release 3.0j 378 379 2009-09-12 Julien BLACHE <jb (a] jblache.org> 380 * Add support for FreeBSD. 381 * Release 3.0i 382 383 2009-09-11 Julien BLACHE <jb (a] 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. 386 387 2009-06-18 Nigel Croxon <nigel.croxon (a] hp.com> 388 * Release 3.0h 389 390 2008-11-06 Nigel Croxon <nigel.croxon (a] hp.com> 391 * Fix to not having any relocations at all. 392 393 2008-09-18 Nigel Croxon <nigel.croxon (a] hp.com> 394 * Use LIBDIR in makefiles 395 * Add setjmp/longjmp 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 401 402 2008-02-22 Nigel Croxon <nigel.croxon (a] hp.com> 403 * Added '-mno-red-zone' to x68_64 compiles. 404 Patch provided by Mats Andersson. 405 406 2008-01-23 Nigel Croxon <nigel.croxon (a] 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. 411 412 2007-05-11 Nigel Croxon <nigel.croxon (a] hp.com> 413 * release 3.0d to support x86_64 from Chandramouli Narayanan 414 from Intel and based on 3.0c-1 415 416 2006-03-21 Stephane Eranian <eranian (a] hpl.hp.com> 417 * merged patch to support gcc-4.1 submitted by 418 Raymund Will from Novell/SuSE 419 420 2006-03-20 Stephane Eranian <eranian (a] 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. 424 425 2004-11-19 Stephane Eranian <eranian (a] hpl.hp.com> 426 * added patch to ignore .eh_frame section for IA-32. Patch 427 submitted by Jim Wilson 428 429 2004-09-23 Stephane Eranian <eranian (a] hpl.hp.com> 430 * added patch to discard unwind sections, newer toolchains 431 complained about them. Patch submitted by Jesse Barnes from SGI. 432 433 2003-09-29 Stephane Eranian <eranian (a] 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. 436 437 2003-06-20 Stephane Eranian <eranian (a] 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 440 441 2002-02-22 Stephane Eranian <eranian (a] hpl.hp.com> 442 * release 3.0a 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. 446 447 2001-06-20 Stephane Eranian <eranian (a] hpl.hp.com> 448 * release 3.0 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. 453 454 2001-04-06 Stephane Eranian <eranian (a] hpl.hp.com> 455 456 * incorporated patches from David and Michael Johnston at Intel 457 to get the package to compile for IA-32 linux target. 458 459 * Fixed ELILO to compile for Ia-32 (does not execute yet, though): 460 Makefile and start_kernel() function. 461 462 2001-04-06 Andreas Schwab <schwab (a] suse.de> 463 464 * Fixed config.c to 465 get the timeout directive to do something. implemented the global 466 root= directive. 467 468 * Fix the efi_main() to deal with the -C option properly 469 470 2001-04-05 Stephane Eranian <eranian (a] hpl.hp.com> 471 472 * update efi library to latest EFI toolkit 1.02 as distributed 473 by Intel. Fixed header + library files to compile with GCC 474 475 * merged ELI and LILO (as of gnu-efi-1.1) together, mostly 476 taking the config file feature of ELI. 477 478 * renamed LILO to ELILO to make the distinction 479 480 * restructured code to make it easier to understand and maintain 481 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 484 recent. 485 * added support for compression (gzip) but keep support for plain 486 ELF image. ELILO autodetects the format 487 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. 491 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 495 by our convention. 496 497 * released as gnu-efi-2.0 498 499 2001-04-03 David Mosberger <davidm (a] hpl.hp.com> 500 501 * gnuefi/reloc_ia32.c (_relocate): Change return type from "void" 502 to "int". Return error status if relocation fails for some 503 reason. 504 505 * gnuefi/elf_ia32_efi.lds: Drop unneeded ".rel.reloc" section. 506 507 * gnuefi/crt0-efi-ia32.S (_start): Exit if _relocate() returns with 508 non-zero exit status. 509 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! 513 514 2001-03-29 David Mosberger <davidm (a] hpl.hp.com> 515 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)(). 519 520 * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry. 521 522 2001-03-29 David Mosberger <davidm (a] hpl.hp.com> 523 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)(). 527 528 * gnuefi/crt0-efi-ia32.S (dummy): Add a dummy relocation entry. 529 530 2000-10-26 David Mosberger <davidm (a] hpl.hp.com> 531 532 * gnuefi/elf_ia64_efi.lds: Mention .rela.sdata. 533 534 * Make.defaults (CFLAGS): Remove -nostdinc flags so we can pick 535 up the C compiler's stdarg.h. 536 537 * inc/stdarg.h: Remove this file. It's not correct for gcc (nor 538 most other optimizing compilers). 539 540 2000-10-10 Stephane Eranian <eranian (a] hpl.hp.com> 541 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 546 before kernel name 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 550 551 2000-10-04 David Mosberger <davidm (a] hpl.hp.com> 552 553 * gnuefi/reloc_ia64.S: Reserve space for up to 750 function descriptors. 554 555 * gnuefi/elf_ia64_efi.lds: Add .sdata section for small data and 556 put __gp in the "middle" of it. 557 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 560 offset. 561 * gnuefi/reloc_ia64.S (_relocate): Ditto. 562 563 * apps/Makefile: Remove standard rules and include Make.rules instead. 564 * lilo/Makefile: Ditto. 565 566 * Make.rules: New file. 567 568 2000-08-04 Stephane Eranian <eranian (a] hpl.hp.com> 569 * released version 0.9 570 * incorporated ACPI changes for Asuza by NEC < kouchi (a] hpc.bs1.fc.nec.co.jp> 571 * added support for initrd (-i option) original ELI code from Bill Nottingham <notting (a] redhat.com>) 572 * lots of cleanups 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 576 577 2000-06-22 David Mosberger <davidm (a] hpl.hp.com> 578 579 * gnuefi/elf_ia64_efi.lds: Add .srodata, .ctors, .IA64.unwind, 580 .IA64.unwind_info to .data section and .rela.ctors to .rela 581 section. 582 583 2000-04-03 David Mosberger <davidm (a] hpl.hp.com> 584 585 * lilo/lilo.c (LILO_VERSION): Up version number to 0.9. 586 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. 591 592 * ChangeLog: Moved from lilo/ChangeLogs. 593 594 * gnuefi/reloc_ia64.S: fixed typo: .space directive had constant 595 100 hardcoded instead of using MAX_FUNCTION_DESCRIPTORS 596 macro. Duh. 597 598 Fri Mar 17 15:19:18 PST 2000 Stephane Eranian <eranian (a] hpl.hp.com> 599 600 * Released 0.8 601 * replace the getopt.c with new version free with better license 602 * created a documentation file 603 * fix a couple of memory leaks 604 * code cleanups 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 608