1 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
3 * util/grub-fstest.c: Remove variable length arrays.
5 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
7 * grub-core/osdep/linux/ofpath.c: Check return value of read.
9 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
11 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
12 computing crc32 rather than handling with md fundtions directly.
14 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
16 * util/mkimage.c (grub_install_generate_image): Use grub_crypto_hash for
17 checking fwstart.img rather than md fundtions directly.
19 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
21 * util/grub-mkrescue.c (main): Check that fread succeeded.
23 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
25 * conf/Makefile.common: Remove -mexplicit-relocs and
26 -DUSE_ASCII_FALLBACK on yeeloong.
28 -DUSE_ASCII_FALLBACK is already added by font snippets.
29 -mexplicit-relocs isn't needed is compiler/assemblera are
31 If they're not we shouldn't attempt to fix it by ourselves.
32 Binary compare between before and after shows no difference.
34 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
36 * grub-core/Makefile.core.def: Remove libgnulib.a and use its
37 sources in dependencies directly.
39 This was the only instance of "library" in core config. A bug was
40 reported that -fno-stack-protector wasn't passed to it. Instead of
41 figuring out why it failed just remove this construction used
44 2013-11-29 Vladimir Serbinenko <phcoder@gmail.com>
46 * grub-core/osdep/unix/password.c (grub_password_get): Check that
49 2013-11-27 Francesco Lavra <francescolavra.fl@gmail.com>
51 * docs/grub.texi (ls): Fix command description in case of a device name
54 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
56 Eliminate variable length arrays in grub_vsnprintf_real.
58 A bit tricky because this function has to continue to work without
59 heap for short strings. Fixing prealloc to 32 arguments is reasonable
60 but make all stack references use 32-bit offset rather than 8-bit one.
61 So split va_args preparsing to separate function and put the prealloc
64 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
66 Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
67 Fixes build for windows.
69 2013-11-27 Vladimir Serbinenko <phcoder@gmail.com>
71 * gentpl.py: Don't generate platform-dependent conditionals for
72 platform-independent targets.
74 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
76 * grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
77 references to mdadm from otherwise generic code.
78 (grub_util_exec_pipe): Likewise.
79 (grub_util_exec_pipe_stderr): Likewise.
80 * grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
81 This function calls vgs, not mdadm; adjust variable names
84 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
86 Generate Makefile.*.am directly from gentpl.py, eliminating the use
87 of Autogen. The Autogen definitions files remain intact as they
88 offer a useful abstraction.
90 2013-11-27 Colin Watson <cjwatson@ubuntu.com>
92 Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls
93 into no-ops, and use it in programs that copy files but do not need
94 to take special care to sync writes (grub-mknetdir, grub-rescue,
97 2013-11-26 Colin Watson <cjwatson@ubuntu.com>
99 * tests/util/grub-fs-tester.in: Execute xorriso from $PATH rather
100 than hardcoding /usr/local/bin/xorriso.
102 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
104 Add PCI command activation to all PCI drivers as required for coreboot
105 and maybe some other firmwares.
107 2013-11-26 Vladimir Serbinenko <phcoder@gmail.com>
109 * grub-core/Makefile.am: Reduce gratuituous differences between Apple
110 and non-Apple variants of efiemu compile.
112 2013-11-25 Andrey Borzenkov <arvidjaar@gmail.com>
114 * configure.ac: Add explicit check for linking format of
115 efiemu64; save it as EFIEMU64_LINK_FORMAT.
116 * grub-core/Makefile.am: Use EFIEMU64_LINK_FORMAT instead of
117 hardcoding linking format.
119 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
121 * util/grub-mknetdir.c: Look for platform directories under pkglibdir
124 2013-11-25 Colin Watson <cjwatson@ubuntu.com>
125 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
127 Add a --locale-directory option to grub-install and related tools.
129 * include/grub/util/install.h (GRUB_INSTALL_OPTIONS): Add
130 --locale-directory option.
131 (enum grub_install_options): Add
132 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
133 * util/grub-install-common.c (grub_install_help_filter): Handle
134 GRUB_INSTALL_OPTIONS_LOCALE_DIRECTORY.
135 (grub_install_parse): Likewise.
136 (get_localedir): New function to check for a user-provided option
137 before trying grub_util_get_localedir.
138 (copy_locales): Use get_localedir rather than
139 grub_util_get_localedir. Handle differing locale directory layouts.
140 (grub_install_copy_files): Likewise.
142 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
144 * grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
145 Don't rely on PATH_MAX.
147 2013-11-25 Vladimir Serbinenko <phcoder@gmail.com>
149 * grub-core/genmoddep.awk: Use more portable && rather than and.
151 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
153 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Create _edata by placing
154 an object after data. While it doesn't seem right solution, it
155 works well enough and OSX isn't main compilation platform.
157 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
159 * gentpl.py: Add -ed2016 in order to make objconv accept our binary.
160 While it doesn't seem right solution, it works well enough and
161 OSX isn't main compilation platform.
163 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
165 * configure.ac: Add -static to LDFLAGS when using apple linker to
166 prevent it from pulling in dynamic linker.
168 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
170 Apple assembly doesn't handle symbol arithmetic well. So define an
171 offset symbol in boot.S and use it.
173 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
175 Apple assembly doesn't handle symbol arithmetic well. So instead
176 of getting addres of kernel_sector + 4 define kernel_sector_high.
177 It also makes code more readable.
179 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
181 With Apple assembly in .macro environvemnt you have to use $$ instead
182 of $. So introduce new preprocessor macro MACRO_DOLLAR(x) which expands
183 to $$x on Apple and to $x on everything else.
185 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
187 * grub-core/Makefile.am: Use correct TARGET_OBJCONV rather than
190 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
192 * grub-core/gdb/i386/machdep.S: Use xorl %eax, %eax on both Apple
193 and non-Apple. This instruction is shorter and faster,
194 so no reason not to use it on both.
196 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
198 * grub-core/lib/reed_solomon.c: Use section _text, _text rather than
199 .text when compiling for Apple.
201 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
203 * grub-core/term/arc/console.c: Add missing cast to silence warning.
205 2013-11-24 Vladimir Serbinenko <phcoder@gmail.com>
207 * grub-core/boot/i386/pc/boot.S: Fix floppy probe. Due to missing
208 %dx restore the probe worked on non-existant drive. Reorganize the
209 code a little bit to free 2 bytes necessary for push/pop.
211 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
213 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
214 Add missing cast to silence warning.
216 2013-11-23 Keshav Padram Amburay <the.ridikulus.rat@gmail.com>
218 * util/grub-install.c (update_nvram): Support --no-nvram flag
221 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
223 * INSTALL: Add note about sparc64/ia64 with clang (unsupported).
225 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
227 * util/garbage-gen.c: Add missing include of sys/time.h.
229 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
231 Don't add -mflush-func if it's not supported by compiler.
233 2013-11-23 Vladimir Serbinenko <phcoder@gmail.com>
235 Move common BIOS/coreboot memory map declarations to
236 include/grub/i386/memory_raw.h and eliminate duplicate declarations.
238 2013-11-22 Andrey Borzenkov <arvidjaar@gmail.com>
240 * Makefile.am: Add util/garbage-gen.c to EXTRA_DIST.
242 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
244 * INSTALL: Document why older clang versions aren't appropriate.
246 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
248 * INSTALL: Document about clang for mips.
250 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
252 * grub-core/lib/libgcrypt/mpi/longlong.h: Use C version with mips
255 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
257 Add *-xen to the list of grub-install-common platforms.
259 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
261 * configure.ac: Do not enforce -mcmodel=large. It's not necessarry with
264 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
266 * grub-core/kern/xen/init.c: Do not map more pages than we can address.
268 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
270 * grub-core/kern/efi/mm.c: Limit allocations to 2GiB when not compiling
273 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
275 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Add
276 range-checking for 32-bit quantities.
278 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
280 * configure.ac: Compile with -fPIC when compiling with clang on
283 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
285 * configure.ac: Add -no-integrated-as on mips(el) to TARGET_CCASFLAGS
286 when compiling with clang.
288 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
290 clang emits calls to abort () under some unknown conditions.
291 Export abort () when compiling with clang.
293 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
295 * docs/grub-dev.texi: Document stack and heap sizes.
297 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
299 * include/grub/i386/pc/memory.h: Decrease
300 GRUB_MEMORY_MACHINE_SCRATCH_SIZE and increase
301 GRUB_MEMORY_MACHINE_PROT_STACK_SIZE.
302 The binary doesn't change (checked). It's more to better reflect actual
305 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
307 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Ensure
308 at compile time that enough of scratch size is available.
310 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
312 * grub-core/kern/x86_64/efi/callwrap.S: Fix stack alignment.
313 Previously we misaligned stack by 8 in startup.S and compensated
314 for it in callwrap.S. According to ABI docs (EFI and sysv amd64)
315 right behaviour is to align stack in startup.S and keep it aligned
316 in callwrap.S. startup.S part was committed few commits before. This
317 takes care of callwrap.S.
318 Reported by: Gary Lin.
320 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
322 * grub-core/boot/mips/startup_raw.S: Handle the case of gap between
323 .data and .bss. May happen if compiler and assembly use different
326 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
328 On MIPS handle got16 relocations to local symbols in an ABI-compliant
331 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
333 Add support for a new magic symbol _gp_disp on mips to handle PIC
336 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
338 Use $t9 for indirect calls from asm to C as PIC ABI requires.
340 2013-11-22 Vladimir Serbinenko <phcoder@gmail.com>
342 Remove -march=mips3 from TARGET_CCASFLAGS as it creates linking problem
343 when rest of GRUB is compiled for hisher stepping. Instead use
344 .set mips3/.set mips1 around cache and sync opcodes.
346 2013-11-21 Vladimir Serbinenko <phcoder@gmail.com>
348 Unify GOT/trampoline handling between PPC, MIPS and IA64 as they
349 do essentially the same thing, do it in similar way.
351 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
353 * util/grub-mkrescue.c (main): If a source directory is not
354 specified, read platform-specific files from subdirectories of
355 pkglibdir, not pkgdatadir.
357 2013-11-21 Colin Watson <cjwatson@ubuntu.com>
359 * grub-core/normal/progress.c: Remove unused file.
361 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
363 * grub-core/lib/crypto.c (grub_crypto_hash): Remove variable length
366 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
368 * util/grub-mkconfig.in: Say explicit "grub configuration" rather
371 2013-11-20 Vladimir Serbinenko <phcoder@gmail.com>
373 * coreboot.cfg: Add missing file.
375 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
377 * Makefile.am: Allow STRIP to be empty when creating windowszip.
379 2013-11-19 Axel Kellermann <axel.kellermann@gmx.de>
381 * util/grub.d/30_os-prober.in: Add GRUB_OS_PROBER_SKIP_LIST to
382 selectively skipping systems.
384 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
386 * Makefile.util.def (grub-mkimage): Add
387 grub-core/osdep/aros/config.c to extra_dist.
388 * conf/Makefile.extra-dist (EXTRA_DIST): Add docs/autoiso.cfg,
389 docs/osdetect.cfg, grub-core/gnulib-fix-null-deref.diff,
390 grub-core/gnulib-fix-width.diff, grub-core/gnulib-no-abort.diff, and
391 grub-core/gnulib-no-gets.diff.
393 2013-11-19 Vladimir Serbinenko <phcoder@gmail.com>
395 Add automated filesystem checking based on scripts I've used now for
396 quite some time locally. Most of the test require root so they are
397 skipped when run without necessarry privelegies.
399 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
401 * util/grub-install.c (main): Adjust info messages to match
402 installed paths of grub-bios-setup and grub-sparc64-setup.
404 2013-11-19 Colin Watson <cjwatson@ubuntu.com>
406 * util/grub-install-common.c (copy_locales): Consistently use
407 grub_util_get_localedir () rather than LOCALEDIR.
408 (grub_install_copy_files): Likewise.
410 2013-11-19 Josh Triplett <josh@joshtriplett.org>
412 * grub-core/kern/x86_64/efi/startup.S (_start): Align the stack to a
413 16-byte boundary, as required by the x86-64 ABI, before calling
414 grub_main. In some cases, GCC emits code that assumes this
415 alignment, which crashes if not aligned. The EFI firmware is also
416 entitled to assume that stack alignment without checking.
418 2013-11-18 Josh Triplett <josh@joshtriplett.org>
420 * grub-core/mmap/efi/mmap.c (grub_mmap_register): Round up/down to
421 4k page boundaries as expected by firmware rather than 1k
423 (grub_mmap_malign_and_register): Likewise.
425 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
427 * tests/grub_func_test.in: Decrease RAM size to 512M. With less
428 fragmentation 512M is enough.
430 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
432 * grub-core/kern/mm.c (grub_real_malloc): Decrease cut-off of moving the
433 pointer to 32K. This is the size of cache element which is the most
434 common allocation >1K. This way the pointer is always around blocks
435 of 32K and so we keep performance while decreasing fragmentation.
437 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
439 * grub-core/kern/mm.c (grub_real_malloc): Don't update the pointer to
440 current memory when allocating large chunks. This significantly
441 decreases memory fragmentation.
443 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
445 * tests/gzcompress_test.in: Skip if gzip is not installed (unlikely,
447 * tests/lzocompress_test.in: Skip if lzop is not installed.
448 * tests/xzcompress_test.in: Skip if xz is not installed.
450 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
452 * util/grub-mkrescue.c (main): Fix typo.
454 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
456 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Update
457 clock frequency to 200 MHz,
459 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
461 * tests/util/grub-shell.in: Increase console size to 1024x1024.
463 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
465 * Makefile.am (default_payload.elf): Add pata to loaded modules.
466 Load config file from (cbfsdisk)/etc/grub.cfg.
468 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
470 * util/grub-install-common.c (grub_install_copy_files): Fix module
471 destination directory.
473 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
475 * tests/util/grub-shell.in: Don't fail on emu platform if po/*.gmo
476 files have not been built.
478 2013-11-18 Colin Watson <cjwatson@ubuntu.com>
480 * grub-core/osdep/unix/hostdisk.c (grub_util_make_temporary_file):
481 Handle errors from mkstemp.
482 (grub_util_make_temporary_dir): Handle errors from mkdtemp.
484 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
486 * tests/util/grub-shell.in: Use -cdrom and don't force cdrom
487 on primary master on pseries.
489 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
491 * grub-core/tests/videotest_checksum.c: Don't reload unifont if it's
492 already loaded. This saves memory needed for tests,
494 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
496 * util/grub-mkrescue.c (main): Fix a typo to make yeeloong part
499 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
501 * grub-core/term/terminfo.c (grub_cmd_terminfo): Fix a typo to make -g
504 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
506 * tests/util/grub-shell.in: For powerpc tests put the CD-ROM as primary
507 master since with some combinations of qemu and firmware only primary
508 IDE channel is available.
510 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
512 * grub-core/tests/gfxterm_menu.c: Skip high-resolution tests on
513 low-memory platforms where we don't have enough memory for them.
514 * grub-core/tests/videotest_checksum.c: Likewise.
516 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
518 * grub-core/tests/cmdline_cat_test.c: Don't reload unifont if it's
519 already loaded. This saves memory needed for tests,
521 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
523 Fix handling of install lists.
525 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
527 * grub-core/lib/sparc64/setjmp.S: Force spilling of current window.
529 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
531 On i386-ieee1275 we run in paged mode. So we need to explicitly map
532 the devices before accessing them.
534 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
536 * grub-core/lib/relocator.c (grub_mm_check_real): Accept const char *
539 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
541 * grub-core/normal/cmdline.c (grub_cmdline_get): Plug memory leak.
543 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
545 * grub-core/kern/file.c (grub_file_open): Free file->name on failure.
546 (grub_file_close): Free file->name.
548 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
550 * grub-core/commands/verify.c (free_pk): Plug memory leak.
551 (grub_load_public_key): Likewise.
552 (grub_verify_signature_real): Likewise.
553 (grub_cmd_verify_signature): Likewise.
555 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
557 * grub-core/commands/legacycfg.c (grub_legacy_check_md5_password): Plug
560 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
562 * grub-core/lib/powerpc/setjmp.S (grub_setjmp): Save r31.
563 (grub_longjmp): Restore r31.
564 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Reserve space for r31.
566 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
568 * util/grub-mkrescue.c (make_image_fwdisk_abs): Insert all partmap
569 modules to be in line with make_image_abs.
571 2013-11-18 Vladimir Serbinenko <phcoder@gmail.com>
573 * include/grub/mips/setjmp.h (grub_jmp_buf): Fix buffer size.
575 setjmp.S uses 12 entries but buffer is declared with only 11 entries.
577 2013-11-17 Ian Campbell <ijc@hellion.org.uk>
579 * grub-core/disk/uboot/ubootdisk.c: Include SCSI disks.
581 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
583 * tests/grub_func_test.in: Increase memory reservation as on EFI we need
584 to leave some memory to firmware.
586 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
588 * grub-core/tests/cmdline_cat_test.c (cmdline_cat_test): Ignore errors
589 of loading gfxterm as gfxterm is embed in kernel on some platforms.
590 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Likewise.
593 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
595 * tests/core_compress_test.in: Use full arguments as grub-mkimage-extra
596 now needs full arguments.
598 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
600 * util/grub-mkrescue.c (main): Add trailing \n in
601 .disk_label.contentDetails to be in line with previous shell script.
603 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
605 * util/grub-mkrescue.c (main): Use right source file for bootinfo.txt.
607 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
609 * util/grub-install-common.c (grub_install_parse): Recognize
610 --compress=none like shell script did.
612 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
614 * include/grub/misc.h: Replace check for __sparc64__ with one for
615 __sparc__ as __sparc64__ isn't actually defined.
617 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
619 * tests/util/grub-shell.in: Use escc-ch-b on powerpc. This is missing
620 counterpart of fixing the naming of escc ports.
622 2013-11-17 Vladimir Serbinenko <phcoder@gmail.com>
624 * util/grub-install-common.c (platforms): Fix the order of entries and
625 remove useless field val.
627 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
629 * util/grub-install.c: Add new option --no-bootsector to skip
630 installing of bootsector. Accept --grub-setup=/bin/true as
631 backwards-compatible synonym.
633 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
635 * util/grub-install.c (device_map_check_duplicates): Fix incorrect
636 order of qsort arguments (number of elements vs. element size).
638 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
640 Rewrite grub-install, grub-mkrescue, grub-mkstandalone and grub-mknetdir
641 the function of these files exceeds what can be sanely handled in shell
642 in posix-comaptible way. Also writing it in C extends the functionality
643 to non-UNIX-like OS and minimal environments.
645 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
647 * grub-core/kern/arm/cache.S: Don't switch back to ARM mode when
649 * grub-core/kern/arm/cache_armv7.S: Likewise.
650 * grub-core/lib/arm/setjmp.S: Likewise.
652 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
654 * grub-core/kern/arm/uboot/startup.S: delete superflouous save of r8
655 in grub_uboot_syscall
657 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
659 Decrease stack usage in lexer.
661 We have only 92K of stack and using over 4K per frame is wasteful
663 * grub-core/script/yylex.l (yyalloc), (yyfree), (yyrealloc): Declare
664 as macros so that compiler would remove useless structure on stack.
665 Better solution would be to fix flex not to put this structure on
666 the stack but flex is external program.
668 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
670 Decrease stack usage in signature verification.
672 We have only 92K of stack and using over 4K per frame is wasteful
674 * grub-core/commands/verify.c (grub_load_public_key): Allocate on heap
676 (grub_verify_signature_real): Likewise.
678 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
680 Decrease stack usage in mdraid 0.9x.
682 We have only 92K of stack and using over 4K per frame is wasteful
684 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Allocate on heap
687 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
689 Decrease stack usage in BtrFS.
691 We have only 92K of stack and using over 4K per frame is wasteful
693 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Allocate on heap
696 2013-11-16 Vladimir Serbinenko <phcoder@gmail.com>
698 Decrease stack usage in JFS.
700 We have only 92K of stack and using over 4K per frame is wasteful
702 * grub-core/fs/jfs.c (getblk): Allocate on heap rather than on
703 stack. Note: this function is recursive.
704 (grub_jfs_read_inode): Read only part we care about.
706 2013-11-16 Leif Lindholm <leif.lindholm@linaro.org>
708 * grub-core/kern/arm/uboot/startup.S: fix grub_uboot_syscall va_arg
711 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
713 * configure.ac: Restore -nostdlib for libgcc symbols tests.
715 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
717 * docs/grub.texi (Environment): Document cmdpath.
719 2013-11-16 Andrey Borzenkov <arvidjaar@gmail.com>
721 * grub-core/kern/mips/arc/init.c (grub_machine_get_bootlocation):
722 Remove "unused" attribute from arguments, they are used.
724 2013-11-15 Colin Watson <cjwatson@debian.org>
726 * .gitignore: Only ignore grub-mk* at the top level.
728 2013-11-15 Colin Watson <cjwatson@ubuntu.com>
730 * util/grub-reboot.in (usage): Fix a typo.
732 2013-11-15 Vladimir Serbinenko <phcoder@gmail.com>
734 Replace libgcc version of ctz with our own.
736 On upcoming arm64 port libgcc ctz* are not usable in standalone
737 environment. Since we need ctz* for this case and implementation is
738 in C we may as well use it on all concerned platforms.
740 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
742 * configure.ac: Probe for linking format rather than guessing it based
745 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
747 * grub-core/disk/xen/xendisk.c (grub_xendisk_fini): Set state to
748 "1" prior to handoff.
750 Reported by: M A Young.
752 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
754 * grub-core/kern/xen/init.c (grub_xenstore_write_file): Don't add
757 Reported by: M A Young.
759 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
761 * grub-core/osdep/bsd/hostdisk.c (grub_util_get_fd_size_os): Fix
762 compilation on NetBSD.
764 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
766 * acinclude.m4: Don't add -P on initial nm test.
768 Note: even though this patch postdates Andrey's it bears 14 Nov as
769 date due to timezone difference.
771 2013-11-15 Andrey Borzenkov <arvidjaar@gmail.com>
773 * grub-core/Makefile.core.def (signature_test): Add missing
776 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
778 * util/grub-install_header: Set localedir here, since this file is
780 * util/grub-install.in: Remove setting of localedir.
781 * util/grub-mkrescue.in: Likewise.
783 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
785 * Makefile.am (default_payload.elf): Add uhci, ohci and usb_keyboard.
787 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
789 * configure.ac: Move nm checks to the end.
790 Call grub_PROG_NM_WORKS.
791 * acinclude.m4: New check grub_PROG_NM_WORKS.
792 Use $TARGET_CFLAGS -c when compiling test binary.
794 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
796 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Remove
799 2013-11-14 Matthew Garrett <mjg@redhat.com>
801 * grub-core/kern/main.c (grub_set_prefix_and_root): Set variable
802 cmdpath to firmware directory.
804 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
806 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Reset the pointer
807 at the start of second iteration.
809 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
811 * grub-core/Makefile.am (efiemu64.o): Explicitly set link format.
813 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
815 * Makefile.am (default_payload.elf): New target for easier coreboot
818 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
820 * grub-core/kern/arm/cache_armv6.S: Remove special handling for
821 clang (not necessarry with -no-integrated-as).
822 * include/grub/symbol.h [__arm__]: Likewise.
824 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
826 * configure.ac: Use -no-integrated-as on arm with clang.
827 * INSTALL: Mention ARM compilation with clang.
829 2013-11-14 Vladimir Serbinenko <phcoder@gmail.com>
831 * conf/Makefile.common (CCASFLAGS_PLATFORM) [COND_arm]: Add
834 2013-11-14 Colin Watson <cjwatson@ubuntu.com>
836 * grub-core/fs/ext2.c (grub_ext2_read_block): Factor out common
837 code for indirect block handling.
839 Saves 185 bytes on compressed image.
841 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
845 * Makefile.am: Remove build-grub-* in make clean.
847 2013-11-13 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
849 New files to gitignore.
851 * .gitignore: Add build-grub-gen-asciih, build-grub-gen-widthspec,
852 build-grub-mkfont, and grub-emu-lite. Remove .bzrignore.
854 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
856 * grub-core/kern/arm/misc.S: Make thumb2-compatible.
858 2013-11-13 Leif Lindholm <leif.lindholm@linaro.org>
860 * .gitignore: fix rules for .dep* and add *.a post git migration
862 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
864 * configure.ac (AM_INIT_AUTOMAKE): Require at least version 1.10.1,
867 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
869 * grub-core/kern/misc.c: Don't redirect divisions in the
871 * include/grub/misc.h: Likewise.
873 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
875 * grub-core/osdep/unix/emuconsole.c (put): Pacify the compiler on
876 systems that require checking the return value of write.
878 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
880 * util/grub-install.in (efi_quiet): Fix inverted logic: make
881 efibootmgr quiet when --debug is not used, rather than when it is.
883 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
885 * gentpl.py (define_macro_for_platform_dependencies): Remove
886 first (and thus unused) of two definitions for this function.
887 (platform_dependencies): Likewise.
889 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
891 * acinclude.m4 (grub_apple_cc): Remove; since the removal of nested
892 functions, we only need to check this for the target, not the host.
893 * configure.ac (grub_apple_cc): Likewise.
895 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
897 * grub-core/kern/arm/cache.c (probe_caches): Move asm part to ...
898 * grub-core/kern/arm/cache_armv6.S: ... here. This allows this
899 asm to stay in arm even if surrounding is thumb.
901 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
903 * grub-core/kern/arm/misc.S: Add __muldi3 and __aeabi_lmul. Those
904 helper functions are needed for thumb.
906 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
908 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Make
909 level / 3 division explicitly unsigned. Saves few bytes.
911 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
913 * grub-core/fs/zfs/zfs.c (ZAP_LEAF_NUMCHUNKS): Use unsigned arithmetics.
915 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
917 * grub-core/normal/datetime.c (grub_get_weekday): Use if rather than
920 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
922 * grub-core/kern/uboot/init.c: Move grub_uboot_machine_type and
923 grub_uboot_boot_data to asm part.
925 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
927 * grub-core/kern/arm/uboot/startup.S: Remove = by replacing with
929 (grub_uboot_syscall): Save/restore r9 and align stack.
931 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
933 * grub-core/kern/arm/cache.S: Replace = with explicit litteral load.
935 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
937 * include/grub/symbol.h (END) [__arm__]: New macros. Replace all .end
938 occurencies with END.
940 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
942 * util/grub-editenv.c (help_filter, argp): Document how to delete
943 the whole environment block.
944 Reported by Dan Jacobson. Fixes Debian bug #726265.
946 2013-11-13 Colin Watson <cjwatson@ubuntu.com>
948 * docs/grub.texi (Internationalisation, Supported kernels): Fix
951 2013-11-13 Josh Triplett <josh@joshtriplett.org>
953 * grub-core/normal/term.c (grub_set_more): Use bool logic rather than
956 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
958 * grub-core/kern/arm/cache_armv6.S [__clang__]: Don't add .armv6 when
959 compiling with clang.
961 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
963 * grub-core/kern/arm/uboot/startup.S: Use .org rather than assigning
966 2013-11-13 Vladimir Serbinenko <phcoder@gmail.com>
968 Redirect all divisions to grub_divmod64.
970 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
972 * grub-core/term/tparm.c (tparam_internal): Use unsigned divisions.
974 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
976 Add missing includes of loader.h.
978 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
980 * configure.ac: Allow disabling themes.
982 2013-11-12 Lukas Schwaighofer <lukas@schwaighofer.name>
984 * util/grub.d/20_linux_xen.in: Don't decompress initrd.
986 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
988 * grub-core/term/at_keyboard.c: Don't poll non-functional AT controller
989 until it becomes operational.
991 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
993 * grub-core/Makefile.core.def (legacy_password_test): Disable
994 on platforms where no legacycfg is compiled.
995 * grub-core/tests/lib/functional_test.c: Tolerate failure to
996 load legacy_password_test.
998 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1000 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
1002 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1004 * grub-core/efiemu/prepare.c: Remove variable length arrays.
1006 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1008 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror): Silence
1009 strict-aliasing warning.
1010 (fsync): Silence cast warning.
1012 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1014 * grub-core/commands/verify.c: Remove variable length arrays.
1015 Load gcry_dsa/gcry_rsa automatically.
1017 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1019 * grub-core/tests/signature_test.c: New test.
1021 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1023 * grub-core/disk/cryptodisk.c (luks_script_get): Adapt to new procfs
1026 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1028 * grub-core/tests/legacy_password_test.c (vectors): Make static.
1029 * grub-core/tests/pbkdf2_test.c (vectors): Likewise.
1031 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1033 * grub-core/tests/setjmp_test.c: Reset counter to 0 before starting.
1035 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1037 * grub-core/fs/proc.c: Allow \0 in proc files.
1039 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1041 * grub-core/tests/xnu_uuid_test.c: Fix assert message.
1043 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1045 * grub-core/tests/xnu_uuid_test.c: Fix copyright year.
1047 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1049 * grub-core/fs/ext2.c: Remove variable length arrays.
1051 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1053 * grub-core/lib/crypto.c (grub_crypto_cbc_decrypt): Remove variable
1056 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1058 * grub-core/disk/AFSplitter.c: Remove variable length arrays.
1059 * grub-core/disk/cryptodisk.c: Likewise.
1060 * grub-core/disk/geli.c: Likewise.
1061 * grub-core/disk/luks.c: Likewise.
1063 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1065 * grub-core/tests/legacy_password_test.c: New test.
1066 * grub-core/commands/legacycfg.c: Remove variable length arrays.
1068 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1070 * grub-core/lib/pbkdf2.c: Remove variable length arrays.
1072 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1074 * grub-core/tests/pbkdf2_test.c: New test.
1076 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1078 * grub-core/lib/xzembed/xz_dec_stream.c: Remove variable length arrays.
1080 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1082 * grub-core/io/lzopio.c: Remove variable length arrays.
1084 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1086 * include/grub/crypto.h: Add maximums on hash size and cipher block
1089 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1091 * grub-core/commands/xnu_uuid.c: Remove variable length arrays.
1093 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1095 * grub-core/tests/xnu_uuid_test.c: New test.
1097 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1099 * grub-core/commands/hashsum.c: Remove unneeded memset (zalloc already
1102 2013-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1104 * grub-core/commands/hashsum.c: Remove variable length arrays.
1106 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1108 * grub-core/tests/gfxterm_menu.c (gfxterm_menu): Handle out-of-memory
1110 * tests/grub_func_test.in: Increase memory allocation.
1112 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1114 * grub-core/osdep/unix/getroot.c [HAVE_STRUCT_STATFS_F_FSTYPENAME
1115 && HAVE_STRUCT_STATFS_F_MNTFROMNAME]: Include sys/param.h and
1118 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1120 * grub-core/osdep/apple/hostdisk.c (grub_util_get_fd_size): Rename to ..
1121 (grub_util_get_fd_size_os): ...this.
1122 (grub_hostdisk_flush_initial_buffer): New empty function.
1124 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1126 * grub-core/gensyminfo.sh.in: Handle the case of portable output
1127 without --defined-only.
1129 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1131 * grub-core/lib/i386/relocator_common.S [__APPLE__ && __x86_64__]: Use
1132 rip-relative addressing in prologue.
1134 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1136 * include/grub/misc.h [__APPLE__]: Do not add regparm(0) on x86_64.
1137 * grub-core/kern/misc.c (__bzero) [__APPLE__]: New function.
1139 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1141 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1142 Add missing semicolon.
1144 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1146 * util/grub-macho2img.c: Use plain fopen rather than grub_util_fopen.
1148 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1150 * configure.ac: Check for lzma.h for enabling liblzma and allow
1153 2013-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1155 Add missing includes of loader.h.
1157 2013-11-11 Fam Zheng <famcool@gmail.com>
1159 * util/grub.d/30_os-prober.in: Add minix entry.
1161 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1163 * grub-core/loader/i386/coreboot/chainloader.c (load_segment): Use
1164 right buffer for temporary load.
1166 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1168 * grub-core/loader/i386/coreboot/chainloader.c: Support tianocore.
1170 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1172 * grub-core/loader/i386/coreboot/chainloader.c: Support lzma-compressed
1175 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1177 * include/grub/lib/LzmaDec.h: Fix to include LzmaTypes.h and
1179 * grub-core/lib/LzmaDec.c: Fix prologue to make it compileable in GRUB
1181 (LzmaDec_InitDicAndState): Make static.
1183 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1185 * util/grub-mkimagexx.c (generate_elf): Fix module address on coreboot.
1187 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1189 * grub-core/term/ieee1275/escc.c (GRUB_MOD_INIT): Fix order of channels.
1191 Reported by: Aaro Koskinen <aaro.koskinen@iki.fi>
1193 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1195 * docs/grub-dev.texi: Replace bzr references with git ones.
1197 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1199 * docs/grub.texi (Simple configuration): Remove reference to
1200 grub-reboot from saved default entry description - grub-default
1201 does not use it anymore.
1203 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1205 * configure.ac: Make efiemu test cflags match the cflags efiemu is
1208 2013-11-10 Andrey Borzenkov <arvidjaar@gmail.com>
1210 * docs/grub.texi (Simple configuration): Document GRUB_DISABLE_SUBMENU.
1212 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1214 Fix grub_machine_fini bitrot.
1216 Reported by: Glenn Washburn.
1218 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1220 * configure.ac: Remove leftover -fnested-funcions -Wl,-allow_execute.
1222 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1224 * grub-core/Makefile.am (efiemu): Remove leftover -DAPPLE_CC and
1226 * grub-core/efiemu/runtime/config.h: Use __i386__ and __x86_64__
1229 2013-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1231 * configure.ac: Restore CFLAGS to TARGET_CFLAGS before external tests.
1232 Add -march=core2 when testing compile of efiemu64.
1234 Thanks Andrey Borzenkov for spotting this.
1236 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1238 Add new ports: i386-xen and x86_64-xen. This allows running GRUB in
1239 XEN PV environment and load kernels.
1241 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1243 * grub-core/loader/i386/multiboot_mbi.c: Handle space in command line.
1244 * grub-core/loader/multiboot_mbi2.c: Likewise.
1246 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1248 * grub-core/lib/cmdline.c (grub_loader_cmdline_size): Fix empty cmdline
1251 2013-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1253 * grub-core/commands/i386/cmostest.c: Add new command "cmosset".
1255 Tested by: Denis 'GNUtoo' Carikli.
1257 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1259 * grub-core/normal/datetime.c (grub_get_weekday): Use unsigned types.
1261 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1263 * grub-core/gfxmenu/gui_circular_progress.c (parse_angle):
1264 Use to get rounded angle rather than truncated.
1266 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1268 * grub-core/term/serial.c: Add option for enabling/disabling
1269 RTS/CTS flow control.
1271 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1273 * grub-core/lib/libgcrypt/cipher/idea.c (mul_inv): Remove signed
1276 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1278 * grub-core/lib/libgcrypt/mpi/mpih-div.c (_gcry_mpih_divrem):
1279 Use grub_fatal rather than divide by zero.
1280 * grub-core/lib/libgcrypt/mpi/mpi-pow.c (gcry_mpi_powm): Likewise.
1282 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1284 * include/grub/gui.h (grub_fixed_sfs_divide): Round rather than
1286 (grub_fixed_fsf_divide): Likewise.
1288 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1290 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Avoid
1291 division by-zero and senseless negative divisions.
1293 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1295 * grub-core/gfxmenu/gui_circular_progress.c (circprog_paint): Avoid
1296 division by-zero and senseless negative divisions.
1297 (circprog_set_property): Don't accept negative num_ticks.
1299 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1301 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Avoid
1302 division by-zero and senseless negative divisions.
1304 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1306 * configure.ac: Use elf_*_fbsd on kfreebsd.
1308 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1310 * grub-core/tests/div_test.c: New test.
1312 2013-11-08 Vladimir Testov <vladimir.testov@rosalab.ru>
1314 * grub-core/gfxmenu/gui_box.c: Updated to work with area status.
1315 * grub-core/gfxmenu/gui_canvas.c: Likewise.
1316 * grub-core/gfxmenu/view.c: Likewise.
1317 * grub-core/video/fb/video_fb.c: Introduce new functions:
1318 grub_video_set_area_status, grub_video_get_area_status,
1319 grub_video_set_region, grub_video_get_region.
1320 * grub-core/video/bochs.c: Likewise.
1321 * grub-core/video/capture.c: Likewise.
1322 * grub-core/video/video.c: Likewise.
1323 * grub-core/video/cirrus.c: Likewise.
1324 * grub-core/video/efi_gop.c: Likewise.
1325 * grub-core/video/efi_uga.c: Likewise.
1326 * grub-core/video/emu/sdl.c: Likewise.
1327 * grub-core/video/radeon_fuloong2e.c: Likewise.
1328 * grub-core/video/sis315pro.c: Likewise.
1329 * grub-core/video/sm712.c: Likewise.
1330 * grub-core/video/i386/pc/vbe.c: Likewise.
1331 * grub-core/video/i386/pc/vga.c: Likewise.
1332 * grub-core/video/ieee1275.c: Likewise.
1333 * grub-core/video/i386/coreboot/cbfb.c: Likewise.
1334 * include/grub/video.h: Likewise.
1335 * include/grub/video_fb.h: Likewise.
1336 * include/grub/fbfill.h: Updated render_target structure.
1337 grub_video_rect_t viewport, region, area
1338 int area_offset_x, area_offset_y, area_enabled
1339 * include/grub/gui.h: New helper function
1340 grub_video_bounds_inside_region.
1341 * docs/grub-dev.texi: Added information about new functions.
1343 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1345 * grub-core/kern/mm.c (grub_real_malloc): Use AND rather than MOD
1348 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1350 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Add
1352 * grub-core/gdb/cstub.c (grub_gdb_trap): Likewise.
1354 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1356 * grub-core/kern/misc.c (grub_divmod64): Don't fallback to
1357 simple division on arm and ia64.
1359 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1361 * grub-core/kern/arm/misc.S (__aeabi_unwind_cpp_pr0): Add dummy to
1364 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1366 * include/grub/symbol.h (FUNCTION), (VARIABLE): Fix precedence logic.
1368 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1370 * include/grub/symbol.h (FUNCTION), (VARIABLE) [__arm__]: Use % as
1371 prefix symbol, not @.
1373 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1375 * INSTALL: Add note about older gcc and clang.
1377 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1379 * tests/util/grub-shell.in: Boot as hdd on ppc by default.
1381 2013-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1383 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_module): Fix
1384 NULL pointer dereference.
1386 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1388 * grub-core/Makefile.am: Do not include libgcc.h when compiling with
1391 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1393 * grub-core/kern/powerpc/dl.c: Add missing pragma to silence cast-align
1396 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1398 * grub-core/net/net.c (grub_net_route_unregister): Remove unused
1400 * grub-core/loader/i386/xnu.c (hextoval): Likewise.
1401 * grub-core/disk/geli.c (ascii2hex): Likewise.
1403 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1405 * configure.ac: Run linker tests without -Werror.
1406 Define TARGET_LDFLAGS_STATIC_LIBGCC and TARGET_LIBGCC.
1407 Change all occurences of -static-libgcc resp -lgcc to
1408 TARGET_LDFLAGS_STATIC_LIBGCC resp TARGET_LIBGCC.
1410 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1412 * configure.ac: Don't add -no-itegrated-as on clang on non-x86.
1414 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1416 Allow compiling with clang (not really supported though).
1418 * conf/Makefile.common (CFLAGS_PLATFORM): Don't add -mrtd -mregparm=3
1420 * configure.ac: Add -no-integrated-as when using clangfor asm files.
1421 Add -mrtd -mregparm=3 on i386 when not using clang.
1422 * grub-core/kern/misc.c (grub_memset): Add volatile when on clang.
1424 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1426 * grub-core/kern/ieee1275/cmain.c: Add explicit attribute on asm
1428 * grub-core/lib/reed_solomon.c: Likewise.
1429 * include/grub/i386/gdb.h: Likewise.
1430 * include/grub/i386/pc/int.h: Likewise.
1431 * include/grub/i386/pc/pxe.h: Likewise.
1432 * include/grub/ieee1275/ieee1275.h: Likewise.
1434 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1436 Import libgcrypt 1.5.3.
1438 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1440 * configure.ac: Don't add -Wcast-align on x86.
1442 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1444 * configure.ac: Add -freg-struct-return on all platforms that
1447 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1449 * acinclude.m4: Use -Werror on parameter tests.
1450 * configure.ac: Likewise.
1452 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1454 * acinclude.m4: Add missing TARGET_CCASFLAGS on asm tests.
1456 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1458 * configure.ac: Check that -malign-loops works rather than assuming that
1459 either -falign-loops or -malign-loops work.
1461 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1463 * configure.ac: Remove -fnested-functions. We don't need it anymore.
1465 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1467 * configure.ac: Prevent cflags leaking to subsequent tests by always
1468 resetting cflags to target_cflags in target tests.
1470 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1472 * grub-core/kern/parser.c (grub_parser_split_cmdline): Remove nested
1475 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1477 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove nested functions.
1479 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1481 * grub-core/lib/arg.c (grub_arg_parse): Remove nested function.
1483 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1485 * grub-core/normal/cmdline.c (grub_cmdline_get):
1486 Remove nested functions.
1488 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1490 * tests/test_sha512sum.in: Make it work on emu.
1492 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1494 * grub-core/normal/charset.c (bidi_line_wrap): Eliminate nested
1496 (grub_bidi_line_logical_to_visual): Likewise.
1498 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1500 Remove vestiges of -Wunsafe-loop-optimisations.
1502 * conf/Makefile.common (CFLAGS_GNULIB): Remove
1503 -Wno-unsafe-loop-optimisations.
1504 * grub-core/commands/legacycfg.c: Remove -Wunsafe-loop-optimisations
1506 * grub-core/io/gzio.c: Likewise.
1507 * grub-core/script/parser.y: Likewise.
1508 * grub-core/script/yylex.l: Likewise.
1509 * util/grub-mkfont.c: Likewise.
1511 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1513 * util/grub-mkfont.c (process_cursive): Remove nested function.
1515 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1517 * include/grub/misc.h (grub_dprintf): Use unnamed vararg.
1518 (grub_boot_time): Likewise.
1520 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1522 * include/grub/symbol.h (FUNCTION): Use @function rather than
1524 (VARIABLE): Likewise.
1526 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1528 * grub-core/net/bootp.c (OFFSET_OF): Explicitly cast to grub_size_t.
1530 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1532 * grub-core/net/bootp.c (set_env_limn_ro): Make pointer const.
1533 (parse_dhcp_vendor): Likewise.
1535 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1537 * util/grub-mkimagexx.c (relocate_symbols): Remove unneeded brackets.
1539 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1541 * grub-core/gettext/gettext.c (main_context), (secondary_context):
1542 Define after defining type and not before.
1544 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1546 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Return right error
1548 (grub_gcm_decrypt): Likewise.
1549 (algo_decrypt): Likewise.
1550 (grub_zfs_decrypt_real): Transform error type.
1552 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1554 * grub-core/disk/geli.c (geli_rekey): Fix error return type.
1556 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1558 * grub-core/disk/usbms.c (grub_usbms_cbi_cmd): Fix error type.
1559 (grub_usbms_cbi_reset): Likewise.
1560 (grub_usbms_bo_reset): Likewise.
1561 (grub_usbms_reset): Likewise.
1562 (grub_usbms_attach): Likewise.
1563 (grub_usbms_transfer_cbi): Likewise.
1565 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1567 * grub-core/io/lzopio.c (test_header): Simplify code and remove useless
1568 "checksum = checksum;".
1570 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1572 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix type of
1575 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1577 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel): Fix
1580 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1582 * grub-core/bus/usb/ehci.c (grub_ehci_restore_hw): Return right enum
1584 (grub_ehci_fini_hw): Likewise.
1585 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
1587 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1589 * include/grub/usb.h (grub_usb_controller_dev): Make portstatus
1590 return grub_usb_err_t for cosistency. All users updated.
1592 2013-11-07 Vladimir Serbinenko <phcoder@gmail.com>
1594 * util/mkimage.c (SzAlloc): Use attribute unused rather than dubious
1595 assigning to itself.
1597 2013-11-05 Gustavo Luiz Duarte <gustavold@linux.vnet.ibm.com>
1598 2013-11-05 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1600 Issue separate DNS queries for ipv4 and ipv6
1602 Adding multiple questions on a single DNS query is not supportted by
1603 most DNS servers. This patch issues two separate DNS queries
1604 sequentially for ipv4 and then for ipv6.
1606 Fixes: https://savannah.gnu.org/bugs/?39710
1608 * grub-core/net/bootp.c (parse_dhcp_vendor): Add DNS option.
1609 * grub-core/net/dns.c (grub_dns_qtype_id): New enum.
1610 * (grub_net_dns_lookup): Now using separated dns packages.
1611 * (grub_cmd_nslookup): Add error condition.
1612 * (grub_cmd_list_dns): Print DNS option.
1613 * (grub_cmd_add_dns): Add four parameters: --only-ipv4, --only-ipv6,
1614 --prefer-ipv4, and --prefer-ipv6.
1615 * include/grub/net.h (grub_dns_option_t): New enum.
1616 * (grub_net_network_level_address): option added.
1618 2013-11-05 Vladimir Testov <vladimir.testov@rosalab.ru>
1620 * grub-core/video/fb/video_fb.c: Merge two blit functions
1623 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1625 * grub-core/term/terminfo.c: Add sequences for home and end.
1627 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1629 * grub-core/lib/legacy_parse.c: Fix handling of hercules and add
1632 2013-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1634 * grub-core/video/i386/pc/vga.c: Fix double bufferring and
1637 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1639 * docs/grub.texi (Vendor power-on keys): Add XPS M1330M based on old
1640 e-mail by Per Öberg.
1642 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1644 * grub-core/commands/i386/nthibr.c (GRUB_MOD_INIT): Fix typo in command
1647 2013-11-04 Andrey Borzenkov <arvidjaar@gmail.com>
1649 * configure.ac: Explicitly disable emusdl, emuusb and emupci on non-
1651 * grub-core/Makefile.core.def: Enable emupci and emuucb only for emu.
1653 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1655 * docs/grub.texi: Document usage of menuentry id.
1657 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1659 * docs/grub.texi: Add few mentions about EFI, debug and videoinfo.
1661 2013-11-04 Peter Lustig <peter.lustig.7db@gmail.com>
1663 * grub-core/commands/i386/nthibr.c: New command.
1665 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1667 * grub-core/tests/video_checksum.c: Add 2560x1440 mode to testing.
1669 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1671 * include/grub/term.h (grub_term_coordinate): Extend to 16-bit per
1674 2013-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1676 Support GRUB_DISABLE_SUBMENU config.
1678 Inspired by patch from Prarit Bhargava.
1680 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1682 * docs/grub.texi: Mention RSA support.
1684 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1686 * grub-core/commands/verify.c: Add RSA support.
1688 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1690 * grub-core/disk/ahci.c (grub_ahci_pciinit): Detect ATAPI devices.
1691 * grub-core/disk/ata.c (grub_ata_identify): Use atapi_identify if
1692 device is known to be ATAPI.
1694 2013-11-03 Mike Frysinger <vapier>
1696 * configure.ac: Don't add target-prefix.
1698 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1700 * grub-core/commands/loadenv.c (grub_cmd_save_env): Remove unset
1703 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1705 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Ignore errors
1706 if language is English.
1708 2013-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1710 * grub-core/osdep/linux/getroot.c: Fix cast-align problems.
1712 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1714 * configure.ac: Don't add -m32/-m64 on emu.
1718 * grub-core/osdep/linux/blocklist.c: Include linux/types.h for some
1719 broken linux headers.
1721 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1723 * util/grub.d/30_os-prober.in: Add unhiding of partition if on msdos.
1725 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1727 * grub-core/lib/reed_solomon.c (grub_reed_solomon_recover): Don't do
1728 Reed-Solomon recovery if more than half of redundancy info is 0.
1730 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1732 * util/grub-mount.c: Handle symlinks to directories.
1734 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1736 * grub-core/fs/fshelp.c (find_file): Save ctx->next when calling
1737 find_file recursively for symlink.
1739 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1741 * tests/util/grub-shell.in: Copy themes.
1743 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1745 * util/grub-mkimagexx.c (locate_sections): Reject mislinked images.
1747 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1749 * configure.ac: Use 0x8000 for address instead of 8000.
1751 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1753 * grub-core/loader/sparc64/ieee1275/linux.c (get_physbase): Fix
1756 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1758 * grub-core/disk/efi/efidisk.c (grub_efidisk_readwrite): Remove unused
1761 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1763 * configure.ac (TARGET_CFLAGS): Add -march=i386 on i386.
1765 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1767 * grub-core/fs/hfspluscomp.c (hfsplus_read_compressed_real): Call
1768 file_progress_read_hook.
1769 * grub-core/fs/ntfscomp.c (hfsplus_read_compressed_real): Likewise.
1771 2013-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1773 * conf/Makefile.common (CFLAGS_PLATFORM): Remove poisoning of float
1776 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1778 * grub-core/fs/tar.c (grub_cpio_read): Add read_hook.
1780 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1782 Rewrite blocklist functions in order to get progress when
1783 reading large extents and decrease amount of blocklist hook calls.
1785 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1787 * grub-core/term/serial.c (options), (grub_cmd_serial): Fix handling
1790 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1792 Support --base-clock for serial command to handle weird cards with
1793 non-standard base clock.
1795 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1797 * grub-core/fs/ext2.c (grub_ext2_read_symlink): Use memcpy rather
1799 * grub-core/fs/jfs.c (grub_jfs_lookup_symlink): Likewise.
1800 * grub-core/kern/misc.c (grub_strncpy): Move from here ...
1801 * include/grub/misc.h (grub_strncpy): ... to here. Make inline.
1802 * grub-core/net/net.c (grub_net_addr_to_str): Use COMPILE_TIME_ASSERT
1803 + strcpy rather than strncpy.
1805 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1807 * grub-core/fs/zfs/zfs.c (nvpair_name): Use correct type for size.
1808 (check_pool_label): Likewise. Fixes overflow.
1809 (nvlist_find_value): Fix comparison.
1811 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1813 * include/grub/misc.h (grub_strcat): Removed. All users changed to
1814 more appropriate functions.
1816 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1818 * grub-core/kern/efi/efi.c (grub_efi_get_filename): Avoid inefficient
1821 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1823 * util/grub-mkrescue.in: Do not use UUID search on EFI.
1825 2013-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1827 * grub-core/kern/dl.c: Unify section-finding algorithm. Saves 30 bytes
1830 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1832 * grub-core/kern/mm.c (grub_realloc): Don't copy more data than we have.
1834 2013-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1836 * grub-core/io/gzio.c (huft_build): Use zalloc for safety.
1837 (initialize_tables): reset tl and td to NULL after freeing.
1839 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1841 * grub-core/loader/multiboot_mbi2.c: Implement network tag.
1843 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1845 * grub-core/loader/multiboot_mbi2.c: Add EFI memory map to the list
1848 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1850 * grub-core/loader/multiboot_mbi2.c: Implement EFI memory map.
1852 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1854 * grub-core/loader/multiboot.c: Add support for multiboot kernels
1857 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1859 * grub-core/loader/i386/linux.c (allocate_pages): Allocate at least
1860 a page in protected space.
1862 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1864 * grub-core/loader/multiboot.c (grub_cmd_module): Don't attempt to
1865 allocate space for zero-sized modules.
1867 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1869 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Reject empty images.
1871 2013-10-28 Francesco Lavra <francescolavra.fl@gmail.com>
1873 * grub-core/lib/fdt.c: Fix miscellaneous bugs.
1875 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1877 * grub-core/lib/progress.c (grub_file_progress_hook_real): Add missing
1878 safeguards. Fixes a crash with i386/pc/console.c.
1880 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1882 * include/grub/emu/hostdisk.h: Add proper declaration for grub_host_init
1883 and grub_hostfs_init.
1885 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1887 * grub-core/kern/emu/hostdisk.c (grub_util_check_file_presence): Use
1888 windows method on other platforms without good stat as well.
1890 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1892 * grub-core/osdep/linux/getroot.c: Add new btrfs defines.
1894 2013-10-28 Vladimir Serbinenko <phcoder@gmail.com>
1896 Make / in btrfs refer to real root, not the default volume.
1897 Modify mkrelpath to work even if device is mounted with subvolid option.
1899 2013-10-28 Andrey Borzenkov <arvidjaar@gmail.com>
1901 * Makefile.util.def: Add grub-core/kern/disk_common.c to library
1903 * grub-core/Makefile.core.def: Add kern/disk_common.c to disk module
1906 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1908 * util/grub-mkfont.c (main): Show error message when FT_Set_Pixel_Sizes
1911 2013-10-27 BVK Chaitanya <bvk.groups@gmail.com>
1913 * docs/autoiso.cfg: New file.
1915 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1917 * configure.ac: Remove leftover COND_BUILD_GRUB_MKFONT and
1918 COND_GRUB_PE2ELF conditions.
1920 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1922 * grub-core/loader/i386/bsd.c (grub_cmd_openbsd): Accept "sd", "cd",
1923 "vnd", "rd" and "fd" disks.
1925 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1927 Move grub_disk_write out of kernel into disk.mod.
1929 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1931 * grub-core/kern/misc.c (grub_vsnprintf_real): Unify int and wchar
1934 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1936 * grub-core/kern/misc.c (grub_abort): Make static
1938 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1940 * grub-core/kern/misc.c (grub_vsnprintf_real): Don't attempt to
1941 transform invalid unicode codepoints.
1943 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1945 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
1948 2013-10-27 Vladimir Serbinenko <phcoder@gmail.com>
1950 * grub-core/lib/legacy_parse.c: Add support for "nd" disk.
1952 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1954 Consolidate cpuid code.
1956 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1958 Move cpuid code to cpuid.h and TSC code to tsc.c.
1960 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1962 * util/grub.d/00_header.in: Don't use LANG if it's not set.
1964 2013-10-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1966 * util/grub-mkconfig.in: Replace $0 with $self.
1967 * util/grub-reboot.in: Likewise.
1968 * util/grub-set-default.in: Likewise.
1970 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1972 * docs/osdetect.cfg: New file.
1974 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1976 * tests/util/grub-shell.in: Add new --debug option.
1978 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1980 * tests/test_unset.in: New test.
1982 2013-10-26 BVK Chaitanya <bvk.groups@gmail.com>
1984 * tests/test_sha512sum.in: New test.
1986 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1988 * grub-core/fs/iso9660.c: Replace strncat with memcpy.
1989 * include/grub/misc.h: Remove strncat.
1990 * grub-core/lib/posix_wrap/string.h: Likewise.
1992 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
1994 * grub-core/net/tftp.c: Retransmit ack when rereceiving old packet.
1995 Try to handle more than 0xFFFF packets.
1996 Reported by: Bernhard Übelacker <bernhardu>.
1997 He also spotted few overflows in first version of this patch.
1999 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2001 * tests/date_unit_test.c: New test.
2003 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2005 * grub-core/normal/datetime.c (grub_unixtime2datetime): Fix mishandling
2006 of first three years after start of validity of unixtime.
2008 2013-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2010 * grub-core/normal/menu_entry.c (get_logical_num_lines): Use unsigned
2011 division as the one making more sense.
2012 (update_screen): Likewise.
2013 (complete): Likewise.
2015 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2017 * grub-core/normal/menu_entry.c (complete): Make sure that width is >0.
2019 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2021 Make char and string width grub_size_t rather than grub_ssize_t.
2023 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2025 * grub-core/normal/cmdline.c (grub_history_get): Make argument into
2027 (grub_history_replace): Likewise.
2029 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2031 * grub-core/disk/raid6_recover.c: Use unsigned arithmetics when
2034 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2036 * grub-core/video/bitmap_scale.c: Use unsigned arithmetics when
2039 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2041 * grub-core/video/fb/fbblit.c: Use (255 ^ x) rather than (255 - x).
2042 Use unsigned divisions rather than signed variants.
2044 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2046 * grub-core/video/readers/png.c (grub_png_convert_image): Use
2047 unsigned arithmetics.
2050 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2052 * grub-core/video/readers/jpeg.c: Use unsigned where appropriate.
2054 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2056 * grub-core/fs/zfs/zfs.c (xor_out): Use unsigned modular arithmetics
2057 rather than signed one.
2058 (recovery): Likewise.
2060 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2062 * grub-core/net/dns.c (hash): Use unsigned arithmetic.
2064 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2066 * grub-core/io/gzio.c (test_zlib_header): Use undigned modulo rather
2069 2013-10-25 Jon McCune <jonmccune@google.com>
2071 * docs/grub.texi: Cleanup security documentation around signatures.
2073 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2075 * grub-core/fs/ext2.c (EXT2_BLOCK_SIZE): Make unsigned.
2077 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2079 * grub-core/commands/gptsync.c (lba_to_chs): Use proper types rather
2082 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2084 * conf/Makefile.common (CPPFLAGS_KERNEL): Add -DGRUB_KERNEL=1.
2085 * include/grub/dl.h (GRUB_MOD_INIT), (GRUB_MOD_FINI): Define
2086 functions when compiling for kernel.
2088 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2090 * grub-core/lib/progress.c (grub_file_progress_hook_real): Cast to
2091 unsigned long long when using %llu.
2093 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2095 * grub-core/lib/progress.c (grub_file_progress_hook_real): Refresh
2096 terminal after updating progress.
2098 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2100 * grub-core/boot/i386/pc/startup_raw.S (grub_gate_a20): Remove
2101 argument. We don't disable Gate A20 in this code.
2103 2013-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2105 * grub-core/boot/i386/qemu/boot.S: Ensure that A20 is enabled.
2106 Conceptually based on change in branch "vbe-on-coreboot".
2108 2013-10-24 Robert Millan <rmh@gnu.org>
2110 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Replace
2111 numeric constants with their symbolic equivalent.
2112 Taken from branch "vbe-on-coreboot".
2114 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2116 * docs/grub.texi: Fix ordering and use pxref rather than xref.
2118 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2120 * grub-core/lib/progress.c (grub_file_progress_hook_real): Use
2121 divmod64 for offset division.
2123 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2125 Rename .bzrignore to .gitignore. Add "*.o" rule.
2127 * .bzrignore: Renamed to...
2128 * .gitignore: ...this.
2130 2013-10-22 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
2132 Add new progress module that displays the load progress of files.
2134 * grub-core/lib/progress.c: New file.
2135 * grub-core/Makefile.core.def (progress): New module.
2136 * grub-core/kern/file.c (grub_file_open): File name added.
2137 * (grub_file_read): Progress hook added.
2138 * grub-core/fs/cbfs.c (grub_cbfs_read): Likewise.
2139 * grub-core/fs/cpio_common.c (grub_cpio_read): Likewise.
2140 * grub-core/net/net.c (grub_net_fs_read_real): Likewise.
2141 * include/grub/file.h (struct grub_file): Add progress module members.
2142 * include/grub/term.h (struct grub_term_output): Likewise.
2143 * grub-core/osdep/unix/emuconsole.c (grub_console_term_output):
2144 Terminal velocity added.
2145 * grub-core/osdep/windows/emuconsole.c (grub_console_term_output): Likewise.
2146 * grub-core/term/arc/console.c (grub_console_term_output): Likewise.
2147 * grub-core/term/efi/console.c (grub_console_term_output): Likewise.
2148 * grub-core/term/gfxterm.c (grub_video_term): Likewise.
2149 * grub-core/term/i386/coreboot/cbmemc.c (grub_cbmemc_term_output): Likewise.
2150 * grub-core/term/i386/pc/console.c (grub_console_term_output): Likewise.
2151 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_term): Likewise.
2152 * grub-core/term/ieee1275/console.c (grub_console_term_output): Likewise.
2153 * grub-core/term/morse.c (grub_audio_term_output): Likewise.
2154 * grub-core/term/serial.c (grub_serial_term_output): Likewise.
2155 * grub-core/term/spkmodem.c (grub_spkmodem_term_output): Likewise.
2156 * grub-core/term/uboot/console.c (uboot_console_term_output): Likewise.
2158 2013-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2160 Verify signatures of signatures unless --skip-sig is specified.
2162 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2164 * grub-core/kern/misc.c (grub_vsnprintf_real): Remove needless explicit
2167 Saves 70 bytes on compressed image.
2169 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2171 * grub-core/kern/misc.c (grub_strtoull): Remove needless *ptr != 0
2174 Saves 10 bytes on compressed image.
2176 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2178 * grub-core/kern/misc.c (grub_isprint): Move to ...
2179 * include/grub/misc.h (grub_isprint): ... here. Make inline.
2181 Saves 20 bytes on compressed image due to remving exporting.
2183 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2185 * grub-core/fs/ntfs.c (grub_ntfs_mount): Remove redundant check.
2187 Saves 5 bytes on compressed image.
2189 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2191 * grub-core/fs/ntfs.c: Move common UTF-16 handling to a separate
2194 Saves 379 bytes on compressed image.
2196 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2198 * grub-core/fs/ntfs.c: Handle 48-bit MFT no.
2200 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2202 * grub-core/fs/ntfs.c (read_run_data): Rewrite using bitfields.
2204 Saves 40 bytes on compressed image.
2206 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2208 * grub-core/fs/ntfs.c (grub_ntfs_iterate_dir): Use grub_uint8_t for
2209 mask rather than 64-bit type.
2211 Saves 20 bytes on compressed image.
2213 2013-10-21 Vladimir Serbinenko <phcoder@gmail.com>
2215 * grub-core/fs/ntfs.c (read_data): Move code for compressed data to ...
2216 * grub-core/fs/ntfscomp.c (ntfscomp): ... here.
2218 Saves 273 bytes on compressed image.
2220 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2222 * grub-core/kern/disk.c (grub_disk_write): Use malloc/free instead of
2223 variable length arrays.
2225 Saves 50 bytes on compressed image.
2227 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2229 * grub-core/loader/i386/bsd.c: Remove variable length arrays.
2231 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2233 * grub-core/fs/ufs.c: Remove variable length arrays.
2235 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2237 * grub-core/fs/ntfs.c: Add comment about fixed allocation size.
2239 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2241 * grub-core/fs/zfs.c: Remove variable length arrays.
2242 Reduces zfs.mod by 160 bytes (208 compressed).
2244 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2246 * grub-core/fs/zfs/zfs.c (check_pool_label): Fix memory leak.
2248 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2250 * grub-core/net/arp.c: Remove variable length arrays.
2251 * grub-core/net/bootp.c: Likewise.
2252 * grub-core/net/dns.c: Likewise.
2253 * grub-core/net/icmp6.c: Likewise.
2254 * grub-core/net/net.c: Likewise.
2256 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2258 * grub-core/fs/ntfs.c: Remove variable length arrays.
2259 Increases ntfs.mod by 64 bytes (but decreases by 3 when
2262 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2264 * grub-core/fs/hfs.c: Remove variable length arrays.
2265 Reduces hfs.mod by 8 bytes (52 compressed).
2267 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2269 * grub-core/fs/udf.c: Remove variable length arrays.
2270 Increases udf.mod by 128 bytes (but decreases by 13 when
2273 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2275 * grub-core/fs/iso9660.c: Remove variable length arrays.
2276 Increases iso9660.mod by 200 bytes (but decreases by 79 when
2279 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2281 * grub-core/fs/nilfs2.c: Remove variable length arrays.
2282 Increases nilfs2.mod by 24 bytes (but decreases by 115 when
2285 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2287 * grub-core/fs/xfs.c: Remove variable length arrays.
2288 Reduces xfs.mod by 40 bytes (43 compressed).
2290 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2292 * grub-core/fs/fshelp.c: Remove variable length arrays.
2293 Reduces fshelp.mod by 116 bytes (23 compressed).
2295 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2297 * grub-core/normal/completion.c: Remove variable length arrays.
2298 * grub-core/normal/menu_entry.c: Likewise.
2300 Reduces normal.mod by 496 bytes.
2302 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2304 * grub-core/fs/minix.c: Remove variable length arrays. Reduces jfs.mod
2305 by 356 bytes (158 compressed).
2307 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2309 * grub-core/fs/jfs.c: Remove variable length arrays. Reduces jfs.mod
2310 by 364 bytes (169 compressed).
2312 2013-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2314 * grub-core/fs/bfs.c: Remove variable length arrays. Reduces afs.mod and
2315 bfs.mod size by 556 resp 740 bytes (288 resp 334 compressed).
2316 * include/grub/types.h (grub_unaligned_uint64_t): New type.
2318 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2320 Lift 255x255 erminal sie restriction to 65535x65535. Also change from
2321 bitmasks to small structures of size chosen to fit in registers.
2323 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2325 * conf/Makefile.common: Use -freg-struct-return on i386. This
2326 decreases code size and improves performance.
2328 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2330 * grub-core/osdep/unix/exec.c: Fix compilation error on emu.
2332 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2334 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix formatting of
2336 Simplify expressions to save around 256 bytes in kernel.img.
2337 * tests/printf_unit_test.c (printf_test): Add "(null)" tests.
2339 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2341 * grub-core/tests/video_checksum.c (grub_video_capture_write_bmp):
2342 Use GRUB_UTIL_FD_O_* rather than O_*.
2344 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2346 Add haiku-specific functions.
2348 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2350 * grub-core/kern/emu/hostdisk.c: Remove few leftover includes.
2352 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2354 Move stat () and device mode checking into OS-dependent files as
2355 long as performance doesn't suffer.
2357 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2359 Split make_system_path_relative_to_its_root into separate file
2360 relpath.c from getroot.c as it's common between unix and haiku
2361 but otherwise haiku doesn't use any functions from unix getroot.c.
2363 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2365 * grub-core/osdep/aros/hostdisk.c (grub_util_is_directory):
2367 (grub_util_is_special_file): Likewise.
2369 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2371 * grub-core/osdep/unix/getroot.c: Move exec functions to ...
2372 * osdep/unix/exec.c: ... here. Add few additional exec_* variants.
2374 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2376 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Define size_t to
2377 grub_size_t. This fixes the case when size_t mismatches grub_size_t.
2379 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2381 * util/grub-mkimagexx.c (make_reloc_section): Fix memory leak.
2382 (load_image): Likewise.
2384 2013-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2386 * util/grub-render-label.c: Move backend part to ...
2387 * util/render-label.c: ... here.
2389 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2391 * grub-core/osdep/random.c: Use unix/random.c on haiku. Haiku uses
2392 yarrow (by B. Schneier et al) for its /dev/urandom (similar to FreeBSD).
2394 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2396 * grub-core/osdep/generic/blocklist.c: Add missing include to string.h.
2398 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2400 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Handle
2401 CD-ROM in case when it's declared as having subpartitions.
2403 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2405 Don't add -lm on haiku.
2407 * configure.ac: Define BUILD_LIBM to -lm on most platforms
2409 * grub-core/Makefile.am (gentrigtables): Use $(BUILD_LIBM) rather than
2412 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2414 * configure.ac: Use -melf_*_haiku as target on haiku.
2416 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2418 * Makefile.util.def: Add util/setup.c to extra_dist.
2420 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2422 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Pass
2423 unknown types through.
2425 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2427 * grub-core/osdep/unix/getroot.c (grub_util_check_block_device): Remove.
2428 (grub_util_check_char_device): Likewise.
2429 * include/grub/emu/getroot.h: Likewise.
2431 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2433 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Use define for defining
2434 memset rather than inline static function.
2436 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2438 * grub-core/lib/xzembed/xz_config.h: Enable all bcj filters when
2439 not doing embedded decompressor.
2441 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2443 * grub-core/disk/ldm.c: Rename variables and arguments to prevent
2445 * grub-core/kern/disk.c: Likewise.
2446 * grub-core/kern/misc.c: Likewise.
2447 * include/grub/parser.h: Likewise.
2448 * include/grub/script_sh.h: Likewise.
2449 * include/grub/zfs/zfs.h: Likewise.
2451 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2453 * grub-core/disk/luks.c (configure_ciphers): Fix spurious warning.
2455 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2457 * grub-core/fs/zfs/zfs_lz4.c: Check that __INTEL_COMPILER is
2458 defined before trying to use it.
2460 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2462 * grub-core/fs/affs.c (grub_affs_create_node): Fix uninited value
2465 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2467 * include/grub/dl.h: Remove double declaration of GRUB_MOD_DEP.
2468 Use __unused__ rather than __used__ on gcc < 3.2.
2470 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2472 * include/grub/setjmp.h: Define RETURNS_TWICE. Keep it empty for
2474 * include/grub/*/setjmp.h: USe RETURNS_TWICE.
2476 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2478 * grub-core/disk/dmraid_nvidia.c: Fix potentially uninited "layout".
2480 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2482 * include/grub/misc.h: Don't use warn_unused_result on gcc < 3.4.
2483 * include/grub/emu/misc.h: Likewise.
2485 2013-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2487 * grub-core/term/i386/pc/vga_text.c: Remove extra declaration of
2490 2013-10-18 Vladimir Testov <vladimir.testov@rosalab.ru>
2492 * grub-core/tests/checksums.h: Regenerated due to progress bar
2493 get_minimal_size changes.
2495 2013-10-17 BVK Chaitanya <bvk.groups@gmail.com>
2497 Added `tr' command support.
2499 * grub-core/commands/tr.c: New file.
2500 * grub-core/Makefile.core.def: Build rules for new module.
2502 * tests/grub_cmd_tr.in: New test.
2503 * Makefile.util.def: Build rules for new test.
2505 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2507 * grub-core/gfxmenu/gui_progress_bar.c: Sanity checks added.
2509 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2511 * grub-core/gfxmenu/gui_progress_bar.c: New option ``highlight_overlay``
2512 * docs/gurb.texi: Likewise.
2514 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2516 * grub-core/gfxmenu/gui_progress_bar.c (draw_pixmap_bar): Fixed bug.
2517 Pixmap highlighted section with east and west slices was displayed
2518 incorrectly due to negative width of the central slice.
2520 2013-10-17 Vladimir Testov <vladimir.testov@rosalab.ru>
2522 * docs/grub.texi: Graphical options information update.
2523 Removed outdated. Updated current. Inserted missed.
2525 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2527 * docs/grub.texi: Mention few new platform-specific commands.
2529 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2531 * grub-core/script/yylex.l: Fix LSQBR2 and RSQBR2. It's not
2532 currently used so this doesn't really have any effect.
2533 Reported by: Douglas Ray <dougray>
2535 2013-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2537 * autogen.sh: Don't set LC_CTYPE as it doesn't create problem for
2538 compilation but prevents gcc from displaying messages in non-Latin
2540 * conf/Makefile.common: Likewise.
2542 2013-10-16 Hiroyuki YAMAMORI
2544 Handle Japanese special keys.
2545 Reported by: Hiroyuki YAMAMORI.
2546 Codes supplied by: Hiroyuki YAMAMORI.
2548 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2550 * grub-core/gfxmenu/gui_list.c: Scrollbar sanity checks added.
2552 2013-10-16 Vladimir Testov <vladimir.testov@rosalab.ru>
2554 * grub-core/gfxmenu/gui_list.c: New option `item_pixmap_style`.
2555 * docs/grub.texi: Likewise.
2557 2013-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2559 * grub-core/osdep/unix/hostdisk.c (grub_util_fd_read): Return correct
2560 value in case of incomplete read.
2561 (grub_util_fd_write): Likewise.
2563 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2565 * util/editenv.c (grub_util_create_envblk_file): Use grub_util_rename.
2567 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2569 * util/grub-editenv.c (create_envblk_file): More from here ...
2570 * util/editenv.c (grub_util_create_envblk_file): ... to here.
2572 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2574 * grub-core/osdep/unix/getroot.c (grub_guess_root_devices):
2575 canonicalize file name before doing the rest.
2577 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2579 * include/grub/osdep/hostfile_windows.h: Add missing ftello for
2582 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2584 Define grub_util_is_directory/regular/special_file and
2585 use OS-dependent versions rather than to rely on stat().
2587 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2589 * util/grub-mkimage.c: Move backend part to ...
2590 * util/mkimage.c: ... here.
2592 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2594 Allow compilation with mingw64 albeit with warnings due to lack of
2597 * grub-core/gnulib/msvc-inval.c: Use __cdecl rather than cdecl.
2598 * grub-core/lib/posix_wrap/wchar.h: Define wint_t.
2599 * grub-core/lib/posix_wrap/wctype.h: Define wctype_t.
2600 * include/grub/osdep/hostfile_windows.h: Don't define fseeko/ftello
2602 * include/grub/types.h: Allow sizeof (long) != sizeof (void *).
2604 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2606 Remove leftover references to some of the system headers.
2608 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2610 * grub-core/disk/geli.c (grub_util_get_geli_uuid): Close handle after
2613 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2615 * grub-core/disk/cryptodisk.c: Use grub_util_fd_strerror instead
2618 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2620 Split out blocklist retrieving from setup.c to
2621 grub-core/osdep/blocklist.c and add windows implementation since
2622 generic version doesn't work on NTFS on Windows due to aggressive
2625 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2627 Split grub-setup.c into frontend (grub-setup.c) and backend (setup.c)
2630 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2632 * grub-core/osdep/windows/hostdisk.c (grub_util_fd_strerror):
2633 Cut tailing newline. Remove arbitrary limitation. Always use
2634 grub_util_tchar_to_utf8.
2636 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2638 * grub-core/kern/misc.c (grub_vsnprintf_real): Handle %% properly.
2639 * tests/printf_unit_test.c (printf_test): Add %% tests.
2640 Reported by: Paulo Flabiano Smorigo.
2642 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2644 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: Really
2647 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2649 * configure.ac: Check for nvlist_lookup_string in nvpair since we
2650 use nvlist_lookup_string and don't use nvlist_print.
2652 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2654 Add wrappers around rename, unlink, mkdir, opendir, readdir and
2655 closedir to handle filename charset translation.
2657 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2659 * include/grub/emu/hostdisk.h: Move file operations to
2660 * include/grub/emu/hostfile.h: ... here.
2662 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2664 * grub-core/osdep/windows/hostdisk.c (canonicalize_file_name): Handle
2667 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2669 * grub-core/tests/checksums.h: Regenerate due to swiss.sed change.
2671 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2673 Move cpu time retrieval to separate grub_util_get_cpu_time_ms
2674 and remove export.h.
2676 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2678 * grub-core/kern/emu/error.c: Removed.
2679 * grub-core/Makefile.core.def (kernel): Don't add error.c and progname.c
2680 explicitly as it's already in libgnu.a.
2682 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2684 * grub-core/osdep/windows/emuconsole.c: Add missing config.h and
2685 config-util.h include.
2687 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2689 Split emunet into platform-dependent and GRUB-binding parts. Keep
2690 platform-dependent part in kernel for easy access to OS functions.
2692 2013-10-15 Vladimir Serbinenko <phcoder@gmail.com>
2694 * grub-core/tests/video_checksum.c: Use grub_util_fd_* rather than
2697 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2699 * grub-core/osdep/windows/emuconsole.c: New file.
2701 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2703 * conf/Makefile.extra-dist: Add osdep/*/init.c
2705 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2707 * Makefile.am: Use TARGET_OBJCOPY when doing objcopy for target.
2709 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2711 * util/grub-probe.c (probe): Separate different drives in hint-str
2712 by spaces and not newlines.
2713 * util/grub-mkconfig_lib.in: Handle multidevice filesystem.
2715 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2717 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
2720 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2722 Pass-through unknown E820 types. It required reorganisation of mmap
2725 2013-10-14 Andrey Borzenkov <arvidjaar@gmail.com>
2727 * Makefile.util.def: Add osdep/init.c to grub-mount files.
2729 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2731 Make grub_util_fd_seek match behaviour of other grub_util_fd_* and
2734 2013-10-14 qwertial <qwertial>
2736 * grub-core/gdb_grub.in: Fix overflow and wrong field.
2738 2013-10-14 Jon McCune <jonmccune@google.com>
2740 * docs/grub.texi: Document new signatures possibility.
2742 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2744 Define GRUB_UTIL_FD_O_* and always use them with grub_util_fd_open.
2746 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2748 * include/grub/osdep/hostfile_windows.h (grub_util_utf8_to_tchar): Add
2750 (grub_util_tchar_to_utf8): Likewise.
2752 2013-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2754 * grub-core/Makefile.core.def: Add osdep/init.c on emu.
2755 * grub-core/kern/emu/main.c: Add missing include.
2756 * grub-core/osdep/basic/init.c (grub_util_host_init) [!GRUB_UTIL]:
2757 Don't call grub_util_init_nls.
2758 * grub-core/osdep/windows/init.c (grub_util_host_init) [!GRUB_UTIL]:
2761 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2763 * util/misc.c (grub_util_get_image_size): Use FILE functions rather than
2766 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2768 * util/grub-editenv.c: Remove leftover set_program_name and init_nls.
2770 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2772 * include/grub/misc.h: Use gnu_printf only on gcc 4.4 or later.
2774 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2776 Add a wrapper for fopen. On unix-like systems just pass-through. On
2777 windows use unicode version.
2779 2013-10-13 Vladimir Serbinenko <phcoder@gmail.com>
2781 Move set_program_name and init_nls to host_init. On windows
2782 fix in this fuction console and argument charset as well.
2784 2013-10-12 Andrey Borzenkov <arvidjaar@gmail.com>
2786 Fix inconsistent use of GRUB_CRYPTODISK_ENABLE and
2787 GRUB_ENABLE_CRYPTODISK.
2789 * util/grub-install.in: Rename all GRUB_CRYPTODISK_ENABLE to
2790 GRUB_ENABLE_CRYPTODISK.
2791 * util/grub-mkconfig_lib.in: Likewise.
2793 2013-10-12 Christian Cier-Zniewski <c.cier@gmx.de>
2795 * docs/grub.texi (Vendor power-on keys): Add Dell Latitude E4300.
2797 2013-10-12 Melki Christian <Christian.melki@saabgroup.com>
2799 * grub-core/term/at_keyboard.c [DEBUG_AT_KEYBOARD]: Fix compilation
2800 error when enabling debug.
2802 2013-10-12 Ilya Bakulin <Ilya_Bakulin@genua.de>
2804 * configure.ac: Use -melf_*_obsd on openbsd.
2806 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2808 * grub-core/kern/arm/dl_helper.c: Use more proper %p for pointer.
2810 2013-10-12 Vladimir Serbinenko <phcoder@gmail.com>
2812 * include/grub/misc.h: Use gnu_printf rather than printf as format
2813 template since our functions are independent of libc.
2815 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2817 * util/grub-setup.c (setup): Move copying of partition table as
2818 futher up as possible to avoid possible overwrite by floppy routines.
2820 2013-10-11 Vladimir Serbinenko <phcoder@gmail.com>
2822 * grub-core/fs/fat.c: Fix handling of exfat contiguous files.
2824 2013-10-10 Vladimir Testov <vladimir.testov@rosalab.ru>
2826 * grub-core/gfxmenu/gui_list.c: New option `scrollbar_thumb_overlay`.
2827 * docs/grub.texi: Likewise.
2829 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2831 * util/getroot.c (make_device_name): Remove dos_part and bsd_part as
2832 it's mostly unused. Move vestiges to the callers.
2834 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2836 * util/grub-mkpasswd-pbkdf2.c: Remove temporary buffers for hex
2837 version of salt and hash. Use grub_snprintf rather than snprintf.
2839 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2841 * docs/grub.texi: Fix problem with braces.
2843 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2845 * conf/Makefile.extra-dist: Fix extra-dist list.
2846 * grub-core/Makefile.core.def: Likewise.
2848 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2850 * docs/grub.texi: Document disk names used on Windows and AROS.
2852 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2854 * grub-core/osdep/aros/getroot.c: Change to //: prefix as discussed
2856 * grub-core/osdep/aros/hostdisk.c: Likewise.
2858 2013-10-10 Vladimir Serbinenko <phcoder@gmail.com>
2860 Avoid including hostfile.h when not necessarry as it pulls
2861 in OS-specific headers which may redefine generic names
2864 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2866 * grub-core/gfxmenu/gui_list.c: New options for scrollbar padding:
2867 scrollbar_left_pad, scrollbar_right_pad, scrollbar_top_pad,
2868 scrollbar_bottom_pad
2869 * docs/grub.texi: Likewise.
2871 2013-10-09 Vladimir Testov <vladimir.testov@rosalab.ru>
2873 * grub-core/gfxmenu/gui_list.c (list_destroy): Fixed memory leak.
2875 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2877 Move OS-dependent file definitions to include/grub/osdep/hostfile*.h.
2879 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2881 * include/grub/emu/hostdisk.h (grub_hostdisk_linux_find_partition):
2883 * grub-core/osdep/linux/hostdisk.c (grub_hostdisk_linux_find_partition):
2886 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2888 * include/grub/emu/getroot.h (grub_util_find_hurd_root_device): Remove
2891 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2893 Move OS-specific driver configuration to grub_util_fd_open. This
2894 moves OS-dependent parts from kern/emu/hostdisk.c to
2895 grub-core/osdep/*/hostdisk.c.
2897 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2899 * util/grub-mkimage.c (generate_image): Use size_t instead of
2901 * util/grub-mkimagexx.c (locate_sections): Likewise.
2902 (load_image): Likewise.
2904 2013-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2906 * util/misc.c (grub_util_write_image_at): Don't use PRIxGRUB_SIZE for
2908 (grub_util_write_image): Likewise.
2910 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2912 * grub-core/osdep/basic/random.c: New file. Abort on an attempt to
2913 get random when no RNG is available.
2914 * grub-core/osdep/random.c: Use basic/random.c on OS out of whitelist.
2916 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2918 * include/grub/util/lvm.h: Removed.
2920 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2922 * grub-core/kern/emu/misc.c (fsync) [__MINGW32__]: Move to ...
2923 * grub-core/osdep/windows/hostdisk.c (fsync) [__MINGW32__]: ... here.
2925 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2927 * grub-core/osdep/windows/sleep.c: Add missing config.h.
2929 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2931 * grub-core/kern/emu/misc.c (grub_get_rtc): Remove (it's a leftover).
2933 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2935 * grub-core/net/drivers/emu/emunet.c: Move to ..
2936 * grub-core/osdep/linux/emunet.c: ..here.
2938 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2940 * util/ieee1275/ofpath.c: Move to ...
2941 * grub-core/osdep/linux/ofpath.c: ..here, split stub into ...
2942 * grub-core/osdep/basic/ofpath.c: ..here.
2944 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2946 Move password-querying (util-version) routines to grub-core/osdep.
2948 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2950 Move sleep routines to grub-core/osdep.
2952 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2954 Move OS-dependent files to grub-core/osdep and document it.
2956 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2958 * grub-core/kern/emu/misc.c (canonicalize_file_name): Move to ...
2959 * grub-core/kern/emu/hostdisk_*.c (canonicalize_file_name): ... here.
2961 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2963 * grub-core/kern/arm/misc.S: Remove leftover ARM and THUMB.
2965 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2967 * util/misc.c: Remove leftover inclusion of malloc.h.
2969 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2971 * include/grub/setjmp.h: Remove leftover GRUBOF.
2973 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2975 * util/raid.c: Fold into ...
2976 * util/getroot_linux.c: ... here. Make all functions static.
2978 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2980 * grub-core/fs/zfs/zfs_lz4.c: Switch from ad-hoc endiannes and width
2981 macros to GRUB ones.
2983 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2985 * grub-core/gfxmenu/gui_list.c (draw_scrollbar): Fixed rare
2986 occasional bug. If there are too many boot entries or too low
2987 scrollbar height then we need to use another formula to calculate
2988 the position and size of the scrollbar thumb.
2990 2013-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2992 * util/random_unix.c: Add NetBSD, Solaris and Mac OS X to verified list.
2994 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
2996 * grub-core/gfxmenu/gui_list.c: New option `scrollbar-slice`.
2997 * docs/grub.texi: Likewise.
2999 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3001 * grub-core/gfxmenu/gui_list.c: Draw the scrollbar in a separate
3004 2013-10-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3006 * grub-core/gfxmenu/gui_list.c (list_get_minimal_size): Corrected
3007 minimal width calculations.
3009 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3011 * docs/grub.texi: Update note on colors on emu console.
3013 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3015 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Give GRUB_ERR_BAD_FS
3016 for quadruple indirect rather than GRUB_ERR_NOT_IMPLEMENTED_YET as
3017 it's FS and not GRUB limitation.
3019 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3021 * grub-core/kern/arm/efi/startup.S: Remove thumb leftover.
3023 2013-10-07 Vladimir Serbinenko <phcoder@gmail.com>
3025 * grub-core/kern/arm/efi/init.c: Rewrite timer fucntion.
3027 2013-10-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
3029 * util/grub.d/10_hurd.in: Use `version_find_latest` to sort gnumach
3030 kernels by version order.
3032 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3034 * util/random_unix.c: Add kFreeBSD to the list of secure RNG.
3036 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3038 Add AROS hostdisk and getroot routines.
3040 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3042 Make cryptodisk and diskfilter probe data retrievable programmatically
3043 and not just printable.
3045 2013-10-04 Vladimir Serbinenko <phcoder@gmail.com>
3047 Split random retrieving code into separate files.
3049 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3051 * grub-core/kern/arm/dl.c (do_relocations): Accept and ignore
3054 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3056 * grub-core/tests/video_checksum.c: Increase robustness to out of memory
3058 * grub-core/tests/fake_input.c: Likewise.
3059 * grub-core/tests/cmdline_cat_test.c: Likewise.
3061 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3063 * grub-core/video/capture.c: Do not do finalization when .fini
3064 is called as there is explicit capture_end.
3066 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3068 * grub-core/term/gfxterm.c: Add flag "functional" to skip input when
3069 changing windows to avoid crash.
3071 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3073 * grub-core/kern/arm/cache.c: Add v5 write-through cache support.
3075 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3077 * po/exclude.pot: Add several strings to exclude.
3079 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3081 * tests/gettext_strings_test.in: Add getroot_*.c to exclude list.
3083 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3085 * autogen.sh: Add ./util/grub-gen-widthspec.c and
3086 ./util/grub-gen-asciih.c to exclude list.
3088 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3090 * grub-core/gfxmenu/theme_loader.c (theme_set_string): Fix memory leak
3091 and don't mark error strings for translation.
3093 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3095 * grub-core/disk/uboot/ubootdisk.c (uboot_disk_open): Use grub_error
3096 properly in case of missing block size.
3098 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3100 * grub-core/lib/arm/setjmp.S: Add missing license section.
3102 2013-10-03 Vladimir Serbinenko <phcoder@gmail.com>
3104 * po/swiss.sed: Add replacement for key names and for term computer.
3106 2013-10-02 Vladimir Testov <vladimir.testov@rosalab.ru>
3108 * grub-core/gfxmenu/theme_loader.c: New global options for the
3109 theme background image handling. desktop-image-scale-method,
3110 desktop-image-h-align, desktop-image-v-align.
3111 * grub-core/gfxmenu/view.c: Likewise.
3112 * include/gfxmenu_view.h: Likewise.
3113 * include/bitmap_scale.h: Proportional scale functions introduced.
3114 * grub-core/video/bitmap_scale.c: Likewise. Verification checks are
3115 put in a separate functions. GRUB_ERR_BUG is set for grub_error in
3116 cases of unexpected input variables for scale functions.
3117 * docs/grub.texi: Updated documentation for new options.
3119 2013-10-02 Vladimir Serbinenko <phcoder@gmail.com>
3121 * grub-core/video/readers/png.c: Support narrow (4-/2-/1-bpp) PNG.
3123 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3125 * grub-core/tests/checksums.h: Corrected due to changes in
3126 bilinear interpolation function.
3128 2013-10-01 Vladimir Testov <vladimir.testov@rosalab.ru>
3130 * grub-core/video/bitmap_scale.c (scale_bilinear): Increased precision
3131 to eliminate artefacts in bilinear interpolation.
3133 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3135 * grub-core/video/readers/tga.c: Support paletted tga.
3137 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3139 * grub-core/video/readers/jpeg.c (grub_jpeg_decode_data): Remove
3140 incorrect cbcr setting when in color mode.
3142 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3144 * grub-core/video/readers/png.c: Support paletted images and clean up
3147 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3149 * grub-core/term/terminfo.c (grub_terminfo_readkey): Fix
3150 usage of wrong table which resulted in mishandling of 4-byte
3153 2013-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3155 * grub-core/term/terminfo.c: Add Home and End key sequences.
3157 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3159 * grub-core/video/readers/png.c (grub_png_decode_image_header):
3160 Fix formula for computing total number of bytes.
3162 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3164 * grub-core/video/readers/tga.c: Reorganize to separate RLE and
3165 image processing, fix big-endian and support grayscale.
3167 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3169 * grub-core/video/fb/video_fb.c (grub_video_fb_create_render_target):
3170 Correctly will with maximum transparency when using index color.
3172 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3174 * grub-core/video/readers/png.c: Support grayscale
3176 2013-09-27 Vladimir Serbinenko <phcoder@gmail.com>
3178 * grub-core/video/readers/jpeg.c: Support grayscale.
3180 2013-09-26 Jon McCune <jonmccune@google.com>
3182 * grub-core/commands/loadenv.c: Support skipping signature check
3183 and variable names filtering.
3185 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3187 * grub-core/kern/emu/hostdisk_unix.c: Declare AROS as non-unix.
3188 * grub-core/kern/emu/hostfs.c: Likewise.
3189 * util/getroot_unix.c: Likewise.
3191 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3193 * include/grub/emu/hostdisk.h (GRUB_FD_STAT_IS_FUNTIONAL): New define.
3194 Migrate all explicit defines to this new one.
3196 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3198 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Use
3199 grub_util_fd_strerror when using grub_util_fd_*.
3200 (grub_util_fd_open_device): Likewise.
3201 (grub_util_biosdisk_read): Likewise.
3202 (grub_util_biosdisk_write): Likewise.
3203 * grub-core/kern/emu/hostdisk_unix.c (grub_util_fd_open): New function.
3204 (grub_util_fd_strerror): Likewise.
3205 (grub_util_fd_sync): Likewise.
3206 (grub_util_fd_close): Likewise.
3207 * grub-core/kern/emu/hostdisk_windows.c (grub_util_fd_sync): Likewise.
3208 (grub_util_fd_close): Likewise.
3209 (grub_util_fd_strerror): Likewise.
3210 * include/grub/emu/hostdisk.h (grub_util_fd_close): Make into real
3211 function proto rather than macro.
3212 (grub_util_fd_sync): Likewise.
3213 (grub_util_fd_open): Likewise.
3214 (grub_util_fd_strerror): New proto.
3216 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3218 * util/getroot.c (grub_util_biosdisk_is_present): Don't do stat on
3219 platforms on which it doesn't work.
3221 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Move struct
3224 stat immediately to where it's used.
3226 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3228 * util/getroot.c (grub_util_check_block_device): Move to ...
3229 * util/getroot_unix.c (grub_util_check_block_device): ... here.
3230 * util/getroot.c (grub_util_check_char_device): Move to ...
3231 * util/getroot_unix.c (grub_util_check_char_device): ... here.
3233 2013-09-24 Vladimir Serbinenko <phcoder@gmail.com>
3235 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_close): Fix
3238 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3240 * docs/grub.texi (Simple configuration): Document GRUB_ENABLE_CRYPTODISK.
3242 2013-09-24 Andrey Borzenkov <arvidjaar@gmail.com>
3244 * docs/grub.texi (File name syntax): Document ZFS filenames
3245 (/volume@snapshot/...).
3247 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3249 * grub-core/kern/emu/hostdisk_windows.c (grub_util_get_windows_path):
3250 Always return full path. Fixes a problem with mkrelpath.
3252 2013-09-23 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3254 * util/grub-install.in: Add GPT PReP support.
3255 * util/grub-probe.c (probe): Support GPT partition type.
3256 (main): Support -t gpt_parttype.
3258 2013-09-23 Aleš Nesrsta <starous@volny.cz>
3260 * grub-core/bus/usb/ehci.c: SMI disabled in all cases
3262 2013-09-23 Massimo Maggi <me@massimo-maggi.eu>
3264 * grub-core/fs/zfs/zfs.c (check_pool_label): Check nvlist.
3266 2013-09-23 Tim Hardeck <thardeck>
3268 * util/grub.d/10_hurd.in: Filter out character for the class.
3269 * util/grub.d/10_kfreebsd.in: Likewise.
3270 * util/grub.d/10_linux.in: Likewise.
3271 * util/grub.d/20_linux_xen.in: Likewise.
3273 2013-09-23 Melki Christian <Christian.melki@saabgroup.com>
3275 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Fix the type of
3278 2013-09-23 Josh Triplett <josh@joshtriplett.org>
3280 * grub-core/boot/i386/pc/lnxboot.S: Re-add support for recording the
3283 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3285 * Makefile.util.def (libgrubmods.a): Remove CFLAGS_POSIX as this lib
3286 doesn't use posix_wrap. Keep literal -fno-builtin however.
3288 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3290 * conf/Makefile.common (CPPFLAGS_LIBFDT): Remove leftover.
3292 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3295 * configure.ac: Do not enable -Wmissing-noreturn as its
3296 usefulness is limited and creates problems on some OS notably with
3297 code generated by bison.
3299 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3302 * configure.ac: Do not explicitly enable -Waddress as it's not
3303 supported by all gcc and when it is, it's already enabled by -Wall.
3305 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3307 * grub-core/video/efi_gop.c (grub_video_gop_setup): Fix a typo which
3308 desactivated use of EDID at all.
3310 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3313 * grub-core/loader/multiboot.c (grub_multiboot_set_console): Always use
3314 video if no text is available.
3316 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3319 * configure.ac: Substitute TARGET_RANLIB.
3321 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3324 * grub-core/genmod.sh.in: Remove ./ from TARGET_OBJ2ELF. Add quotes.
3326 Based on patches from AROS.
3328 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3331 * grub-core/Makefile.am: Override STRIP and RANLIB.
3332 * configure.ac: compute TARGET_RANLIB.
3333 * INSTALL: Document TARGET_RANLIB
3335 Based on patches from AROS.
3337 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3339 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Do not assume
3340 that floppies are unpartitioned.
3342 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3344 * util/getroot_unix.c [__MINGW32__ || __CYGWIN__]:
3345 Define dummy grub_util_pull_lvm_by_command to decrease number of #if's.
3347 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3349 * grub-core/lib/posix_wrap/sys/types.h: Use OpenBSD approach: it's
3350 less nice but more portable.
3351 * grub-core/lib/posix_wrap/wchar.h: Likewise.
3353 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3355 * include/grub/cryptodisk.h (grub_cryptodisk): Use grub_util_fd_t
3357 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Use grub_util_*
3359 (grub_cryptodisk_cheat_insert): Likewise.
3360 (grub_cryptodisk_close): Likewise.
3362 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3364 * include/grub/emu/misc.h: Remove leftover cygwin definitions.
3365 Use windows path for DEFAULT_DIRECTORY.
3367 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3369 * include/grub/i386/setjmp.h: Remove useless #if MINGW where original
3370 difference was likely just gcc version, not anything mingw-related.
3372 2013-09-23 Vladimir Serbinenko <phcoder@gmail.com>
3374 Use Winapi on both cygwin and mingw32 to share more code between both.
3376 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3378 * util/grub-install.in: Add --grub-editenv option.
3379 * util/grub-install_header (grub_compress_file): Explicitly check for
3380 plain file to avoid cp error.
3382 2013-09-22 Andrey Borzenkov <arvidjaar@gmail.com>
3384 * docs/grub.texi (Device syntax): Document new LVM UUID based device
3385 names; fix LVM driver name (lvm, not lv).
3386 * util/grub-probe.c (probe_abstraction): Support lvmid/xxx device
3389 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3391 * grub-core/kern/emu/hostdisk.c: Disentagle into a series of OS-specific
3392 files rather than one file with loads of #if's.
3393 * util/getroot.c: Likewise.
3395 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3397 * grub-core/lib/posix_wrap/sys/types.h: Use stddef on *BSD.
3399 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3401 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Add windows and
3402 GNU/Hurd to the list of checked PRNG.
3404 2013-09-22 Vladimir Serbinenko <phcoder@gmail.com>
3406 * configure.ac: On FreeBSD use -melf_*_fbsd format.
3408 2013-09-21 Ales Nesrsta <starous@volny.cz>
3410 * grub-core/bus/usb/ehci.c: Corrected EHCI QH handling (async./sync.)
3412 2013-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3414 * grub-core/disk/diskfilter.c: Handle non-md UUIDs.
3415 * grub-core/disk/lvm.c: Add LVM UUIDs.
3416 * util/getroot.c: Use LVM UUIDs whenever possible.
3418 2013-09-19 Andrey Borzenkov <arvidjaar@gmail.com>
3420 * docs/grub.texi (Networking commands): Add documentation for
3421 network related commands.
3423 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3425 * util/getroot.c (grub_util_open_dm): Check major rather than the name
3426 to determine if device is handled by devmapper.
3427 (convert_system_partition_to_system_disk): Likewise.
3428 (get_dm_uuid): Don't check explicitly if device is mapped, it's
3429 already done in grub_util_open_dm.
3431 2013-09-19 Leif Lindholm <leif.lindholm@linaro.org>
3433 * kern/arm/cache.S: Correct access to ilinesz/dlinesz variables.
3434 Clean up stack manipulation (sync_caches_armv*)
3436 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3438 * util/lvm.c: Remove since unused. Remove remaining references.
3440 2013-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3442 Handle the case of partitioned LVM properly.
3444 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
3445 Stop on meeting LVM, mpath or DMRAID.
3446 (grub_hostdisk_os_dev_to_grub_drive): Canonicalize os device.
3447 (read_device_map): Likewise.
3448 * util/getroot.c (convert_system_partition_to_system_disk): Assume that
3449 device is full disk rather than erroring out on LVM and similar cases.
3451 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3453 * util/grub-mkconfig_lib.in: Keep supplied pkgdatadir if any.
3455 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3457 * grub-core/kern/mm.c (grub_mm_init_region): Skip regions less than
3459 Reported by: Leif Lindholm
3461 2013-09-18 Pawel Wojtalczyk <eyak@wp.pl>
3462 2013-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3464 * grub-core/term/efi/console.c (grub_console_getkey): Accept VT100-style
3467 2013-09-18 Colin Watson <cjwatson@ubuntu.com>
3469 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name_iter):
3470 Remove no-longer-true __attribute__ ((unused)) on disk parameter.
3472 2013-09-18 Douglas Ray <dougray@cpan.org>
3474 * util/grub-mkpasswd-pbkdf2.c (grub_get_random): Declare OpenBSD PRNG
3477 2013-09-18 Aleš Nesrsta <starous@volny.cz>
3479 * docs/grub.texi: Fix broken link.
3481 2013-09-18 Melki Christian <Christian.melki@saabgroup.com>
3483 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Add condition
3484 to break endless loop.
3486 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3488 * util/grub-fstest.c: Fix several printf formats.
3489 * util/grub-mkimage.c: Likewise.
3490 * util/grub-mkimagexx.c: Likewise.
3491 * util/grub-script-check.c: Likewise.
3493 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3495 * grub-core/lib/xzembed/xz_dec_lzma2.c: Make -Wattributes not cause
3498 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3500 * config.h.in [GRUB_BUILD]: Explicitly undefine ENABLE_NLS.
3502 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3504 * util/getroot.c (grub_find_device): Use cygwin_conv_path ratherthan
3505 removed in current versions cygwin_conv_*.
3507 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3509 * configure.ac: Disable efiemu runtime on cygwin.
3511 2013-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3513 * conf/Makefile.extra-dist: Add missing util/grub-gen-asciih.c,
3514 util/grub-gen-widthspec.c and util/grub-pe2elf.c.
3516 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3518 * util/grub-mkpasswd-pbkdf2.c (grub_password_get): Remove extraneous
3521 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3523 * grub-core/lib/crypto.c (grub_password_get) [GRUB_UTIL]: Add
3525 * util/grub-mkpasswd-pbkdf2.c: Add windows flavour for retrieving random
3528 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3530 * configure.ac: Add -Wl,-melf_i386 and -Wl,-melf_x86_64 systematically
3531 when on x86 and not cygwin.
3532 * conf/Makefile.common: Remove unsystematic -Wl,-melf_i386 and
3535 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3537 * configure.ac: Set CPP to build one when checkoing for freetype for
3540 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3542 * util/grub-mkfont.c [!GRUB_BUILD]: Define my_argp_state.
3543 [!GRUB_BUILD]: Remove has_argument.
3545 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3547 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath) [_WIN32]:
3548 Replace with a dummy.
3550 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3552 * configure.ac: Don't change host_os from mingw to cygwin.
3554 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3556 * configure.ac: Change target_os from windows to cygwin.
3558 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3560 Handle grub-pe2elf and grub-mkfont for cases when build != host.
3562 * Makefile.am (build-grub-mkfont): Don't include gnulib.
3563 (build-grub-gen-asciih): Likewise.
3564 (build-grub-gen-widthspec): Likewise.
3565 * Makefile.util.def (grub-pe2elf): Remove.
3566 * config.h.in [GRUB_BUILD]: Use build rather than host constants.
3567 * configure.ac: Separate tests for build.
3568 Move ./build-grub-pe2elf to grub-core.
3570 * grub-core/Makefile.am (build-grub-pe2elf): New target.
3571 * grub-core/kern/emu/misc.c (xasprintf): Don't compile if GRUB_BUILD is
3573 * include/grub/types.h [GRUB_BUILD]: Use build rather than host
3575 * util/grub-mkfont.c [GRUB_BUILD]: Simplify not to rely on argp.
3576 * util/grub-pe2elf.c: Simplify not to rely on getopt.
3577 * util/misc.c (program_name) [GRUB_BUILD]: Define to static string.
3579 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3581 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size): Adapt for
3582 mingw32 as well based on grub_util_get_disk_size.
3583 * util/misc.c (grub_util_get_disk_size): Removed. all users switched to
3584 grub_util_get_fd_size.
3586 (fsync): Moved to ...
3587 * grub-core/kern/emu/misc.c (fsync): ... here.
3589 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3591 * include/grub/mm.h (grub_extend_alloc): Remove.
3592 * grub-core/loader/i386/pc/plan9.c: Use own version of
3593 grub_extend_alloc with appropriate types.
3595 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3597 * conf/Makefile.common (CFLAGS_GCRY): Add -Wno-redundant-decls.
3599 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3601 * util/getroot.c: Include sys/wait.h only when we need waitpid.
3603 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3605 Fix dependencies on cygwin.
3607 * gentpl.py: Support variable dependencies. Add $TARGET_OBJ2ELF to
3608 dependencies when used and defined.
3609 * grub-core/Makefile.core.def (regexp): Add dependency on libgnulib.a.
3611 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3613 * include/grub/zfs/spa.h (zio_cksum): Add explicit members for mac.
3614 * grub-core/fs/zfs/zfs.c (zio_read): Don't use casts to retrieve mac.
3616 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3618 * grub-core/kern/emu/mm.c (grub_memalign): Don't define if there is no
3619 implementation available to cause compile-time rather than runtime
3622 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3624 * util/grub-fstest.c: Don't check for symlinks on windows.
3626 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3628 * INSTALL: Mention unavailability of man pages when cross-compiling.
3630 2013-08-22 Vladimir Serbinenko <phcoder@gmail.com>
3632 * include/grub/crypto.h: Don't declare gcry_log_bug, gcry_log_printf
3634 * grub-core/lib/libgcrypt_wrap/mem.c: Include g10lib.h
3636 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3638 * INSTALL: Document cross-compilation.
3639 * acinclude.m4: Determine whether nm support -P and --defined-only.
3640 * configure.ac: Add TARGET_ to all variables pertaining to target
3641 that don't have it yet.
3642 * gentpl.py: Likewise.
3643 * grub-core/Makefile.am: Likewise.
3644 * grub-core/genmod.sh.in: Likewise.
3645 * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm
3648 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3650 * configure.ac: Remove -Wempty-body. It's not essential and needs
3653 2013-08-21 Ilya Bakulin <Ilya_Bakulin@genua.de>
3655 * grub-core/kern/emu/hostdisk.c: Add conditionals for OpenBSD.
3656 * util/getroot.c: Likewise.
3658 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3660 * grub-core/disk/ahci.c: Add needed explicit cast.
3661 * grub-core/lib/backtrace.c: Likewise.
3662 * grub-core/net/ip.c: Likewise.
3663 * grub-core/net/tcp.c: Likewise.
3664 * grub-core/net/udp.c: Likewise.
3666 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3668 * grub-core/lib/posix_wrap/wchar.h: Fix typo.
3670 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3672 * util/import_gcry.py: Add final newline in visibility.h.
3674 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3676 * conf/Makefile.common: Fix typo.
3678 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3680 * Makefile.util.def (grub-mkfont): Add missing libgnu.a.
3682 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3684 * Makefile.am (widthspec.h): Fix typo.
3685 * util/grub-gen-widthspec.c: Likewise.
3687 2013-08-21 Vladimir Serbinenko <phcoder@gmail.com>
3689 Move ascii.h and widthspec.h generation to a separate build-time-only
3692 2013-08-16 Grégoire Sutre <gregoire.sutre@gmail.com>
3694 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3695 Always fill bootdisk info and improve check for NetBSD disklabel.
3697 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3699 * conf/Makefile.extra-dist: Add util/bin2h.c.
3700 Reported by: floppym.
3702 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3704 * configure.ac: Make unifont mandatory for powerpc-ieee1275.
3706 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3708 * configure.ac: Disable unifont and starfield if no freetype was found.
3710 2013-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3712 * grub-core/lib/posix_wrap/wchar.h: Fix wchar_t and mbstate_t conflict
3713 on NetBSD and OpenBSD.
3715 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3717 * grub-core/gfxmenu/gui_list.c: Baseline misplacement fixed.
3719 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3721 * grub-core/gfxmenu/gui_list.c: The number of color mappings is
3722 reduced. Inheritant options are processed during the theme loading.
3724 2013-08-15 Vladimir Testov <vladimir.testov@rosalab.ru>
3726 * grub-core/gfxmenu/gui_list.c: Minimal width fixed.
3728 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3730 * grub-core/net/tftp.c: Send tftp ack packet before closing the socket.
3732 2013-08-14 Avik Sil <aviksil@in.ibm.com>
3734 * grub-core/net/drivers/ieee1275/ofnet.c: Get proper mac address when
3737 2013-08-14 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
3739 * .bzrignore: Add bootinfo.txt, grub.chrp, gnulib/float.h, and
3740 remove-potcdate.sed.
3742 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3744 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Remove
3745 unused attribute from pull argument.
3747 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3749 * util/getroot.c (grub_util_is_imsm): Fix descriptor and
3752 2013-08-14 Andrey Borzenkov <arvidjaar@gmail.com>
3754 * util/getroot.c (pull_lvm_by_command): add --separator option
3755 to vgs call to disable padding of output to 10 characters.
3757 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3759 * grub-core/kern/emu/misc.c (grub_device_mapper_supported): Move from
3761 * grub-core/kern/emu/hostdisk.c (grub_device_mapper_supported): ... to
3764 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3766 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_drp): Fix device_path
3769 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3771 Fix handling of build-time grub-bin2h and grub-mkfont when doing
3772 full Canadian cross. Tested with build=x86_64, host=arm,
3773 target=ppc-ieee1275.
3775 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3777 * configure.ac: Error if no $BUILD_CC could be found.
3780 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3782 * grub-core/kern/i386/coreboot/init.c: Fix compilation on
3785 2013-08-14 Vladimir Serbinenko <phcoder@gmail.com>
3787 * grub-core/kern/vga_init.c: Fix compilation on qemu-mips.
3788 * grub-core/kern/mips/qemu_mips/init.c: Likewise.
3790 2013-08-13 Colin Watson <cjwatson@ubuntu.com>
3792 * util/getroot.c (grub_util_biosdisk_get_grub_dev): Zero out
3793 grub_errno in the case where we handle GRUB_ERR_UNKNOWN_DEVICE by
3794 falling back to the partition device, otherwise a later call to this
3795 function may fail spuriously.
3796 Reported by Axel Beckert. Fixes Debian bug #708614.
3798 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3800 * autogen.sh: Replace find -not by the POSIX-compliant find !.
3802 2013-08-12 Grégoire Sutre <gregoire.sutre@gmail.com>
3804 Prevent shadowing of stdlib's devname(3) on BSD.
3806 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Rename devname
3807 and devlast to diskname and disklast, respectively.
3809 2013-08-11 Colin Watson <cjwatson@ubuntu.com>
3811 * util/grub-mkconfig.in: Fix detection of Emacs autosave files.
3813 2013-08-08 Vladimir Testov <vladimir.testov@rosalab.ru>
3815 * docs/grub.texi: Introduce terminal window position options:
3816 terminal-left: terminal window's left position
3817 terminal-top: terminal window's top position
3818 terminal-width: terminal window's width
3819 terminal-height: terminal window's height
3820 terminal-border: terminal window's border width
3821 * grub-core/gfxmenu/theme-loader.c: Likewise.
3822 * include/grub/gfxmenu_view.h: Likewise.
3823 * po/exlude.pot: Likewise.
3824 * grub-core/gfxmenu/view.c: Likewise.
3825 Also updated minimal window size.
3826 Also terminal_sanity_check function has been introduced.
3827 * grub-core/tests/checksums.h: Update (terminal window height
3828 is adjusted now for low resolution screen)
3830 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3832 * grub-core/tests/checksums.h: Update (1-pixel difference in marker
3835 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3837 * po/exclude.pot: Add few recent exceptions.
3839 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3841 * tests/grub_func_test.in: Add unicode.pf2.
3843 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3845 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Start with
3846 standard rather than noral color, in line with other terminals.
3848 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3850 * grub-core/partmap/dfly.c: Simplify dprintfs for easier gettext
3853 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3855 * grub-core/loader/arm/linux.c: Change printf to dprintf.
3857 2013-08-02 Vladimir Serbinenko <phcoder@gmail.com>
3859 * grub-core/fs/zfs/zfs.c (check_feature): Cleanup and remove
3860 inappropriate printf.
3862 2013-07-25 Andrey Borzenkov <arvidjaar@gmail.com>
3864 * .bzrignore: Remove grub-core/lib/dtc-grub,
3865 grub-core/Makefile.libfdt.def
3866 * conf/Makefile.extra-dist: Remove grub-core/Makefile.libfdt.def.
3868 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3870 * include/grub/video.h (grub_video_register): Keep double-linked as
3871 well as single-linked invariants.
3872 Reported by: qwertial.
3874 2013-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3876 * grub-core/commands/nativedisk.c (get_uuid): Handle
3877 GRUB_DISK_DEVICE_UBOOTDISK_ID.
3879 2013-07-25 Vladimir Testov <vladimir.testov@rosalab.ru>
3881 * grub-core/gfxmenu/widget-box.c: Fixed draw function. Now it takes
3882 maximum of NW, N, NE heights instead of N's height and maximum of
3883 NW, W, SW widths instead of W's width. (So the box will be always
3886 2013-07-20 Grégoire Sutre <gregoire.sutre@gmail.com>
3888 * grub-core/partmap/bsdlabel.c (netopenbsdlabel_partition_map_iterate):
3889 Fix misuse of variable count.
3891 2013-07-18 Leif Lindholm <leif.lindholm@arm.com>
3892 2013-07-18 Francesco Lavra <francescolavra.fl@gmail.com>
3893 2013-07-18 Vladimir Serbinenko <phcoder@gmail.com>
3895 New ports to arm-uboot and arm-efi.
3896 Mostly by Leif Lindholm with some additions from
3897 Francesco Lavra and cleanup by Vladimir Serbinenko.
3899 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3901 * grub-core/loader/multiboot_elfxx.c: Check eip after v2p translation
3903 Reported by: Leon Drugi.
3905 2013-07-16 Vladimir Serbinenko <phcoder@gmail.com>
3907 * grub-core/kern/powerpc/ieee1275/startup.S: Handle unaligned bss.
3908 Reported by: Paulo Flabiano Smorigo.
3910 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3912 * grub-core/gfxmenu/gui_list.c: USe viewport when drawing strings.
3914 2013-07-14 Vladimir Testov <vladimir.testov@rosalab.ru>
3916 * grub-core/gfxmenu/gui_list.c: Fix height calculation.
3918 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3920 * grub-core/fs/zfs/zfs.c: Stylistic fixes.
3922 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3924 * grub-core/fs/zfs/zfs.c: Run emacs indent on file.
3926 2013-07-14 Andrey Borzenkov <arvidjaar@gmail.com>
3928 * grub-core/net/bootp.c: Export net_* variables.
3929 * grub-core/net/net.c: Likewise.
3931 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3933 * grub-core/fs/zfs/zfs.c: Remove brackets around return value.
3935 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3937 * grub-core/fs/zfs/zfs_lz4.c: Add missing packed attribute.
3939 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3941 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Fix improper cast.
3943 2013-07-14 Vladimir Serbinenko <phcoder@gmail.com>
3945 * grub-core/fs/zfs/zfs_lz4.c: Remove restrict keyword.
3947 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3949 * grub-core/fs/zfs/zfs.c (nvlist_next_nvpair): Error is encode_size
3952 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3954 * grub-core/fs/zfs/zfs.c: Split nvpair iterators into separate
3957 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3959 * grub-core/fs/zfs/zfs_lz4.c: New file.
3960 * grub-core/fs/zfs/zfs.c: Tie up lz4 decompression.
3962 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3964 * grub-core/fs/zfs/zfs.c: Check for feature compatibility.
3966 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3968 * grub-core/fs/zfs/zfs.c (uberblock_verify): Accept version 5000.
3969 (check_pool_label): Likewise.
3970 * include/grub/zfs/zfs.h: Rewrite SPA_VERSION_* macros.
3972 2013-07-14 Massimo Maggi <me@massimo-maggi.eu>
3974 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Fix RAIDZ reporting.
3976 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3978 * docs/grub.texi (Commands): Document postition parameters
3979 for menuentry command.
3981 2013-07-13 Andrey Borzenkov <arvidjaar@gmail.com>
3983 * util/grub-mknetdir.in: Remove stray line from help output.
3985 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3987 Remove early sm712 init as there is no reason for it (the "watchdog"
3988 effect was due to wrong GPIO map).
3990 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3992 * grub-core/commands/pcidump.c: Remove static variables.
3994 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
3996 * grub-core/commands/sleep.c: Refresh screen before sleeping.
3998 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4000 * configure.ac: Move delimiter after the infos.
4002 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4004 * grub-core/bus/usb/usbhub.c: Fix recheck logic.
4006 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4008 * util/grub-mkfont.c (write_font_ascii_bitmap): Fix handling of glyphs
4009 not filling whole 8x16 space.
4011 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4013 * grub-core/normal/charset.c (bidi_line_wrap): Fix spurios warning.
4015 2013-07-11 Vladimir Serbinenko <phcoder@gmail.com>
4017 * configure.ac: Indicate which liblzma is used if any.
4019 2013-06-21 Paul Wise <pabs3@bonedaddy.net>
4020 2013-06-21 Craig Sanders <savannah@taz.net.au>
4022 * util/grub-reboot.in: Document submenu usage.
4024 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4026 * .bzrignore: Update with a number of new test-related files.
4028 2013-06-25 Colin Watson <cjwatson@ubuntu.com>
4030 * util/grub-script-check.c: Fail on scripts containing no
4031 commands, to guard against corrupted grub-mkconfig setups that
4032 produce no useful output.
4033 * tests/grub_script_no_commands.in: New test.
4034 * Makefile.util.def (grub_script_no_commands): Add.
4035 Reported by Hans Putter. Fixes Debian bug #713886.
4037 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4039 * grub-core/disk/diskfilter.c: Forgot to remove comment
4040 from previous commit.
4042 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4044 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4045 grub_term_normal_color, do not hardcode GRUB_TERM_DEFAULT_NORMAL_COLOR.
4047 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4049 * conf/Makefile.extra-dist: Add grub-core/fs/cpio_common.c.
4051 2013-06-16 Andrey Borzenkov <arvidjaar@gmail.com>
4053 * grub-core/disk/diskfilter.c (scan_devices): Iteratively
4054 rescan diskfilter devices until nothing new is found.
4056 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4058 Fix casts when compiling coreboot-specific code for 64-bit EFI.
4060 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4062 Don't try to detect cbfs on *-emu.
4064 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4066 * grub-core/term/gfxterm.c: USe right background color when scrolling.
4068 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4070 Add support for processed coreboot payload chainloading.
4072 2013-06-16 Vladimir Serbinenko <phcoder@gmail.com>
4074 Enable coreboot information commands even when not loaded as
4075 coreboot payload (e.g. when loaded from SeaBIOS-as-payload).
4077 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4079 Support for cbfs. Also factor out the part which is common
4080 for all archives to a separate module. This splits tar from cpio
4081 as they are very different but keeps cpio, cpio_be, odc and newc
4082 together since they're very similar.
4084 2013-06-15 David Michael <fedora.dm0@gmail.com>
4086 * configure.ac (FREETYPE): Change AC_CHECK_PROGS to AC_CHECK_TOOLS.
4087 (freetype_cflags,freetype_libs): Change freetype-config to $FREETYPE.
4089 2013-06-15 Vladimir Serbinenko <phcoder@gmail.com>
4091 * tests/grub_script_eval.in: Really add the eval test.
4093 2013-06-14 Vladimir Serbinenko <phcoder@gmail.com>
4095 Move flavour-specific parts out of common cpio.c file and
4096 rename remaining to cpio_common.c
4098 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4100 * grub-core/script/execute.c (grub_script_execute_sourcecode): Split
4101 off new function grub_script_execute_new_scope. Change callers to use
4102 either of them as appropriate.
4103 * grub-core/commands/eval.c: New command eval.
4104 * docs/grub.texi (Commands): Document it.
4106 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4108 * grub-core/kern/corecmd.c (grub_core_cmd_set): Use grub_env_get
4109 to fetch values when listing.
4111 2013-06-07 Andrey Borzenkov <arvidjaar@gmail.com>
4113 Fix make dist on non-pc.
4115 2013-06-07 Francesco Lavra <francescolavra.fl@gmail.com>
4117 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix handling of paths
4118 without a device name.
4120 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4122 Remove enable_executable_check as it's not needed anymore.
4123 Reported by: dougray.
4125 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4127 * grub-core/disk/diskfilter.c (insert_array): Fix order to discover
4128 ambigouos RAID before discovering RAIDs on top of it.
4131 2013-06-07 Vladimir Serbinenko <phcoder@gmail.com>
4133 Fix typo (failback vs fallback).
4135 2013-05-31 Andrey Borzenkov <arvidjaar@gmail.com>
4137 * util/grub.d/30_os-prober.in: Add support for probing EFI
4138 System Partition (as of os-prober 1.58).
4140 2013-05-31 Vladimir Serbinenko <phcoder@gmail.com>
4142 * configure.ac: Add yet another path to unifont. For parabola.
4144 2013-05-30 Josh Triplett <josh@joshtriplett.org>
4146 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix Ctrl-u
4147 handling to copy the killed characters to the kill buffer as
4148 UCS4 stored as grub_uint32_t rather than as 8-bit characters
4149 stored as char. Eliminates UCS4 truncation and corruption
4150 observed when killing characters with Ctrl-u and yanking them
4153 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4155 Detach optional parts of gfxterm and integrate in with coreboot init.
4157 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4159 Move blit and fill dispatcher to appropriate files to decrease export
4160 and relocation overhead.
4162 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4164 * grub-core/font/font.c, include/grub/font.h: Inline simple font
4167 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4169 * grub-core/Makefile.am: Fix compilation problem with some
4172 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4174 * configure.ac: Add Ubuntu path to unifont and report unifont path used.
4176 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4178 * Makefile.am, conf/Makefile.common: Fix compilation problem with some
4181 2013-05-30 Vladimir Serbinenko <phcoder@gmail.com>
4183 * grub-core/commands/acpihalt.c: Fix handling of DSDT in presence of
4186 2013-05-15 Radosław Szymczyszyn <lavrin@gmail.com>
4188 * grub-core/partmap/dfly.c: New partition map.
4190 2013-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4192 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Fix empty path
4194 Reported by: Francesco Lavra.
4196 2013-05-14 Andrey Borzenkov <arvidjaar@gmail.com>
4198 * gentpl.py: Replace EXTRA_DIST with dist_noinst_DATA or
4199 dist_<directory>_DATA. EXTRA_DIST is ignored by automake inside
4201 * conf/Makefile.common: define dist_grubconf_DATA
4203 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4205 Progressively skip menu elements on small terminals rather
4208 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4210 * grub-core/normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4211 to avoid losing last column.
4213 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4215 * po/exclude.pot: Add missing string "%C".
4217 2013-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4219 * tests/util/grub-shell.in: Remove the temporary directory on grub-emu
4222 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4224 * util/grub-install.in: Gettextize "Not found" message.
4226 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4229 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
4231 2013-05-11 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4233 * grub-core/net/bootp.c (grub_cmd_bootp): Check if there is any card
4235 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_NET_NO_CARD.
4237 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4239 * grub-core/tests/setjmp_test.c: Ignore missing noreturn.
4241 2013-05-11 Vladimir Serbinenko <phcoder@gmail.com>
4243 * grub-core/fs/hfspluscomp.c (grub_hfsplus_compress_attr): Add packed
4244 attribute since structure is not necessarily aligned.
4246 2013-05-11 Andrey Borzenkov <arvidjaar@gmail.com>
4248 * docs/grub.texi (Device syntax): Clarify description of network
4251 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4253 Redirect xasprintf to grub_xvasprintf rather than having #ifdef's
4254 for vasprintf presence.
4256 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4258 * util/grub-install.in: Handle efibootmgr presence check.
4259 Reported by: Leif Lindholm.
4261 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4263 * grub-core/commands/testspeed.c: Reuse formatting string to decrease
4264 new strings to translate.
4266 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4268 * util/grub-mkrescue.in: Replace `STR' with `STRING' to avoid adding
4269 yet another string (pun intended) to translate.
4271 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4273 * po/POTFILES-shell.in: Autogenerate it.
4275 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4277 * grub-core/net/net.c (grub_net_open_real): Autoload network modules.
4279 2013-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4281 * grub-core/term/terminfo.c: Rename ANSI_C0 to ANSI_CSI to avoid
4284 2013-05-08 Andrey Borzenkov <arvidjaar@gmail.com>
4286 * docs/grub.texi (Network): Add description of net_default_interface,
4287 net_default_ip and net_default_mac. Rewrite variables description
4288 to emphasize that they are per-interface.
4290 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4292 New test: cmdline and cat.
4294 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4296 * grub-core/commands/cat.c: Show UTF-8 characters.
4298 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4300 * conf/Makefile.common: Poison float and double on non-emu.
4302 2013-05-08 Vladimir Serbinenko <phcoder@gmail.com>
4304 * configure.ac: Don't disable extended registers on emu.
4306 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4308 * configure.ac: Don't use extended registers on x86_64.
4309 Reported by: Peter Jones.
4311 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4313 * grub-core/term/efi/console.c: Fix compile error.
4315 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4317 Compressed HFS+ support.
4319 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4321 * grub-core/commands/videoinfo.c: Use "paletted" rather than "packed
4324 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4328 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4330 * grub-core/tests/setjmp_test.c: New test.
4332 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4334 New variables 'net_default_*' to determine MAC/IP of default interface.
4336 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4338 * tests/gettext_strings_test.in: A test to check for strings not
4339 marked for translation.
4341 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4343 * autogen.sh: Exclude unused libgcrypt files from translation.
4345 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4347 Simplify few strings.
4349 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4351 Mark few forgotten strings for translation.
4353 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4355 * grub-core/loader/linux.c: Use grub_dprintf for debug statements
4358 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4360 * grub-core/video/readers/jpeg.c: Use grub_dprintf for debug statements
4362 * grub-core/video/readers/tga.c: Likewise.
4364 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4366 * tests/priority_queue_unit_test.cc: New test.
4368 2013-05-07 Vladimir Serbinenko <phcoder@gmail.com>
4370 * grub-core/font/font.c: Use grub_dprintf for debug statements rather
4373 2013-05-06 Andrey Borzenkov <arvidjaar@gmail.com>
4375 Reimplement grub-reboot to not depend on saved_entry. Use next_entry
4376 variable for one time boot menu entry.
4378 2013-05-05 Bean <bean123ch@gmail.com>
4380 * grub-core/commands/testspeed.c: New command testspeed.
4382 2013-05-05 Vladimir Serbinenko <phcoder@gmail.com>
4384 Factor-out human-size printing.
4386 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4388 Agglomerate more mallocs to speed-up gfxterm.
4390 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4392 Speed-up gfxterm by slightly agglomerating mallocs.
4394 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4398 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4400 Speed-up gfxterm by saving intermediate results in index+alpha
4403 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4405 * grub-core/tests/lib/functional_test.c: Don't stop on first failed
4408 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4410 * grub-core/normal/menu_text.c (menu_clear_timeout): Clear second
4411 line of timeout as it may contain the rest of long line.
4413 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4415 * grub-core/normal/main.c: Fix freed memory dereference.
4417 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4419 Fix several memory leaks.
4421 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4423 * grub-core/normal/menu.c (run_menu): Fix timeout reference point.
4425 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4427 * grub-core/gettext/gettext.c: Try $lang.gmo as well.
4429 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4431 Fix test -a and -o precedence.
4432 Reported by: adrian15.
4434 2013-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4436 * grub-core/font/font.c (grub_font_construct_glyph): Fix memory leak.
4438 2013-05-03 Andrey Borzenkov <arvidjaar@gmail.com>
4440 Rename grub-core/tests/checksums.c into grub-core/tests/checksums.h
4441 and add it as source to functional_test module.
4443 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4445 * grub-core/tests/video_checksum.c: Don't set GENERATE_MODE.
4447 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4449 New series of tests for gfxterm and gfxmenu.
4451 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4453 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Allow specifying
4454 the theme path relative to $prefix/themes.
4456 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4458 * grub-core/video/fb/fbblit.c (grub_video_fbblit_blend_BGR888_RGBA8888):
4460 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
4462 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4464 * include/grub/gui.h (grub_gfxmenu_timeout_unregister): Free cb
4467 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4469 * grub-core/gfxmenu/view.c (grub_gfxmenu_view_new): Clear
4470 grub_gfxmenu_timeout_notifications.
4471 (grub_gfxmenu_view_destroy): Likewise.
4473 2013-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4475 * grub-core/normal/term.c (print_ucs4_real): Fix startwidth in dry run.
4477 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4479 Several fixes to ieee1275 and big-endian video.
4481 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4483 Add missing exports on mips.
4485 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4487 * grub-core/tests/videotest_checksum.c (videotest_checksum): Error out
4488 if no unifont is found.
4489 Restore original keyboard.
4491 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4493 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
4494 GRUB_VIDEO_ADAPTER_CAPTURE: to handled drived ids.
4496 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4498 First automated video test (running videotest and comparing results)
4500 2013-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4502 * grub-core/commands/videotest.c: Reduce flickering and draw 6 squares
4503 instead of 2 to have full RGB/CMY test pattern.
4505 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4509 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4511 * include/grub/arc/arc.h: Account for missing "other" peripheral on
4512 ARCS. All users updated.
4514 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4516 * grub-core/kern/mips/loongson/init.c: Support halt for loongson 2E.
4518 2013-04-30 Vladimir Serbinenko <phcoder@gmail.com>
4520 * grub-core/partmap/amiga.c: Fix size of checksummed block.
4522 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4524 * configure.ac: Use -mcmodel=large on x86_64-emu as well.
4525 Reported by: qwertial.
4527 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4529 * grub-core/gfxmenu/circular_progress.c: Set start_angle in degrees
4530 with syntax "XXX deg"/"XXX °".
4532 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4534 Make PCI init in i386-qemu port more robust.
4536 2013-04-29 Vladimir Testov <vladimir.testov@rosalab.ru>
4538 * grub-core/gfxmenu/gui_list.c: Refresh first_shown_entry value when
4539 cached view is reused.
4540 * grub-core/gfxmenu/view.c: Call the refresh procedure for all
4543 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4545 Unify more code in grub-install_header.
4547 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4551 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4553 Enforce disabling of firmware disk drivers when native drivers kick in.
4555 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4557 * grub-core/commands/nativedisk.c: Customize the list of modules on
4558 platform. Don't try to search for disks already using native drivers.
4560 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4562 * grub-core/bus/usb/uhci.c: Fix DMA handling and enable on all PCI
4565 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4567 * grub-core/script/execute.c (grub_script_arglist_to_argv): Fix
4568 handling of variables containing backslash.
4570 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4572 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE):Fix a NULL pointer
4574 Reported by: qwertial.
4576 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4578 * grub-core/kern/mips/arc/init.c: Fix prefix detection.
4580 2013-04-29 Vladimir Serbinenko <phcoder@gmail.com>
4582 * grub-core/lib/arg.c (grub_arg_show_help): Fix a NULL pointer
4584 Reported by: qwertial.
4586 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4588 * docs/grub.texi: Add a comment about usefullness of nativedisk.
4590 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4592 * grub-core/commands/nativedisk.c: Ignore unknown filesystem error.
4594 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4596 New command `nativedisk'.
4598 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4600 * grub-core/io/lzopio.c: Use GRUB_PROPERLY_ALIGNED_ARRAY.
4601 * grub-core/loader/i386/bsd.c: Likewise.
4603 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4605 * grub-core/disk/ahci.c: Fix compilation for amd64 (format warnings).
4607 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4609 * include/grub/efi/api.h (GRUB_EFI_DEVICE_PATH_LENGTH): Use
4610 grub_get_unaligned16 rather than shifts.
4612 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4614 * grub-core/kern/file.c: Use const char * rather than casting to
4617 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4619 * grub-core/commands/probe.c: Add missing grub_device_close.
4621 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4623 * INSTALL: Document linguas.sh.
4625 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4627 Remove POTFILES.in and regenerate it in autogen.sh.
4629 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4631 Move --directory/--override-directorry to grub-install_header and unify.
4633 2013-04-28 Vladimir Serbinenko <phcoder@gmail.com>
4635 * grub-core/term/morse.c: Macroify dih and dah.
4637 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4639 * include/grub/macho.h: Set GRUB_MACHO_FAT_EFI_MAGIC as unsigned.
4641 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4643 * grub-core/term/ns8250.c: Systematically probe ports by writing
4644 to SR before using them.
4646 2013-04-27 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
4648 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix path output for sas
4650 (check_sas): Get sas_adress info.
4652 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4654 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix handling of empty
4657 2013-04-27 Leon Drugi <eyak>
4659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Fix cast in
4662 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4664 Core compression test.
4666 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4668 Implement grub_machine_get_bootlocation for ARC.
4670 2013-04-27 Vladimir Serbinenko <phcoder@gmail.com>
4672 Improve AHCI detection and command issuing.
4674 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4678 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4680 Make 'make check' work on emu.
4682 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4684 Replace libcurses with our own vt100 handling for the ease of testing
4685 and decreasing prerequisites.
4687 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4689 * grub-core/Makefile.core.def: Fix grub-emu and grub-emu-lite sources.
4691 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4693 * util/getroot.c (exec_pipe): Put proper #if's so that its users don't
4694 compile when not needed.
4696 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4698 * tests/pseries_test.in: New test.
4700 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4702 Add test to check that different boot mediums work.
4704 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4706 * util/grub-mkrescue.in: Rename i386-ieee1275 core image due to
4707 ofw limited ISO support.
4709 2013-04-26 Vladimir Serbinenko <phcoder@gmail.com>
4711 * configure.ac: Fix loongson conditional.
4713 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4717 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4719 Add serial on ARC platform.
4721 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4723 * grub-core/boot/powerpc/bootinfo.txt.in: Missing update from previous
4726 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4728 * tests/partmap_test.in: Add missing double semicolon.
4730 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4732 * util/grub-mkrescue.in: Fix loongson filename.
4734 2013-04-25 Vladimir Serbinenko <phcoder@gmail.com>
4736 * util/grub-mkrescue.in: Move all files that don't have a location
4737 set in stone under /boot/grub. Use ISO hard links rather than copies
4740 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4742 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Ignore
4745 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4747 Make check work on mips-arc.
4749 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4751 * util/grub-mkrescue.in: Alias sashARCS as sash.
4753 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4755 * grub-core/term/arc/console.c: Assume that console is 80x24 vt100 if
4758 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4760 * util/grub-install.in: Fix target fo qemu_mips.
4761 Fix extension on EFI.
4763 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4765 * grub-core/normal/menu_text.c (print_entry): Put an asterisk
4766 in front of chosen entry to mark it even if highlighting is lost.
4768 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4770 * grub-core/loader/i386/linux.c (grub_linux_boot): Default to
4771 gfxpayload=keep if cbfb is active.
4773 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4775 * grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
4777 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4779 Add missing video ids to coreboot and ieee1275 video.
4781 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4783 * util/grub-mkrescue.in: Add mips-arc support.
4785 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4787 * grub-core/kern/dl.c (grub_dl_resolve_symbols): Handle malloc failure.
4789 2013-04-24 Vladimir Serbinenko <phcoder@gmail.com>
4791 Move mips-arc link address. Previous link address was chosen
4792 in belief that RAM on SGI platforms grows down while in fact it
4793 grows up from an unusual base.
4795 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4797 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate_iter):
4798 Fix a type which prevented CD-ROM and floppy boot.
4800 2013-04-21 Vladimir Serbinenko <phcoder@gmail.com>
4802 Support coreboot framebuffer.
4804 * grub-core/video/i386/coreboot/cbfb.c: New file.
4806 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4808 * grub-core/kern/mm.c (grub_mm_init_region): Fix condition for
4809 detecting too small regions.
4811 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4813 * grub-core/Makefile.core.def (legacycfg): Enable on EFI.
4815 2013-04-20 Vladimir Serbinenko <phcoder@gmail.com>
4817 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_alloc_region):
4819 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
4821 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4823 * grub-core/kern/ieee1275/init.c (grub_claim_heap): Improve handling
4824 of GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4825 * grub-core/loader/powerpc/ieee1275/linux.c
4826 (grub_linux_claimmap_iterate): Handle GRUB_IEEE1275_FLAG_FORCE_CLAIM.
4828 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4830 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4831 Look for /boot-rom as well as /rom/boot-rom.
4833 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4835 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix error
4836 handling when creating text_layer failed.
4837 * grub-core/video/video.c (grub_video_create_render_target):
4838 Set result to 0 on error.
4839 (grub_video_delete_render_target): Do not dereference NULL.
4841 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4843 * grub-core/kern/elfXX.c (grub_elfXX_load): Handle
4844 GRUB_ELF_LOAD_FLAGS_30BITS and GRUB_ELF_LOAD_FLAGS_62BITS.
4845 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32),
4846 (grub_linux_load64): Mask out 2 high bits.
4848 2013-04-19 Andrey Borzenkov <arvidjaar@gmail.com>
4850 * util/grub.d/30_os-prober.in: Add onstr to linux entries in one
4853 2013-04-19 Vladimir Serbinenko <phcoder@gmail.com>
4855 Add support for pseries and other bootinfo machines to grub-mkrescue.
4857 Tested by: Paulo Flabiano Smorigo.
4859 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4861 * util/grub-mkrescue.in: Add GPT for EFI boot.
4863 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4865 * grub-core/disk/efi/efidisk.c: Detect floppies by ACPI ID.
4866 It improves performance in qemu.
4868 2013-04-17 Vladimir Serbinenko <phcoder@gmail.com>
4870 * build-aux/snippet: Add missing gnulib files.
4872 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4874 * grub-core/disk/efi/efidisk.c: Really limit transfer chunk size.
4876 2013-04-16 Andrey Borzenkov <arvidjaar@gmail.com>
4878 * autogen.sh: Use "-f" in addition for "-h" when checking file presence.
4880 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4881 2013-04-15 Peter Jones <pjones@redhat.com>
4883 * grub-core/disk/efi/efidisk.c: Limit disk read or write chunk to 0x500
4885 Based on patch by Peter Jones.
4887 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4889 Fix DMRAID partition handling.
4891 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4893 * tests/grub_cmd_date.in: Skip on sparc64.
4895 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4897 * tests/grub_script_expansion.in: Use fixed-string grep to skip over
4898 firmware error messages.
4900 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4902 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_devalias_next): Make
4903 source and destination differ.
4905 2013-04-15 Vladimir Serbinenko <phcoder@gmail.com>
4907 * grub-core/disk/ieee1275/ofdisk.c: Fix CD-ROM and boot device
4910 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4912 * grub-core/lib/posix_wrap/sys/types.h: Make WORDS_BIGENDIAN definition
4913 match config-util.h to avoid warnings and increase compatibility.
4915 2013-04-14 Szymon Janc <szymon@janc.net.pl>
4916 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4918 Add option to compress files on install/image creation.
4920 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4922 * docs/grub-dev.texi: Rearrange menu to match the section order.
4923 Reported by: Bryan Hundven.
4925 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4927 * grub-core/loader/i386/linux.c: Remove useless leftover pointer.
4929 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4931 Move GRUB out of system area when using xorriso 1.2.9 or later.
4933 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4935 * tests/grub_cmd_date.in: Add missing exit 1.
4937 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4939 * tests/partmap_test.in: Skip on sparc64.
4941 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4943 Support grub-shell on sparc64.
4945 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4947 Support mkrescue on sparc64.
4949 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4951 Allow IEEE1275 ports on path even if it wasn't detected automatically.
4952 Needed on OpenBIOS due to incomplete device tree.
4954 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4956 * grub-core/disk/ieee1275/ofdisk.c: Iterate over bootpath even if it
4957 would be otherwise excluded.
4959 2013-04-14 Vladimir Serbinenko <phcoder@gmail.com>
4961 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options):
4962 Inline name defines used only once.
4964 2013-04-13 Vladimir Serbinenko <phcoder@gmail.com>
4966 Fix memory leaks in ofnet.
4967 Reported by: Francesco Lavra.
4969 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4971 * docs/man/grub-glue-efi.h2m: Add missing file.
4973 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4975 * util/grub-mkrescue.in: Fix wrong architecture for ppc dir.
4977 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4979 Better support Apple Intel Macs on CD.
4981 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4983 Replace stpcpy with grub_stpcpy in tools.
4985 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4987 Handle Japanese special keys.
4988 Reported by: Hiroyuki YAMAMORI.
4989 Codes supplied by: Hiroyuki YAMAMORI.
4991 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4993 * util/grub-mkimage.c: Document memdisk implying --prefix.
4995 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
4997 * grub-core/bus/usb/ehci.c (grub_ehci_fini_hw): Ignore errors, not
4998 much we can do about it anyway.
5000 2013-04-12 Aleš Nesrsta <starous@volny.cz>
5002 Fix handling of split transfers.
5004 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5006 * grub-core/net/http.c: Fix bad free.
5008 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5010 * grub-core/net/drivers/ieee1275/ofnet.c: Don't attempt to send more
5013 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5015 Disable partmap check on i386-ieee1275 due to openfirmware issues.
5017 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5019 * tests/util/grub-shell.in: Fix it on powerpc.
5021 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5023 Turn off QEMU ACPI-way since new releases don't have shutdown port
5026 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5028 * docs/grub.texi: Update coreboot status info.
5030 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5032 * tests/grub_cmd_date.in: New test for datetime.
5034 2013-04-12 Vladimir Serbinenko <phcoder@gmail.com>
5036 * tests/partmap_test.in: Fix missing qemudisk setting.
5038 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5040 Support i386-ieee1275 grub-mkrescue and make check on it.
5042 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5044 Merge powerpc grub-mkrescue flavour with common. Use xorriso HFS+
5047 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5049 * docs/grub.texi: Fix description of GRUB_CMDLINE_XEN and
5050 GRUB_CMDLINE_XEN_DEFAULT.
5051 Reported by: Marc Warne (GigaTux) <gigatux>
5053 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5057 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5059 Use ACPI shutdown intests as traditional port was removed.
5061 2013-04-11 Andrey Borzenkov <arvidjaar@gmail.com>
5063 * util/grub.d/30_os-prober.in: Add onstr to entries for visual
5066 2013-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5068 Fix missing PVs if they don't contain "interesting" LV. Closes #38677.
5069 Fix few warining messages and leaks while on it.
5071 2013-04-09 Andrey Borzenkov <arvidjaar@gmail.com>
5073 * autogen.sh: Use "-h", not "-f", to test for existence of symbolic
5074 links under grub-core/lib/libgcrypt-grub/mpi.
5076 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5078 Fix ia64-efi image generation on big-endian machines. Deduplicate
5079 some code while on it.
5080 Reported by: Leif Lindholm.
5082 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5084 * grub-core/Makefile.core.def: Add kern/elfXX.c to elf module
5087 2013-04-08 Andrey Borzenkov <arvidjaar@gmail.com>
5089 * grub-core/term/i386/pc/console.c: Fix cursor moving algorithm.
5091 2013-04-08 Bryan Hundven <bryanhundven@gmail.com>
5093 * docs/grub-dev.texi: Move @itemize after @subsection to satisfy
5096 2013-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5098 * grub-core/normal/term.c: Few more fixes for menu entry editor
5100 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5102 2013-04-07 Vladimir Serbinenko <phcoder@gmail.com>
5104 * grub-core/normal/term.c: Few more fixes for menu entry editor
5106 Reported by: Andrey Borzenkov <arvidjaar@gmail.com>
5108 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5110 * conf/Makefile.extra-dist (EXTRA_DIST): Add
5111 grub-core/lib/libgcrypt/src/gcrypt.h.in and util/import_gcrypth.sed.
5113 2013-04-06 Andrey Borzenkov <arvidjaar@gmail.com>
5115 * util/grub-install_header: Use @PACKAGE@.mo in message catalog name
5116 instead of hardcoding grub.mo.
5118 2013-04-05 Fedora Ninjas <grub2-owner@fedoraproject.org>
5120 * util/grub.d/30_os-prober.in: Support btrrfs linux-prober extensions.
5122 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5124 Use GRUB_PROPERLY_ALIGNED_ARRAY in grub-core/disk/cryptodisk.c and
5125 grub-core/disk/geli.c.
5127 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5129 * util/grub-mkfont.c: Prefer enum to #define.
5131 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5133 * grub-core/commands/acpi.c: Use sizeof rather than hardcoding the size.
5135 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5137 Replace 8 with GRUB_CHAR_BIT in several places when appropriate.
5139 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5141 Add new defines GRUB_RSDP_SIGNATURE_SIZE and GRUB_RSDP_SIGNATURE.
5143 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5145 * grub-core/commands/verify.c: Use GRUB_CHAR_BIT.
5147 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5149 * include/grub/bsdlabel.h: Use enums.
5151 2013-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5153 Move GRUB_CHAR_BIT to types.h.
5155 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5157 * docs/grub.texi: Document more user commands.
5159 2013-04-04 Andrey Borzenkov <arvidjaar@gmail.com>
5161 * docs/grub.texi: Document menuentry --id option.
5163 2013-04-04 Francesco Lavra <francescolavra.fl@gmail.com>
5165 * util/grub-mkimage.c: Introduce new define EFI32_HEADER_SIZE.
5167 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5169 Unify file copying setup across different install scripts. Add
5170 options for performing partial install.
5172 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5173 2013-04-04 Peter Jones <pjones@redhat.com>
5175 * grub-core/disk/efi/efidisk.c: Handle partitions on non-512B disks.
5177 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5179 Use TSC as a possible time source on i386-ieee1275.
5181 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5183 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_readwrite_packetize):
5186 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5188 * util/grub-setup.c (setup): Handle some corner cases.
5190 2013-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5192 * grub-core/lib/posix_wrap/locale.h [GRUB_UTIL]: Include host locale.h.
5194 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5196 * grub-core/commands/verify.c: Save verified file to avoid it being
5197 tampered with after verification was done.
5199 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5201 * grub-core/term/i386/pc/console.c (grub_console_getwh): Decrease
5202 reported width by one to compensate for curesor algorithm problem.
5204 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5206 Fix screen corruption in menu entry editor and simplify the code
5209 2013-04-03 Andrey Borzenkov <arvidjaar@gmail.com>
5211 * util/grub-mount.c (fuse_init): Return error if fuse_main
5214 2013-04-03 Francesco Lavra <francescolavra.fl@gmail.com>
5216 * include/grub/elf.h: Add missing ARM relocation codes and fix
5219 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5221 * grub-core/gfxmenu/gui_progress_bar.c: Handle padding sizes.
5223 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5224 2013-04-03 Vladimir Serbinenko <phcoder@gmail.com>
5226 * grub-core/gfxmenu/gui_circular_progress.c: Take both width and height
5227 into account when calculating radius.
5229 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5231 * grub-core/gfxmenu/view.c: Fix off-by-one error.
5233 2013-04-03 Vladimir Testov <vladimir.testov@rosalab.ru>
5235 * grub-core/gfxmenu/gui_circular_progress.c: Fix off-by-one error.
5237 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5239 * grub-core/partmap/apple.c (apple_partition_map_iterate): Add
5240 missing closing bracket.
5242 2013-04-01 Radosław Szymczyszyn <lavrin@gmail.com>
5244 * INSTALL: Mention xorriso requirement.
5246 2013-03-31 Andrey Borzenkov <arvidjaar@gmail.com>
5248 * grub-core/commands/verify.c: Fix hash algorithms values for
5249 the first three hashes - they start with 1, not with 0.
5251 2013-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5253 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services):
5254 Try terminating EFI services several times due to quirks in some
5257 2013-03-26 Colin Watson <cjwatson@ubuntu.com>
5259 * grub-core/commands/acpihalt.c (skip_ext_op): Add support for
5260 skipping Event, Device, Processor, PowerRes, ThermalZone, and
5261 BankField extended opcodes.
5262 (get_sleep_type): Add minimal scope handling (just enough to
5263 handle setting the scope to the root path).
5264 (grub_acpi_halt): Parse any SSDTs as well as the DSDT.
5265 * include/grub/acpi.h: Add enumeration values for Event, Device,
5266 Processor, PowerRes, ThermalZone, and BankField extended opcodes.
5268 2013-03-26 Vladimir Testov <vladimir.testov@rosalab.ru>
5270 * grub-core/gfxmenu/font.c (grub_font_get_string_width): Fix
5273 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5275 * grub-core/disk/ahci.c: Give more time for AHCI request.
5277 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5279 * grub-core/normal/menu.c: Wait if there were errors shown at "boot"
5282 2013-03-25 Vladimir Serbinenko <phcoder@gmail.com>
5284 Replace the region at 0 from coreboot tables to available in BSD
5287 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5289 * util/grub.d/20_linux_xen.in: Automatically add no-real-mode edd=off on
5292 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5294 * grub-core/Makefile.core.def (vga): Disable on coreboot and multiboot
5297 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5299 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
5300 handling of multi-device filesystems.
5302 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5304 * grub-core/Makefile.core.def (vbe): Disable on coreboot and multiboot
5307 2013-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5309 Add new 'proc' filesystem framework and put luks_script into it.
5311 2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5313 * grub-core/term/at_keyboard.c: Increase robustness on coreboot
5316 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5318 * grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
5320 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5322 Add ability to generate newc additions on runtime.
5324 2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
5326 * grub-core/commands/i386/coreboot/cbls.c: Fix typos and wrong
5329 2013-03-21 Vladimir Serbinenko <phcoder@gmail.com>
5331 * po/POTFILES.in: Regenerate.
5333 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5335 * grub-core/commands/verify.c (hashes): Add several hashes
5338 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5340 Slight improve in USB-related boot-time checkpoints.
5342 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5344 * grub-core/commands/boottime.c: Fix copyright header.
5346 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5348 New commands cbmemc, lscoreboot, coreboot_boottime to inspect
5349 coreboot tables content. Support for cbmemc.
5351 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5353 Fix a conflict between ports structures with 2 controllers of
5356 2013-03-20 Vladimir Serbinenko <phcoder@gmail.com>
5358 * include/grub/boottime.h: Add missing file.
5360 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5362 Initialize USB ports in parallel to speed-up boot.
5364 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5366 Fix USB devices not being detected when requested
5367 due to delayed attach.
5369 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5371 Implement boot time analysis framework.
5373 2013-03-19 Vladimir Serbinenko <phcoder@gmail.com>
5375 Remove get_endpoint_descriptor and change all functions needing
5376 descriptor to just receive it as argument rather than endpoint
5379 2013-03-19 Aleš Nesrsta <starous@volny.cz>
5381 Better estimate the maximum USB transfer size.
5383 2013-03-17 Vladimir Serbinenko <phcoder@gmail.com>
5385 Resend a packet if we got the wrong buffer in status.
5387 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5389 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Use
5390 multiplication rather than division.
5392 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5394 * grub-core/lib/arg.c (grub_arg_list_alloc): Use shifts rather
5397 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5399 * grub-core/commands/verify.c (grub_verify_signature): Use unsigned
5400 operations to have intended shifts and not divisions.
5402 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5404 * grub-core/loader/i386/pc/plan9.c (fill_disk): Fix types to use
5405 intended shifts rather than division.
5407 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5409 * include/grub/datetime.h (grub_datetime2unixtime): Fix unixtime
5410 computation for some years before epoch. Avode confusing division
5413 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5415 * grub-core/video/i386/pc/vbe.c
5416 (grub_video_vbe_print_adapter_specific_info): Replace division by
5419 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5421 Adjust types in gdb module to have intended unsigned shifts rather than
5424 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5426 * grub-core/fs/hfs.c (grub_hfs_read_file): Avoid divmod64 since the
5427 maximum size is 4G - 1 on hfs
5429 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5431 Avoid costly 64-bit division in grub_get_time_ms on most platforms.
5433 2013-03-10 Vladimir Serbinenko <phcoder@gmail.com>
5435 * grub-core/fs/fshelp.c (grub_fshelp_log2blksize): Remove now unused
5438 2013-03-07 Andrey Borzenkov <arvidjaar@gmail.com>
5440 * grub-core/fs/iso9660.c (add_part): Remove always_inline attribute
5441 causing gcc error with gcc 4.7.1.
5443 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5445 * grub-core/commands/acpi.c (grub_acpi_create_ebda): Don't
5446 dereference null pointer. While the code is technically correct, gcc
5447 may eliminate a null check if pointer is already dereferenced.
5449 2013-03-07 Nickolai Zeldovich <nickolai@csail.mit.edu>
5451 * grub-core/normal/crypto.c (read_crypto_list): Fix incorrect
5453 * grub-core/normal/term.c (read_terminal_list): Likewise.
5455 2013-03-07 Vladimir Serbinenko <phcoder@gmail.com>
5457 Lift up core size limits on some platforms. Fix potential memory
5458 corruption with big core on small memory systems. Document remaining
5461 2013-03-05 Vladimir Serbinenko <phcoder@gmail.com>
5463 * grub-core/term/terminfo.c (grub_terminfo_cls): Issue an explicit
5466 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5468 Remove all trampoline support. Add -Wtrampolines when
5469 present. Remove symbols used for trampolines to make
5470 link fail if trampolines are present.
5472 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5474 * grub-core/script/execute.c (grub_script_arglist_to_argv): Move
5475 append out of its parent.
5477 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5479 * grub-core/commands/regexp.c (set_matches): Move setvar out of its
5482 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5484 * grub-core/kern/env.c, include/grub/env.h: Change iterator through
5485 all vars to a macro. All users updated.
5487 2013-03-03 Vladimir Serbinenko <phcoder@gmail.com>
5489 * grub-core/disk/ieee1275/nand.c: Fix compilation on
5492 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5494 * include/grub/cmos.h: Handle high CMOS addresses on sparc64.
5496 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5498 * include/grub/mips/loongson/cmos.h: Fix high CMOS addresses.
5500 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5502 Move to more hookless approach in IEEE1275 devices handling.
5504 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5506 * grub-core/kern/term.c (grub_term_normal_color),
5507 (grub_term_highlight_color): Add back lost defaults.
5509 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5511 Make elfload not use hooks. Opt for flags and iterators instead.
5513 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5515 * grub-core/lib/ia64/longjmp.S: Fix the name of longjmp function.
5516 * grub-core/lib/ia64/setjmp.S: Fix the name of setjmp function.
5518 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5520 * grub-core/script/execute.c (gettext_append): Remove nested functions.
5522 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5524 * grub-core/normal/charset.c (grub_bidi_logical_to_visual): Add
5525 hook pass-through parameter. All users updated and unnested.
5527 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5529 * grub-core/commands/loadenv.c (grub_cmd_list_env): Move print_var
5532 2013-03-02 Vladimir Serbinenko <phcoder@gmail.com>
5534 * grub-core/fs/hfs.c: Remove nested functions.
5536 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5538 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Pass
5539 the context through.
5540 (grub_hfsplus_iterate_dir): Move nested function out of its parent.
5542 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5544 * util/grub-editenv.c (list_variables): Move print_var out of its
5547 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5549 * grub-core/kern/emu/hostdisk.c (read_device_map): Remove nested
5552 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5554 * grub-core/gentrigtables.c: Make tables const.
5556 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5558 Remove nested functions from videoinfo iterators.
5560 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5562 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Fix compilation
5563 for 64-bit platforms.
5565 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5567 * grub-core/disk/efi/efidisk.c: Transform iterate_child_devices into
5568 a FOR_CHILDREN macro.
5570 2013-03-01 Vladimir Serbinenko <phcoder@gmail.com>
5572 * grub-core/kern/main.c (grub_set_prefix_and_root): Strip trailing
5573 platform from firmware path.
5575 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5577 Enable linux16 on non-BIOS systems for i.a. memtest.
5579 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Handle hole at 0
5581 * grub-core/Makefile.core.def (linux16): Enable on all x86 flavours.
5583 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5585 * grub-core/kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate):
5586 Fix end of table condition.
5588 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5590 * grub-core/lib/arg.c (grub_arg_show_help): Move showargs
5593 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5595 * grub-core/fs/jfs.c: Remove nested functions.
5597 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5599 * grub-core/fs/minix.c: Remove nested functions.
5601 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5603 * grub-core/fs/iso9660.c: Remove nested functions.
5605 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5607 * grub-core/commands/parttool.c (grub_cmd_parttool): Move show_help out
5610 2013-02-28 Vladimir Serbinenko <phcoder@gmail.com>
5612 * util/grub-fstest.c: Remove nested functions.
5614 2013-02-27 Vladimir Serbinenko <phcoder@gmail.com>
5616 * grub-core/loader/machoXX.c: Remove nested functions.
5618 2013-02-27 Colin Watson <cjwatson@ubuntu.com>
5620 Remove nested functions from disk and file read hooks.
5622 * include/grub/disk.h (grub_disk_read_hook_t): New type.
5623 (struct grub_disk): Add read_hook_data member.
5624 * include/grub/file.h (struct grub_file): Likewise.
5625 * include/grub/fshelp.h (grub_fshelp_read_file): Add read_hook_data
5630 2012-02-27 Andrey Borzenkov <arvidjaar@gmail.com>
5632 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate):
5633 Fix off by one error in enumerating extended partitions.
5635 2013-02-26 Andrey Borzenkov <arvidjaar@gmail.com>
5637 * grub-core/disk/efi/efidisk.c(grub_efidisk_get_device_name): Fix
5638 memory leak if device name is not found.
5640 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5642 * grub-core/normal/menu_entry.c (update_screen): remove
5643 unused variable `off' which caused scroll down arrow to be always shown.
5645 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5647 * grub-core/normal/menu_entry.c (insert_string): fix off by one
5648 access to unallocated memory.
5650 2013-02-25 Andrey Borzenkov <arvidjaar@gmail.com>
5652 * Makefile.util.def: Add partmap/msdos.c to common library.
5653 * include/grub/msdos_partition.h: Add GRUB_PC_PARTITION_TYPE_LDM
5654 * grub-core/disk/ldm.c: Check for existence of
5655 GRUB_PC_PARTITION_TYPE_LDM.
5657 2013-02-25 Vladimir Serbinenko <phcoder@gmail.com>
5659 * grub-core/normal/misc.c (grub_normal_print_device_info): Use KiB to display
5660 sizes and display sector size.
5662 2013-02-24 Vladimir Serbinenko <phcoder@gmail.com>
5664 Implement new command cmosdump.
5666 2013-02-19 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
5668 Support Openfirmware disks with non-512B sectors.
5670 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Get the block
5672 * (grub_ofdisk_get_block_size): New function.
5673 * (grub_ofdisk_prepare): Use the correct block size.
5674 * (grub_ofdisk_read): Likewise.
5675 * (grub_ofdisk_write): Likewise.
5676 * include/grub/ieee1275/ofdisk.h (grub_ofdisk_get_block_size):
5679 2013-02-06 Vladimir Serbinenko <phcoder@gmail.com>
5681 * grub-core/commands/lsacpi.c: Fix types on 64-bit platform.
5683 2013-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5685 * grub-core/disk/cryptodisk.c (grub_cryptodisk_scan_device): Don't stop
5688 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5690 * grub-core/fs/fshelp.c (find_file): Set oldnode to zero after
5693 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5695 Implement USBDebug (full USB stack variant).
5697 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5699 * grub-core/commands/lsacpi.c: Show more info. Hide some boring parts
5700 unless they have unexpected values.
5702 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5704 * grub-core/bus/usb/usb.c (grub_usb_device_attach): Add missing
5707 2013-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5709 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach): Fix missing
5710 zero-out of port structure.
5712 2013-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5714 * grub-core/fs/xfs.c (grub_xfs_read_block): Fix computation in presence
5715 of extended attributes.
5717 2013-01-27 Andrey Borzenkov <arvidjaar@gmail.com>
5719 * util/grub-install.in: change misleading comment about
5722 2013-01-27 Vladimir Serbinenko <phcoder@gmail.com>
5724 * grub-core/normal/menu_text.c (grub_menu_init_page): Fix behaviour
5725 when menu highlight color isn't set.
5727 2013-01-27 C. Masloch <pushbx@38.de>
5729 Improve FreeDOS direct loading support compatibility.
5731 * include/grub/i386/relocator.h (grub_relocator16_state):
5733 * grub-core/lib/i386/relocator.c (grub_relocator16_ebp): New extern
5735 (grub_relocator16_boot): Handle %ebp.
5736 * grub-core/lib/i386/relocator16.S: Likewise.
5737 * grub-core/loader/i386/pc/freedos.c:
5738 Load BPB to pass kernel which partition to load from.
5739 Check that kernel file is not too large.
5740 Set register dl to BIOS unit number as well.
5742 2013-01-22 Colin Watson <cjwatson@ubuntu.com>
5744 * util/grub-reboot.in (usage): Document the need for
5746 * util/grub-set-default.in (usage): Likewise.
5747 Reported by: Brian Candler. Fixes Ubuntu bug #1102925.
5749 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5751 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Include sys/types.h rather
5752 than defining WORDS_BIGENDIAN manually.
5754 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5756 * include/grub/kernel.h (FOR_MODULES): Adjust to preserve alignment
5759 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5761 * grub-core/font/font.c (blit_comb: do_blit): Make static instead of
5763 (blit_comb: add_device_width): Likewise.
5765 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5767 Remove nested functions from USB iterators.
5769 * include/grub/usb.h (grub_usb_iterate_hook_t): New type.
5770 (grub_usb_controller_iterate_hook_t): Likewise.
5771 (grub_usb_iterate): Add hook_data argument.
5772 (grub_usb_controller_iterate): Likewise.
5773 (struct grub_usb_controller_dev.iterate): Likewise.
5775 Update all implementations and callers.
5777 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5779 * grub-core/normal/term.c (print_ucs4_terminal): Don't output right
5780 margin when not needed.
5782 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5784 Make color variables global instead of it being per-terminal.
5786 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5788 * grub-core/commands/ls.c (grub_ls_print_devices): Add missing
5791 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5793 Fix powerpc and sparc64 build failures caused by un-nesting memory
5796 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5798 * grub-core/disk/arc/arcdisk.c (grub_arcdisk_iterate): Fix
5799 parameter declarations.
5801 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5803 * grub-core/commands/lsmmap.c: Fix unused variable on emu.
5805 2013-01-21 Vladimir Serbinenko <phcoder@gmail.com>
5807 Improve spkmomdem reliability by adding a separator between bytes.
5809 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5811 * grub-core/partmap/msdos.c (embed_signatures): Add the signature of
5812 an Acer registration utility with several sightings in the wild.
5813 Reported by: Rickard Westman. Fixes Ubuntu bug #987022.
5815 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5817 Remove nested functions from filesystem directory iterators.
5819 * include/grub/fs.h (grub_fs_dir_hook_t): New type.
5820 (struct grub_fs.dir): Add hook_data argument.
5822 Update all implementations and callers.
5824 2013-01-21 Colin Watson <cjwatson@ubuntu.com>
5826 * docs/grub.texi (Multi-boot manual config): Fix typo for
5829 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5831 * util/grub-mkimage.c (main): Postpone freeing arguments.output
5832 until after its use in generate_image.
5834 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5836 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Don't add the
5837 initrd size to addr_min, since the initrd will be allocated after
5840 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5842 * conf/Makefile.common: Fix autogen rules to pass definition
5843 files on stdin; Makefile.util.am needs Makefile.utilgcry.def
5845 2013-01-20 Leif Lindholm <leif.lindholm@arm.com>
5847 * include/grub/elf.h: Update ARM definitions based on binutils.
5849 2013-01-20 Aleš Nesrsta <starous@volny.cz>
5851 Split long USB transfers into short ones.
5853 2013-01-20 Andrey Borzenkov <arvidjaar@gmail.com>
5855 * docs/grub.texi (Simple configuration): Clarify GRUB_HIDDEN_TIMEOUT
5856 is interrupted by ESC.
5858 2013-01-20 Vladimir Serbinenko <phcoder@gmail.com>
5860 * util/grub-script-check.c (main): Uniform the error message.
5862 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5864 Remove nested functions from ELF iterators.
5866 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5868 Remove nested functions from device iterators.
5870 * include/grub/arc/arc.h (grub_arc_iterate_devs_hook_t): New type.
5871 (grub_arc_iterate_devs): Add hook_data argument.
5872 * include/grub/ata.h (grub_ata_dev_iterate_hook_t): New type.
5873 (struct grub_ata_dev.iterate): Add hook_data argument.
5874 * include/grub/device.h (grub_device_iterate_hook_t): New type.
5875 (grub_device_iterate): Add hook_data argument.
5876 * include/grub/disk.h (grub_disk_dev_iterate_hook_t): New type.
5877 (struct grub_disk_dev.iterate): Add hook_data argument.
5878 (grub_disk_dev_iterate): Likewise.
5879 * include/grub/gpt_partition.h (grub_gpt_partition_map_iterate):
5881 * include/grub/msdos_partition.h (grub_partition_msdos_iterate):
5883 * include/grub/partition.h (grub_partition_iterate_hook_t): New
5885 (struct grub_partition_map.iterate): Add hook_data argument.
5886 (grub_partition_iterate): Likewise.
5887 * include/grub/scsi.h (grub_scsi_dev_iterate_hook_t): New type.
5888 (struct grub_scsi_dev.iterate): Add hook_data argument.
5892 2013-01-20 Colin Watson <cjwatson@ubuntu.com>
5894 Fix typos for "developer" and "development".
5896 2013-01-18 Vladimir Serbinenko <phcoder@gmail.com>
5898 Add license header to spkmodem-recv.c.
5900 2013-01-17 Vladimir Serbinenko <phcoder@gmail.com>
5902 Rewrite spkmodem to use PIT for timing. Double the speed.
5904 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5906 Add new command pcidump.
5908 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5910 New terminal outputs using serial: morse and spkmodem.
5912 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5914 Improve bidi handling in entry editor.
5916 2013-01-16 Vladimir Serbinenko <phcoder@gmail.com>
5918 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5919 argument to prevent name collision.
5921 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5923 Remove nested functions from script reading and parsing.
5925 * grub-core/kern/parser.c (grub_parser_split_cmdline): Add
5926 getline_data argument, passed to getline.
5927 * grub-core/kern/rescue_parser.c (grub_rescue_parse_line): Add
5928 getline_data argument, passed to grub_parser_split_cmdline.
5929 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Pass
5930 lexerstate->getline_data to lexerstate->getline.
5931 (grub_script_lexer_init): Add getline_data argument, saved in
5932 lexerstate->getline_data.
5933 * grub-core/script/main.c (grub_normal_parse_line): Add getline_data
5934 argument, passed to grub_script_parse.
5935 * grub-core/script/script.c (grub_script_parse): Add getline_data
5936 argument, passed to grub_script_lexer_init.
5937 * include/grub/parser.h (grub_parser_split_cmdline): Update
5938 prototype. Update all callers to pass appropriate getline data.
5939 (struct grub_parser.parse_line): Likewise.
5940 (grub_rescue_parse_line): Likewise.
5941 * include/grub/reader.h (grub_reader_getline_t): Add void *
5943 * include/grub/script_sh.h (struct grub_lexer_param): Add
5944 getline_data member.
5945 (grub_script_parse): Update prototype. Update all callers to pass
5946 appropriate getline data.
5947 (grub_script_lexer_init): Likewise.
5948 (grub_normal_parse_line): Likewise.
5950 * grub-core/commands/legacycfg.c (legacy_file_getline): Add unused
5952 * grub-core/kern/parser.c (grub_parser_execute: getline): Make
5953 static instead of nested. Rename to ...
5954 (grub_parser_execute_getline): ... this.
5955 * grub-core/kern/rescue_reader.c (grub_rescue_read_line): Add unused
5957 * grub-core/normal/main.c (read_config_file: getline): Make static
5958 instead of nested. Rename to ...
5959 (read_config_file_getline): ... this.
5960 (grub_normal_read_line): Add unused data argument.
5961 * grub-core/script/execute.c (grub_script_execute_sourcecode:
5962 getline): Make static instead of nested. Rename to ...
5963 (grub_script_execute_sourcecode_getline): ... this.
5964 * util/grub-script-check.c (main: get_config_line): Make static
5967 2013-01-15 Colin Watson <cjwatson@ubuntu.com>
5969 Remove nested functions from memory map iterators.
5971 * grub-core/efiemu/mm.c (grub_efiemu_mmap_iterate): Add hook_data
5972 argument, passed to hook.
5973 * grub-core/kern/i386/coreboot/mmap.c
5974 (grub_linuxbios_table_iterate): Likewise.
5975 (grub_machine_mmap_iterate: iterate_linuxbios_table): Make static
5977 (grub_machine_mmap_iterate): Add hook_data argument.
5978 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_iterate):
5979 Add hook_data argument, passed to hook.
5980 * grub-core/kern/i386/pc/mmap.c (grub_machine_mmap_iterate):
5982 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5984 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate):
5986 * grub-core/kern/mips/arc/init.c (grub_machine_mmap_iterate):
5988 * grub-core/kern/mips/loongson/init.c (grub_machine_mmap_iterate):
5990 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_mmap_iterate):
5992 * grub-core/mmap/efi/mmap.c (grub_efi_mmap_iterate): Likewise.
5993 (grub_machine_mmap_iterate): Likewise.
5994 * grub-core/mmap/mmap.c (grub_mmap_iterate): Likewise.
5995 * include/grub/efiemu/efiemu.h (grub_efiemu_mmap_iterate): Update
5997 * include/grub/memory.h (grub_memory_hook_t): Add data argument.
5998 Remove NESTED_FUNC_ATTR from here and from all users.
5999 (grub_mmap_iterate): Update prototype.
6000 (grub_efi_mmap_iterate): Update prototype. Update all callers to
6001 pass appropriate hook data.
6002 (grub_machine_mmap_iterate): Likewise.
6004 * grub-core/commands/acpi.c (grub_acpi_create_ebda: find_hook): Make
6005 static instead of nested.
6006 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap: hook): Likewise.
6008 (lsmmap_hook): ... this.
6009 * grub-core/efiemu/mm.c (grub_efiemu_mmap_init: bounds_hook):
6011 (grub_efiemu_mmap_fill: fill_hook): Likewise.
6012 * grub-core/kern/i386/coreboot/init.c (grub_machine_init:
6013 heap_init): Likewise.
6014 * grub-core/kern/i386/pc/init.c (grub_machine_init: hook): Likewise.
6016 (mmap_iterate_hook): ... this.
6017 * grub-core/kern/ieee1275/init.c (grub_claim_heap: heap_init):
6019 * grub-core/lib/ieee1275/relocator.c
6020 (grub_relocator_firmware_get_max_events: count): Likewise.
6021 (grub_relocator_firmware_fill_events: fill): Likewise. Rename
6023 (grub_relocator_firmware_fill_events_iter): ... this.
6024 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align:
6025 hook): Likewise. Rename to ...
6026 (grub_relocator_alloc_chunk_align_iter): ... this.
6027 * grub-core/loader/i386/bsd.c (generate_e820_mmap: hook): Likewise.
6029 (generate_e820_mmap_iter): ... this.
6030 * grub-core/loader/i386/linux.c (find_mmap_size: hook): Likewise.
6032 (count_hook): ... this.
6033 (grub_linux_boot: hook): Likewise. Rename to ...
6034 (grub_linux_boot_mmap_find): ... this.
6035 (grub_linux_boot: hook_fill): Likewise. Rename to ...
6036 (grub_linux_boot_mmap_fill): ... this.
6037 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap:
6038 hook): Likewise. Rename to ...
6039 (grub_fill_multiboot_mmap_iter): ... this.
6040 * grub-core/loader/multiboot.c (grub_get_multiboot_mmap_count:
6041 hook): Likewise. Rename to ...
6042 (count_hook): ... this.
6043 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap:
6044 hook): Likewise. Rename to ...
6045 (grub_fill_multiboot_mmap_iter): ... this.
6046 * grub-core/loader/powerpc/ieee1275/linux.c
6047 (grub_linux_claimmap_iterate: alloc_mem): Likewise.
6048 * grub-core/loader/sparc64/ieee1275/linux.c (alloc_phys: choose):
6049 Likewise. Rename to ...
6050 (alloc_phys_choose): ... this.
6051 (determine_phys_base: get_physbase): Likewise.
6052 * grub-core/mmap/i386/mmap.c (grub_mmap_malign_and_register:
6053 find_hook): Likewise.
6054 * grub-core/mmap/i386/pc/mmap.c (preboot: fill_hook): Likewise.
6055 (malloc_hook: count_hook): Likewise.
6056 * grub-core/mmap/i386/uppermem.c (grub_mmap_get_lower: hook):
6057 Likewise. Rename to ...
6058 (lower_hook): ... this.
6059 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6060 (upper_hook): ... this.
6061 (grub_mmap_get_post64: hook): Likewise. Rename to ...
6062 (post64_hook): ... this.
6063 * grub-core/mmap/mips/uppermem.c (grub_mmap_get_lower: hook):
6064 Likewise. Rename to ...
6065 (lower_hook): ... this.
6066 (grub_mmap_get_upper: hook): Likewise. Rename to ...
6067 (upper_hook): ... this.
6068 * grub-core/mmap/mmap.c (grub_mmap_iterate: count_hook): Likewise.
6069 (grub_mmap_iterate: fill_hook): Likewise.
6070 (fill_mask): Pass addr and mask within a single struct.
6071 (grub_cmd_badram: hook): Make static instead of nested. Rename
6073 (badram_iter): ... this.
6074 (grub_cmd_cutmem: hook): Likewise. Rename to ...
6075 (cutmem_iter): ... this.
6077 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6079 * grub-core/kern/emu/hostdisk.c (read_device_map): Explicitly
6080 delimit path in strings using quotes.
6081 * util/getroot.c (grub_guess_root_devices): Likewise.
6082 (grub_make_system_path_relative_to_its_root): Likewise.
6083 * util/grub-probe.c (probe): Likewise.
6084 * util/ieee1275/ofpath.c (find_obppath): Likewise.
6085 (xrealpath): Likewise.
6087 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6089 Fix compilation with older compilers.
6091 * grub-core/Makefile.core.def (mpi): Add mpi-inline.c.
6092 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h: Remove redundant
6094 * grub-core/lib/posix_wrap/string.h: Include sys/types.h.
6095 * grub-core/lib/posix_wrap/sys/types.h: Add common types.
6096 * grub-core/lib/xzembed/xz_dec_lzma2.c (dict_put): Replace byte
6098 * grub-core/lib/xzembed/xz_dec_stream.c (dec_vli): Likewise.
6099 * include/grub/crypto.h: Add type defines.
6100 * util/import_gcrypth.sed: Remove duplicate type defines.
6102 2013-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6104 New command list_trusted.
6106 * grub-core/commands/verify.c (grub_cmd_list): New function.
6108 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6110 * util/grub-mkimage.c (generate_image): Fix "size of public key"
6113 2013-01-13 Colin Watson <cjwatson@ubuntu.com>
6115 Remove nested functions from PCI iterators.
6117 * grub-core/bus/pci.c (grub_pci_iterate): Add hook_data argument,
6118 passed to hook. Update all callers to pass appropriate hook data.
6119 * grub-core/bus/emu/pci.c (grub_pci_iterate): Likewise.
6120 * include/grub/pci.h (grub_pci_iteratefunc_t): Add data argument.
6121 Remove NESTED_FUNC_ATTR from here and from all users.
6122 (grub_pci_iterate): Update prototype.
6123 * grub-core/bus/cs5536.c (grub_cs5536_find: hook): Make static
6124 instead of nested. Rename to ...
6125 (grub_cs5536_find_iter): ... this.
6126 * grub-core/kern/efi/mm.c (stop_broadcom: find_card): Likewise.
6127 * grub-core/kern/mips/loongson/init.c (init_pci: set_card):
6129 * grub-core/kern/vga_init.c (grub_qemu_init_cirrus: find_card):
6131 * grub-core/video/bochs.c (grub_video_bochs_setup: find_card):
6133 * grub-core/video/cirrus.c (grub_video_cirrus_setup: find_card):
6135 * grub-core/video/efi_uga.c (find_framebuf: find_card): Likewise.
6136 * grub-core/video/radeon_fuloong2e.c
6137 (grub_video_radeon_fuloong2e_setup: find_card): Likewise.
6138 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup:
6139 find_card): Likewise.
6140 * grub-core/video/sm712.c (grub_video_sm712_setup: find_card):
6143 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6145 * grub-core/commands/verify.c: Mark messages for translating.
6147 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6149 * grub-core/lib/libgcrypt_wrap/mem.c (gcry_x*alloc): Make out of memory
6152 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6154 * grub-core/lib/libgcrypt_wrap/mem.c (_gcry_log_bug): Make gcrypt bugs
6157 2013-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6159 * autogen.sh: Do not try to delete nonexistant files.
6160 * util/import_gcrypth.sed: Add some missing header removals.
6162 2013-01-12 Colin Watson <cjwatson@ubuntu.com>
6164 Clean up dangling references to grub-setup.
6165 Fixes Ubuntu bug #1082045.
6167 * docs/grub.texi (Images): Refer generally to grub-install rather
6168 than directly to grub-setup.
6169 (Installing GRUB using grub-install): Remove direct reference to
6171 (Device map) Likewise.
6172 (Invoking grub-install): Likewise.
6173 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
6174 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
6175 * util/grub-install.in (usage): Likewise.
6177 * util/bash-completion.d/grub-completion.bash.in (_grub_setup):
6178 Apply to grub-bios-setup and grub-sparc64-setup rather than to
6180 * configure.ac: Remove grub_setup output variable.
6182 * docs/man/grub-bios-setup.h2m (NAME): Change name from grub-setup
6184 * docs/man/grub-sparc64-setup.h2m (NAME): Change name from
6185 grub-setup to grub-sparc64-setup.
6187 2013-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6189 Import gcrypt public-key cryptography and implement signature checking.
6191 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6193 * grub-core/fs/ntfs.c: Ue more appropriate types.
6194 * grub-core/fs/ntfscomp.c: Likewise.
6195 * include/grub/ntfs.h: Likewise.
6197 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6199 Support Apple FAT binaries on non-Apple platforms.
6201 * include/grub/macho.h (GRUB_MACHO_FAT_EFI_MAGIC): New define.
6202 * include/grub/i386/macho.h (GRUB_MACHO_CPUTYPE_IS_HOST_CURRENT):
6204 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Parse
6207 2013-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6209 * grub-core/kern/disk.c (grub_disk_write): Fix sector number on 4K
6212 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6214 * grub-core/io/bufio.c (grub_bufio_open): Use grub_zalloc instead of
6215 explicitly zeroing elements.
6216 * grub-core/io/gzio.c (grub_gzio_open): Likewise.
6217 * grub-core/io/lzopio.c (grub_lzopio_open): Remove explicit zeroing
6218 of elements in a structure already allocated using grub_zalloc.
6219 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6221 2013-01-07 Colin Watson <cjwatson@ubuntu.com>
6223 * docs/grub.texi (grub_cpu): New subsection.
6224 (grub_platform): Likewise.
6226 2013-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6228 * grub-core/fs/minix.c (grub_minix_read_file): Simplify arithmetics.
6230 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6232 * grub-core/fs/ext2.c (grub_ext2_read_block): Use shifts rather than
6235 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6237 * grub-core/fs/ntfs.c: Eliminate useless divisions in favor of shifts.
6238 * grub-core/fs/ntfscomp.c: Likewise.
6239 * include/grub/ntfs.h (grub_ntfs_data): Replace spc with log_spc.
6240 (grub_ntfs_comp): Likewise.
6242 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6244 * grub-core/fs/nilfs2.c (-grub_nilfs2_palloc_groups_per_desc_block):
6246 (grub_nilfs2_palloc_log_groups_per_desc_block): ... this. Return log
6247 of groups_per_block. All users updated.
6249 2013-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6251 * grub-core/disk/diskfilter.c (grub_diskfilter_write): Call
6252 grub_error properly.
6253 * grub-core/disk/ieee1275/nand.c (grub_nand_write): Likewise.
6254 * grub-core/disk/loopback.c (grub_loopback_write): Likewise.
6256 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6258 * util/grub.d/10_kfreebsd.in: Correct the patch to zpool.cache as it's
6259 always in /boot/zfs.
6260 Reported by: Yuta Satoh.
6262 2013-01-03 Yuta Satoh <nigoro>
6264 * util/grub.d/10_kfreebsd.in: Fix improper references to grub-probe by
6267 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6269 * configure.ac: Extend -Wno-trampolines to host.
6271 2013-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6273 * grub-core/fs/iso9660.c (grub_iso9660_susp_iterate): Avoid hang if
6276 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6278 * docs/grub.texi (Invoking grub-mkrelpath): New section.
6279 (Invoking grub-script-check): Likewise.
6281 2013-01-03 Colin Watson <cjwatson@ubuntu.com>
6283 * docs/grub.texi (Invoking grub-mount): New section.
6284 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
6286 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6288 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
6289 test failures, so that a failing unit test correctly causes 'make
6292 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6294 Fix failing printf test.
6296 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
6297 '$' in the correct order when collecting type information.
6299 2013-01-02 Colin Watson <cjwatson@ubuntu.com>
6301 * docs/grub.texi (configfile): Explain environment variable
6303 (source): New section.
6304 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
6306 2012-12-31 Colin Watson <cjwatson@ubuntu.com>
6308 Remove several trivially-unnecessary uses of nested functions.
6310 * grub-core/commands/i386/pc/sendkey.c
6311 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
6313 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
6315 (legacy_file_getline): ... this.
6316 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
6318 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
6319 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
6321 (probe_dummy_iter): ... this.
6322 * grub-core/kern/i386/coreboot/mmap.c
6323 (grub_linuxbios_table_iterate: check_signature): Likewise.
6324 * grub-core/kern/parser.c (grub_parser_split_cmdline:
6325 check_varstate): Likewise. Mark inline.
6326 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
6327 an additional parameter.
6328 (find_long: fnd_long): Likewise. Pass two additional parameters.
6329 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
6330 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
6331 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
6332 Likewise. Rename to ...
6333 (grub_cmos_find_port_iter): ... this.
6334 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
6336 (find_rtc_iter): ... this.
6338 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
6339 function directly into the function body, since it is only called
6342 2012-12-30 Colin Watson <cjwatson@ubuntu.com>
6344 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
6345 __attribute__ ((unused)).
6346 * grub-core/video/bochs.c (find_card): Likewise.
6347 * grub-core/video/cirrus.c (find_card): Likewise.
6348 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
6349 * grub-core/video/sis315pro.c (find_card): Likewise.
6350 * grub-core/video/sm712.c (find_card): Likewise.
6352 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6354 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
6355 Fixes Savannah bug #37821.
6357 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6359 Apply program name transformations at build-time rather than at
6360 run-time. Fixes Debian bug #696465.
6362 * acinclude.m4 (grub_TRANSFORM): New macro.
6363 * configure.ac: Create output variables with transformed names for
6365 * util/bash-completion.d/grub-completion.bash.in: Use
6366 pre-transformed variables for program names.
6367 * util/grub-install.in: Likewise.
6368 * util/grub-kbdcomp.in: Likewise.
6369 * util/grub-mkconfig.in: Likewise.
6370 * util/grub-mkconfig_lib.in: Likewise.
6371 * util/grub-mknetdir.in: Likewise.
6372 * util/grub-mkrescue.in: Likewise.
6373 * util/grub-mkstandalone.in: Likewise.
6374 * util/grub-reboot.in: Likewise.
6375 * util/grub-set-default.in: Likewise.
6376 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
6377 * tests/util/grub-shell-tester.in: Remove unused assignment.
6378 * tests/util/grub-shell.in: Likewise.
6379 * util/grub.d/00_header.in: Likewise.
6381 2012-12-28 Colin Watson <cjwatson@ubuntu.com>
6383 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
6385 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6387 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
6389 2012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6391 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
6392 Reported by: Eriks Latosheks <foresterlv>.
6394 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6396 * docs/grub.texi (Network): Update instructions on generating netboot
6399 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6401 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
6402 around device name if necessarry.
6404 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6406 * util/grub-install.in: Follow the symbolic link parameter added
6407 to the file command.
6409 2012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
6411 * util/grub-install.in: Remove stale TODO.
6413 2012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6415 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
6416 dynamic allocation for the bootpath buffer.
6418 2012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
6420 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
6423 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6425 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
6426 argument rather than font name. All users updated.
6427 (grub_gfxterm_set_window): Likewise.
6429 2012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
6431 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
6434 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6436 * util/getroot.c (convert_system_partition_to_system_disk): Support
6439 2012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6441 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
6442 infinite loop on corrupted FS.
6444 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6446 Fix big-endian mtime.
6448 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
6449 together sec and usec.
6450 (grub_ufs_dir): Use correct byteswapping for UFS time.
6452 2012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
6454 Support big-endian UFS1.
6456 * Makefile.util.def (libgrubmods): Add ufs_be.c
6457 * grub-core/Makefile.core.def (ufs1_be): New module.
6458 * grub-core/fs/ufs_be.c: New file.
6459 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
6462 2012-11-28 Leif Lindholm <leif.lindholm@arm.com>
6464 * include/grub/types.h: Fix functionality unaffecting typo in
6465 GRUB_TARGET_WORDSIZE conditional macro.
6467 2012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
6469 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
6471 2012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
6473 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
6474 that /netbsd appears first (when it exists).
6476 2012-10-12 Christoph Junghans <ottxor@gentoo.org>
6478 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
6479 Fixes Savannah bug #37558.
6481 2012-10-12 Colin Watson <cjwatson@ubuntu.com>
6483 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
6484 description of extract_entries_configfile.
6486 2012-10-05 Colin Watson <cjwatson@ubuntu.com>
6488 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
6490 (grub_cmd_linux): Likewise.
6491 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
6492 preferred_lifetime. Update all users.
6494 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6496 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
6497 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
6499 2012-09-26 Colin Watson <cjwatson@ubuntu.com>
6501 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
6502 errors from grub-probe to /dev/null, not stdout.
6504 2012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
6506 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
6509 2012-09-24 Colin Watson <cjwatson@ubuntu.com>
6511 * util/grub-install.in: Make the error message if $source_dir
6512 doesn't exist more useful.
6514 2012-09-22 Colin Watson <cjwatson@ubuntu.com>
6516 Fix grub-emu build on FreeBSD.
6518 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
6519 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
6521 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
6522 implementation is currently Linux-specific.
6523 * util/getroot.c (exec_pipe): Define only on Linux or when either
6524 libzfs or libnvpair is unavailable.
6525 (find_root_devices_from_poolname): Remove unused path variable.
6527 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6529 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
6530 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
6531 should fit before end == 63.
6533 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
6535 * util/grub-setup.c (write_rootdev): Remove unused core_img
6536 parameter. Update all callers.
6537 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6538 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
6541 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6543 * util/grub-mkconfig_lib.in (grub_tab): New variable.
6544 (grub_add_tab): New function.
6545 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
6546 * util/grub.d/10_illumos.in: Likewise.
6547 * util/grub.d/10_kfreebsd.in: Likewise.
6548 * util/grub.d/10_linux.in: Likewise.
6549 * util/grub.d/10_netbsd.in: Likewise.
6550 * util/grub.d/10_windows.in: Likewise.
6551 * util/grub.d/10_xnu.in: Likewise.
6552 * util/grub.d/20_linux_xen.in: Likewise.
6553 * util/grub.d/30_os-prober.in: Likewise.
6555 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6557 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6558 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
6559 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
6560 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
6561 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
6563 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
6564 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
6566 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
6568 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
6570 Reported by: BURETTE, Bernard.
6572 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
6574 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
6577 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
6579 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
6580 IEEE1275 machines. Fixes powerpc-emu compilation.
6581 * include/grub/terminfo.h: Likewise.
6583 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6585 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
6587 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
6589 (efiemu_set_variable): Make vendor_guid a const pointer.
6591 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
6593 Don't require grub-mkconfig_lib to generate manpages for programs.
6595 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
6596 dependencies, don't add grub-mkconfig_lib.
6597 (program): Pass empty adddeps.
6598 (script): Pass grub-mkconfig_lib as adddeps.
6600 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
6602 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
6603 * util/getroot.c (grub_find_device): Likewise.
6604 (get_mdadm_uuid): Likewise.
6605 (grub_util_is_imsm): Likewise.
6606 (grub_util_pull_device): Likewise.
6607 * util/grub-probe.c (probe): Likewise.
6609 2012-09-10 Benoit Gschwind <gschwind>
6611 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
6612 (devs): Add devpath_8.
6614 2012-09-08 Peter Jones <pjones@redhat.com>
6616 * grub-core/Makefile.core.def (efifwsetup): New module.
6617 * grub-core/commands/efi/efifwsetup.c: New file.
6618 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
6619 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
6621 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
6623 2012-09-05 Jiri Slaby <jslaby@suse.cz>
6625 * configure.ac: Add SuSe path.
6627 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6631 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
6633 * util/import_gcry.py: Sort cipher_files, to make build system
6634 generation more deterministic.
6636 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6638 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
6639 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
6640 (grub_set_datetime): Likewise.
6642 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6644 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
6647 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6649 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
6651 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
6653 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
6655 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6657 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
6658 required for checkouts from bzr, but it may be useful for users or
6659 distributors wishing to update translations against a tarball
6660 distribution, and it can be helpful for the tarball to be a superset
6663 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6665 * Makefile.am (EXTRA_DIST): Add
6666 grub-core/tests/boot/linux.init-mips.S,
6667 grub-core/tests/boot/linux.init-ppc.S, and
6668 grub-core/tests/boot/linux-ppc.cfg.
6670 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6672 * grub-core/mmap/mips/loongson: Remove empty directory.
6674 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6676 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
6679 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
6681 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
6684 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
6686 * configure.ac: Strengthen the test for working -nostdinc -isystem.
6688 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6690 * po/POTFILES.in: Regenerated.
6692 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
6694 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
6695 (NetBSD): New subsection.
6697 2012-07-22 Ales Nesrsta <starous@volny.cz>
6699 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
6700 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
6702 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6704 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
6705 * util/grub.d/10_hurd.in: Add missing quoting.
6706 * util/grub.d/10_illumos.in: Likewise.
6707 * util/grub.d/10_kfreebsd.in: Likewise.
6708 * util/grub.d/10_linux.in: Likewise.
6709 * util/grub.d/20_linux_xen.in: Likewise.
6711 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6713 New command `lsefi'.
6715 * grub-core/Makefile.core.def (lsefi): New module.
6716 * grub-core/commands/efi/lsefi.c: New file.
6717 * include/grub/efi/api.h: Add more GUIDs.
6719 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6721 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
6722 (grub_bsd_elf32_hook): Likewise.
6723 (grub_bsd_elf64_size_hook): Likewise.
6724 (grub_bsd_elf64_hook): Likewise.
6725 (grub_bsd_load_elf): Likewise.
6727 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6729 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
6730 if hash function is unavailable.
6731 (dec_stream_header): Likewise.
6733 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6735 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
6738 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
6740 Fix coreboot compilation.
6742 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
6743 (grub_vga_text_init_real): ... this.
6744 (grub_vga_text_fini): Rename to ...
6745 (grub_vga_text_fini_real): ... this.
6747 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6749 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
6751 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6753 * grub-core/lib/legacy_parse.c: Support clear and testload.
6755 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6757 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
6759 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6761 * grub-core/fs/ext2.c: Experimental support for 64-bit.
6763 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6765 * grub-core/net/tftp.c (ack): Fix endianness problem.
6766 (tftp_receive): Likewise.
6767 Reported by: Michael Davidsaver.
6769 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6771 * gentpl.py: Make mans depend on grub-mkconfig_lib.
6773 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6775 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
6776 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
6777 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
6779 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6781 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
6783 Reported by: Stuart Hayes.
6785 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
6787 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
6789 * grub-core/Makefile.core.def (mda_text): New module.
6790 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
6791 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
6792 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
6793 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
6795 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
6796 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
6797 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
6799 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
6801 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
6803 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
6805 * grub-core/term/i386/vga_common.c: Removed.
6806 * include/grub/i386/vga_common.h: Likewise.
6807 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
6808 (grub_vga_cr_bw_read): Likewise.
6809 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
6810 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
6811 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
6812 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
6813 grub_vga_cr_read/grub_vga_cr_write.
6814 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
6816 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6818 * configure.ac: Bump version to 2.00.
6819 * grub-core/normal/main.c (features): Add feature_200_final.
6821 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6822 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
6824 * NEWS: Fix unclarity and language mistakes.
6826 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6828 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
6829 additional size to 3 pages.
6830 Reported by: Stuart Hayes.
6832 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6834 * NEWS: Add 2.00 entry.
6836 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6838 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
6839 put explicit "/" for empty path.
6840 (wildcard_expand): Improve dprintf.
6842 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
6844 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
6845 it's equal to currnode. This can happen with "" symlink.
6847 2012-06-27 Yves Blusseau <blusseau@zetam.org>
6849 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
6850 echo shell command by printf command.
6852 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6854 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
6855 the value returned by firmware is the maximal position, not diumension.
6856 (grub_terminfo_output_state): Use a more sane fallback.
6858 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6860 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
6862 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6864 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
6865 frequency to 150 MHz.
6867 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6871 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
6873 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
6875 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
6877 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6879 Handle slash in HFS label.
6881 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
6882 (grub_hfs_dir): Tanslate slash.
6883 (grub_hfs_label): Don't translate slash.
6885 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6887 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
6888 network protocol listing since it introduces problematic dependency on
6891 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6893 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
6895 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6897 Init video early on yeeloong to avoid being rebooted by watchdog.
6899 * grub-core/Makefile.am (gensm712): New target.
6900 (sm712_start.S): Likewise.
6901 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
6902 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
6903 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
6905 * include/grub/vga.h: Move registry definitions to...
6906 * include/grub/vgaregs.h: ... here.
6908 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
6910 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
6913 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6915 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
6916 platforms with firmware disk drivers in the core.
6918 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6920 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
6921 informative verbose message.
6922 (read_lv): Handle 64-bit segment size.
6924 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6926 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
6928 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6930 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
6931 character but still remove trainling spaces.
6932 (grub_fat_label): Ignore archive flag.
6934 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6936 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
6937 cast between linux_kernel_header and linux_kernel_params.
6939 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6941 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
6943 (grub_raid6_recover_func_t): Likewise.
6944 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
6945 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6947 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
6949 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
6951 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
6955 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
6956 [__NetBSD__]: Add explicit cast before bitshift.
6958 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6960 * configure.ac: Bump to 2.00~rc1.
6962 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6964 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
6967 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6968 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
6970 * docs/grub.texi: Fix search syntax.
6971 (Multi-boot manual config): Put msdos rather than GPT example.
6972 Grammar corrections.
6974 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6976 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
6978 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6980 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
6982 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6984 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
6985 message on double free. Put the value of magic in case of mismatch.
6987 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
6989 Speed-up video on yeeloong.
6991 * grub-core/video/sm712.c (framebuffer): Remove render_target and
6993 (grub_video_sm712_video_fini): Unmap cached_ptr.
6994 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
6995 (grub_video_sm712_set_active_render_target): Removed.
6996 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
6997 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
7000 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7002 Avoid flushing the same line multiple times on loongson.
7004 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
7005 Step in 32 bytes and not 1 byte.
7006 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
7009 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7011 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
7014 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7016 Implement flow control for http.
7018 * grub-core/net/http.c (parse_line): Handle response 206.
7019 (http_receive): Stall if too many packets are in the queue.
7020 (http_establish): Fix range header.
7021 (http_seek): Fix double free.
7022 (http_close): Likewise.
7023 (http_packets_pulled): New function.
7024 (grub_http_protocol): Set http_seek
7025 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
7026 (ack_real): Set window depending on i_stall.
7027 (grub_net_send_tcp_packet): Likewise.
7028 (grub_net_tcp_stall): New function.
7029 (grub_net_tcp_unstall): Likewise.
7030 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
7031 (grub_net_tcp_unstall): Likewise.
7033 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7035 * grub-core/net/tftp.c: Decrease stall to 50 packets.
7037 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7039 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
7041 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7043 * tests/util/grub-shell.in: Fix a typo.
7045 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7047 Implement flow control for tftp.
7049 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
7050 packets but stop only if stop condition is satisfied.
7051 (grub_net_fs_read_real): Call packets_pulled after real read. Use
7052 `stall' instead of `eof' as stop condition.
7053 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
7054 (http_err): Likewise.
7055 * grub-core/net/tftp.c (ack): Replace the first argument with data
7057 (tftp_receive): Stall if too many packets are in wait queue.
7058 (tftp_packets_pulled): New function.
7059 (grub_tftp_protocol): Set packets_pulled.
7060 * include/grub/net.h (grub_net_packets): New field count.
7061 (grub_net_put_packet): Increment count.
7062 (grub_net_remove_packet): Likewise.
7063 (grub_net_app_protocol): New field `packets_pulled'.
7064 (grub_net): New field `stall'.
7066 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
7068 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
7069 sync part to handle them.
7071 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7073 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
7074 * grub-core/net/drivers/ieee1275/ofnet.c
7075 (grub_ieee1275_net_config_real): Likewise.
7077 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7079 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
7080 the direct route for server/gateway.
7082 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7084 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
7085 IP address to server name since we may not hame the DNS.
7087 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7089 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
7090 freeing random buffer on failure.
7091 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
7093 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7095 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
7097 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7099 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
7101 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
7102 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
7103 Handle malloc error correctly.
7105 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7107 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7110 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7112 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
7115 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7117 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
7118 none is explicitly specified.
7120 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7122 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
7125 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7127 Respect netmask from bootp/dhcp.
7129 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
7130 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
7131 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
7133 (grub_net_add_ipv4_local): ... this.
7134 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
7135 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
7136 (grub_net_add_ipv4_local): New proto.
7138 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7140 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
7141 determining EFI memory map size.
7143 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7145 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
7147 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7149 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
7150 when looking for partition separator.
7152 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7154 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
7157 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7159 Restructure FAT driver to avoid hook in label reading as it hits a
7162 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
7163 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
7164 (grub_fat_iterate_dir): Split into ...
7165 (grub_fat_iterate_init): ... this, ...
7166 (grub_fat_iterate_fini): ... this, ...
7167 (grub_fat_iterate_dir_next): ... and this. All users updated.
7169 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7171 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
7172 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
7173 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
7174 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
7175 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
7176 New fields last_key and last_key_time.
7177 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
7178 extended key-esc into extended key-extended key.
7180 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7182 Avoid unnecessary memcpy of whole video buffer.
7184 * grub-core/video/fb/video_fb.c (dirty): New struct.
7185 (framebuffer): Add members current_dirty and previous_dirty.
7186 (dirty): New function.
7187 (grub_video_fb_fill_rect): Update dirty.
7188 (common_blitter): Likewise.
7189 (grub_video_fb_scroll): Likewise.
7190 (doublebuf_blit_update_screen): Copy only dirty part.
7191 (doublebuf_pageflipping_update_screen): Likewise.
7192 (grub_video_fb_doublebuf_blit_init): Init dirty.
7193 (doublebuf_pageflipping_init): Likewise.
7194 (grub_video_fb_setup): Likewise.
7196 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7198 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
7201 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7203 Fix wildcard regexp dot and other special characters handling.
7204 Reported by: Robert Mabee.
7206 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
7207 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
7208 (split_path): Trigger expansion on '?'.
7209 (unescape): New function.
7210 (wildcard_expand): Unescape parts copied without globbing.
7211 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
7212 (grub_script_arglist_to_argv): Don't unescape expansions.
7214 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7216 * include/grub/net.h (grub_net_card): New member txbufsize.
7217 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
7218 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7219 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
7220 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
7222 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
7223 compatible property to check for macs. Set
7224 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
7225 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
7226 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
7227 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
7228 (send_card_buffer): Use txbuf.
7229 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
7230 nested function out of the parent while on it.
7232 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7234 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
7236 (grub_ieee1275_net_config_real): Fix config pointer.
7238 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7240 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
7241 filename parsing to non-block devices.
7243 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7245 * grub-core/kern/device.c (grub_device_open): Remove dead code.
7247 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7249 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
7252 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7254 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
7255 UUID search command even if hints probing failed.
7257 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7259 * po/POTFILES.in: Regenerated.
7261 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7263 Speed-up video on fuloong.
7265 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
7267 (grub_pci_device_unmap_range): Handle non-cached address.
7268 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
7270 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
7271 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
7272 (grub_video_sis315pro_set_active_render_target): Removed.
7273 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
7274 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
7275 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
7277 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
7280 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7282 * docs/grub.texi (Multi-boot manual config): New section.
7284 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7286 Avoid slow read-back from VRAM.
7288 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
7290 * grub-core/video/fb/video_fb.c
7291 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
7292 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
7293 (front_target): Remove front_target. Add pages.
7294 (grub_video_fb_init): Skip setting front_pages.
7295 (grub_video_fb_fini): Likewise.
7296 (doublebuf_blit_update_screen): Use pages.
7297 (grub_video_fb_doublebuf_blit_init): Likewise.
7298 (doublebuf_pageflipping_init): Allocate offscreen buffer.
7299 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
7300 (grub_video_fb_setup): Prefer doublebuffing.
7302 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7304 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
7307 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7311 * tests/util/grub-shell.in: Handle loongson.
7312 * tests/partmap_test.in: Add loongson to the list of platform using ATA
7314 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
7315 Reboot instead of shutdown if REBOOT is defined.
7317 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7319 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
7320 sized ports since unlike on real hardware qemu supports only 32-bit
7323 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7325 * Makefile.util.def (grub-mkrescue): Enable on loongson.
7326 * util/grub-mkrescue.in: Handle loongson.
7328 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
7330 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
7331 Set is_part appropriately.
7332 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
7333 names. Canonicalize partition without full disk.
7335 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7337 Revert usb-quiesce since it's wrong.
7339 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
7340 (grub_ofdisk_init): Don't do quiesce.
7342 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7344 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
7345 PowerMac workaround to Xserves as well.
7346 Information supplied by: Benjamin Herrenschmidt.
7348 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7350 Don't assume that beginning address is also the entry point on ppc.
7352 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
7353 (grub_linux_boot): Use linux_entry.
7354 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
7355 (grub_linux_load64): Likewise.
7357 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7359 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
7361 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7363 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
7364 needlessly lose the console.
7366 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7368 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
7371 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7373 Remove non-functional EFI grub_get_rtc. Put a better fatal message
7374 than current grub_get_rtc() not implemented when booted with
7375 coreboot without TSC.
7377 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
7378 Add machine/time.h to kernel headers on loongson.
7379 * grub-core/Makefile.core.def (kernel): Remove
7380 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
7381 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
7382 (grub_get_rtc): Likewise.
7383 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
7384 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
7385 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
7386 * grub-core/kern/i386/tsc.c (grub_tsc_init)
7387 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
7388 rather than installing known non-working time source.
7389 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
7390 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
7391 * include/grub/time.h: Don't include machine/time.h.
7392 * include/grub/efi/time.h: Removed.
7393 * include/grub/i386/efi/time.h: Likewise.
7394 * include/grub/i386/ieee1275/time.h: Likewise.
7395 * include/grub/powerpc/ieee1275/time.h: Likewise.
7396 * include/grub/sparc64/ieee1275/time.h: Likewise.
7397 * include/grub/x86_64/efi/time.h: Likewise.
7399 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
7401 Remove dot on i and j when combining with above diacritics.
7403 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
7405 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
7406 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
7407 with dotless variants when any combining above is present.
7409 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7411 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
7412 text and not binary.
7414 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7416 Stop polling as soon as we have the packet we were waiting for.
7418 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
7420 * grub-core/net/arp.c (have_pending): New var.
7421 (pending_req): Likewise.
7422 (grub_net_arp_send_request): Fill pending_req and use have_pending as
7424 (grub_net_arp_receive): Set have_pending.
7425 * grub-core/net/dns.c (recv_data): New field stop.
7426 (recv_hook): Set stop.
7427 (grub_net_dns_lookup): Init stop and use as stop condition.
7428 * grub-core/net/http.c (http_establish): Use headers_recv as stop
7430 * grub-core/net/net.c (grub_net_poll_cards): New argument
7431 stop_condition. Stop when it goes true.
7432 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
7434 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
7436 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7438 Keep TX and RX buffers on EFI rather than always allocate new ones.
7440 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
7441 card. All users updated.
7442 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
7443 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
7444 (get_card_packet): Likewise.
7445 (grub_efinet_findcards): Init new fields.
7447 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7449 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
7450 compilation error on sparc64.
7452 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7454 Use ITC on IA64 rather than broken routine based on daytime.
7456 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
7458 (grub_get_rtc) [__ia64__]: Likewise.
7459 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
7460 (get_itc): New function.
7461 (grub_rtc_get_time_ms): Likewise.
7462 (grub_machine_init): Calibrate ITC.
7463 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
7464 Keep only on non-ia64. Don't export since it's broken and used only
7465 if TSC is unavailable.
7467 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7469 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
7471 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
7472 Skip if parent is unused.
7474 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7476 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
7478 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7480 Fix wildcard escaping.
7482 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
7483 * grub-core/script/execute.c (wildcard_escape): .. to here.
7485 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
7486 * grub-core/script/execute.c (wildcard_unescape): .. to here.
7488 * grub-core/script/execute.c (gettext_append): Always escape.
7489 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
7490 * grub-core/script/yylex.l: Don't cut away the escaping.
7491 * tests/grub_script_echo1.in: Add tests with wildcard.
7493 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7495 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
7496 (ftdi_hw_configure): Likewise.
7497 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
7499 (real_config): Handle 1.5 stop bits.
7500 (pl2303_hw_configure): Likewise.
7502 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7504 * Makefile.am: Add ppc linux bootcheck.
7505 * grub-core/tests/boot/linux-ppc.cfg: New file.
7506 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
7508 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7510 * tests/grub_script_expansion.in: Skip network protocols.
7512 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7514 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
7516 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7518 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
7522 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7524 ESCC serial driver for conducting sautomated tests in qemu.
7525 Not tested on real hardware.
7527 * include/grub/serial.h (grub_serial_port): New field escc_desc.
7528 * grub-core/term/ieee1275/escc.c: New file.
7529 * grub-core/Makefile.core.def (escc): New module.
7531 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7533 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
7535 (serial_hw_fetch): Don't read invalid handle.
7536 (serial_hw_put): Don't write into invalid handle.
7538 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7540 Add a 1.5 stop bits value.
7542 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
7543 * include/grub/serial.h (grub_serial_stop_bits_t): Add
7544 GRUB_SERIAL_STOP_BITS_1_5.
7546 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
7548 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
7549 value rather than let it uninited.
7551 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7553 * grub-core/commands/wildcard.c (+check_file): New function.
7554 (wildcard_expand): Don't expand to non-existing files, expand with
7555 suffix and not attempt to expand if not needed.
7557 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7559 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
7560 out of partitions containing other partitions.
7562 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7564 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
7565 on some qemu versions with GRUB.
7567 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
7569 (grub_openbsd_bootarg_pcibios): New struct.
7570 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
7573 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7575 * tests/util/grub-shell.in: Trim firmware output on EFI.
7577 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7579 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
7580 and coreboot since it's already in kernel.
7582 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7584 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
7585 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
7586 to here. New return value start. All users updated.
7587 Recursively scan linear mappings.
7588 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
7590 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
7591 Use grub_util_get_dm_node_linear_info.
7592 * util/getroot.c (convert_system_partition_to_system_disk): Use
7593 grub_util_info rather than grub_dprintf.
7594 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
7596 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7598 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
7600 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
7601 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
7603 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
7605 * include/grub/types.h (grub_set_unaligned64): New function.
7606 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
7609 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7611 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
7612 (grub_ofdisk_fini): Quiesce USB devices.
7614 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7616 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
7619 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7621 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
7623 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7625 * grub-core/disk/pata.c (grub_pata_pio_read)
7626 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
7627 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
7629 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7631 Extend automated tests to qemu-mips.
7633 * Makefile.am: reorganise tests and enable qemu-mips.
7634 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
7635 * grub-core/tests/boot/linux.init-mips.S: New file.
7636 * tests/partmap_test.in: Handle ata0 disks.
7637 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
7640 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7642 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
7644 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
7647 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7649 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
7650 (grub_halt): Likewise.
7651 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
7653 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7655 * grub-core/term/serial.c (grub_serial_register)
7656 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
7657 the behaviour in line with x86 platforms.
7659 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7661 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
7662 (grub_ata_strncpy): Likewise.
7663 (grub_ata_identify): Add missing byteswaps.
7665 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7667 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
7669 (screen_read_char): Likewise.
7670 (grub_vga_text_cls): Likewise.
7672 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7674 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
7676 (make_file_path): Likewise.
7678 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
7680 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
7682 Tested by: Paulo Flabiano Smorigo.
7683 Crucial information about API supplied by: Coleen <Last name unknown>.
7684 Reviewed by: Coleen <Last name unknown>.
7686 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7688 * util/grub-mkimage.c: Disable -Wcast-align.
7690 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7692 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
7695 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7697 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
7699 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7701 * util/grub-probe.c (escape_of_path): Fix double free.
7703 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7705 * grub-core/commands/videoinfo.c (hook): Show pitch.
7707 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7709 * util/grub.d/20_linux_xen.in: Skip xen-syms.
7711 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
7713 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
7714 (probe): Add ieee1275 to OFW devices.
7716 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7718 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
7720 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
7722 Handle IBM OFW path.
7724 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
7726 (of_path_of_scsi): Handle vdevice.
7728 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7730 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
7731 Allocate in multiples of 16 to avoid adding a few bytes free region the
7734 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
7736 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
7737 Allocate in multiples of 16 to avoid adding a few bytes free region the
7739 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
7741 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7743 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
7745 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
7746 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
7748 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
7750 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
7752 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7754 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
7755 resulted in \\ at the end of the line.
7757 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7759 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
7760 (grub_parser_cmdline_state): Likewise.
7761 (grub_parser_split_cmdline): Likewise.
7763 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7765 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
7766 /dev/root and /dev/dm-*.
7768 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7770 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
7771 fix partially stale display.
7773 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7775 * grub-core/normal/menu_entry.c (backward_char): Use right line for
7778 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7780 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
7781 Fix MBR remapping workaround.
7782 (grub_util_biosdisk_read) [__linux__]: Likewise.
7784 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
7786 * util/grub-install.in: Check for ieee1275 and not ieee1276.
7788 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7790 * configure.ac: Bump to beta6.
7792 2012-05-31 Christer Weinigel <christer@weinigel.se>
7794 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
7796 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7798 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
7799 (grub_cmd_linux): Likewise.
7801 2012-05-31 Christer Weinigel <christer@weinigel.se>
7805 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
7806 (GRUB_EHCI_MULT_TWO): Likewise.
7807 (GRUB_EHCI_MULT_THREE): Likewise.
7808 (GRUB_EHCI_CMASK_MASK): New enum value.
7809 (GRUB_EHCI_SMASK_MASK): Likewise.
7810 (GRUB_EHCI_CMASK_OFF): Likewise.
7811 (GRUB_EHCI_SMASK_OFF): Likewise.
7812 (grub_ehci_pci_iter): Enable periodic schedule.
7813 (grub_ehci_parse_notrun): Likewise.
7814 (grub_ehci_restore_hw): Likewise.
7815 (grub_ehci_setup_qh): Set flags for low speed transfers.
7816 (grub_ehci_find_qh): Use periodic list for low speed.
7817 (grub_ehci_setup_transfer): Check periodic queue as well.
7818 (grub_ehci_check_transfer): Likewise.
7819 (grub_ehci_cancel_transfer): Cancel periodic transfer.
7821 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
7823 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
7826 2012-05-31 Peter Jones <pjones@redhat.com>
7828 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
7829 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
7830 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
7832 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
7834 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
7835 uninited variable. Allocate at least setup_sects.
7837 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7839 Fix handling of EFI with big memory maps.
7841 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
7842 (real_mode_mem): Likewise.
7843 (real_mode_target): Likewise.
7844 (real_mode_pages): Likewise.
7845 (prot_mode_pages): Likewise.
7846 (linux_params): New var.
7847 (linux_cmdline): Likewise.
7848 (free_pages): Don't set real mode variables.
7849 (allocate_pages): Don't allocate real mode memory.
7850 (grub_e820_add_region): Remove the limit.
7851 (grub_linux_boot): Allocate and copy real mode memory.
7852 (grub_linux_unload): Free linux_cmdline.
7853 (grub_cmd_linux): Use temporary storage for parameters.
7854 (grub_cmd_initrd): Likewise.
7855 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
7856 (linux_kernel_params): Make it 1K big.
7858 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7860 * Makefile.util.def: Remove -Wno-format.
7861 * grub-core/Makefile.core.def: Likewise.
7863 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7865 * tests/cmp_unit_test.c: Add missing failure message.
7866 * tests/example_unit_test.c: Likewise.
7867 * tests/printf_unit_test.c: Likewise.
7869 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
7871 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
7872 relaxation of protective MBR requirements.
7874 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7876 * configure.ac: Add condition for COND_HOST_XNU.
7877 * Makefile.util.def (10_xnu): New script.
7878 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
7880 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7882 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
7885 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
7887 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
7888 Binary on other platforms stays identical.
7890 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7892 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
7895 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7897 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
7899 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7901 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
7902 rather than defining size_t ourselves to avoid conflict.
7904 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7906 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
7907 initialisation to avoid __bzero reference.
7909 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7911 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
7913 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
7914 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
7915 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
7916 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
7917 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
7919 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7921 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
7922 * grub-core/kern/misc.c: Likewise.
7923 * grub-core/loader/i386/xnu.c: Likewise.
7924 * include/grub/i386/tsc.h: Likewise.
7925 * include/grub/symbol.h: Likewise.
7927 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7929 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
7930 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
7933 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7935 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
7936 Implement Apple flavour.
7937 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
7939 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7941 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
7942 (memmove) [__APPLE__]: Likewise.
7943 (memcpy) [__APPLE__]: Likewise.
7944 (memset) [__APPLE__]: Likewise.
7945 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
7946 (memmove) [__APPLE__]: Likewise.
7947 (memcpy) [__APPLE__]: Likewise.
7948 (memset) [__APPLE__]: Likewise.
7950 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
7952 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
7955 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7957 * grub-core/normal/main.c (read_config_file): Provide config_file and
7959 * util/grub.d/41_custom.in: Use config_directoy when available.
7961 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7963 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
7964 (grub_bfs_dir): Likewise.
7966 2012-05-27 Peter Jones <pjones@redhat.com>
7968 The old code gives arguments to a printf function which can't work
7969 correctly, and the compiler complains.
7971 * grub-core/tests/example_functional_test.c (example_test): Add
7973 * grub-core/tests/lib/test.c (add_failure): Rewrite.
7974 * include/grub/test.h (grub_test_assert_helper): New declaration.
7975 (grub_test_assert): Use grub_test_assert_helper.
7977 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7979 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
7980 (exfctest): ... this to avoid overlong filenames.
7983 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7985 Handle "." and ".." on squashfs.
7987 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
7988 Make inode numbers into stack.
7989 (grub_squash_read_symlink): Use stack.
7990 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
7991 (make_root_node): Fill stack.
7992 (grub_squash_open): Use stack.
7994 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
7996 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
7999 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8001 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
8002 stderr on test calls.
8004 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8006 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
8008 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8010 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
8012 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8014 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
8017 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8019 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
8020 (grub_hfsplus_iterate_dir): Add "." and "..".
8022 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8024 * grub-core/fs/cpio.c (canonicalize): Handle "..".
8025 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
8027 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8029 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
8030 (find_path): Handle "." and "..".
8032 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
8034 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
8035 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
8036 (grub_affs_iterate_dir): Handle hardlinks.
8038 2012-05-26 Matthew Garrett <mjg@redhat.com>
8040 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
8041 (grub_efi_console_fini): Likewise.
8042 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
8043 (grub_video_gop_fill_mode_info): Rename to ...
8044 (grub_video_gop_fill_real_mode_info): ... this.
8045 (grub_video_gop_fill_mode_info): New function.
8046 (grub_video_gop_setup): Setup double framebuffer.
8047 (grub_video_gop_get_info_and_fini): Use original framebuffer.
8049 (grub_video_gop_swap_buffers): Copy framebuffer.
8050 (grub_video_gop_fini): Free offscreen buffer.
8051 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
8053 (grub_efi_gop_blt_pixel): New struct.
8055 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8057 * gentpl.py: Remove error disabling for objconv.
8059 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8061 * configure.ac: Remove -Wunitialized as it's not available on older
8064 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
8066 Fix extent overflow comparator.
8068 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
8069 (grub_hfsplus_read_block): Set type.
8070 (grub_hfsplus_cmp_extkey): Compare type.
8072 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
8074 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
8076 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8078 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
8081 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8083 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
8084 (dejavu_bold_14.pf2): New target.
8086 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
8088 * configure.ac: Fix djvu font detection.
8090 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8092 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
8093 ext* instead of ext2.
8095 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8097 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
8100 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
8102 * docs/grub-dev.texi: Remove dot from .png.
8104 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8106 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
8107 protective entry in any slot.
8108 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
8109 if protective entry is found in any slot.
8111 Protective entry in non-first slot make no sense but is a widespread
8114 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8116 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
8118 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8120 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
8122 (grub_reiserfs_open): Don't free root.
8124 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
8126 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
8127 after freeing for safety.
8129 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8131 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
8132 Reported by: Jordan Uggla.
8134 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
8136 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
8137 actual implementation. Specifically, clarify that the grub menu will
8138 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
8141 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
8143 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
8146 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8148 Remove unjustified hard dependency of normal.mod on gfxterm.
8150 * include/grub/term.h (grub_term_output): New member fullscreen.
8151 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
8152 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
8153 (grub_gfxterm): Set .fullscreen.
8154 * grub-core/normal/menu.c (menu_init): Use fullscreen.
8155 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
8157 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8159 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
8160 mentioning possible problems with non-ASCII (non-compliant) ISOs.
8161 Mention case-insensitive AFFS, SFS and JFS.
8163 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8165 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
8167 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8169 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8172 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8174 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
8175 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
8177 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8179 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
8180 (grub_jfs_mount): Fill caseins.
8181 (grub_jfs_find_file): Respect caseins.
8183 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8185 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
8188 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8190 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
8191 New argument origpath. All users updated.
8193 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8195 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
8196 (read_attr): Ensure that we read start of possibly compressed block.
8198 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
8200 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
8201 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
8204 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8206 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
8207 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
8208 (dejavu.pf2): Replace with ...
8209 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
8212 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8214 * util/grub.d/20_linux_xen.in: Add missing line.
8216 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
8218 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
8219 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
8220 (grub_utf16_to_utf8): Likewise.
8222 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8224 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
8225 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
8226 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8227 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
8228 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
8229 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
8231 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8233 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
8236 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8238 * grub-core/fs/udf.c (read_string): Bail out on size=0.
8239 (grub_udf_read_symlink): Handle read_string failure.
8241 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8243 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
8246 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8248 Fix handling of UDF symlinks.
8250 * grub-core/fs/udf.c (read_string): New argument outbuf.
8252 (grub_ufs_read_symlink): Rename to ...
8253 (grub_udf_read_symlink): ... this. All users updated.
8254 Handle symlinks with more than one component.
8256 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8258 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
8259 symlinks. Replace leading colon with a slash.
8261 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8263 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
8266 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8268 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
8269 match in inner node.
8271 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
8273 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
8274 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
8275 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
8276 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
8277 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
8278 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
8279 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
8280 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
8281 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
8283 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8285 Use grub-probe and not cmp to check that disk is empty.
8287 * util/grub-install.in: Use grub-probe for zero-check.
8288 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
8289 (probe): Handle PRINT_ZERO_CHECK.
8290 (argp_parser): Handle -t zero_check.
8292 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
8294 Flush block cache on adding disk to device map.
8296 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
8297 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
8299 (read_device_map): Likewise.
8300 (open_device): Flush on opening.
8302 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8304 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
8305 (handle_symlink): Fix off-by-one error.
8306 Canonicalize the target.
8307 (grub_cpio_dir): Canonicalize the name.
8310 (grub_cpio_open): Canonicalize the name.
8312 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8314 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
8317 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8319 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
8320 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
8322 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8324 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
8325 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
8328 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8330 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
8333 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
8335 Fix UFS1 big file support.
8337 * grub-core/fs/ufs.c (INODE): Removed.
8338 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
8340 (INODE_MODE): Simplify.
8341 (grub_ufs_inode): Use uint64_t for size and not int64_t.
8342 (grub_ufs_lookup_symlink): Don't use INODE.
8344 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8346 Fix minixfs with non-power-of-two blocks since it's supported by minix.
8348 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
8349 (grub_minix_data): Replace log_block_size with block_size.
8350 (grub_minix_read_file): Use block_size but avoid 64-bit division.
8351 (grub_minix_mount): Fill block_size.
8353 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8355 * configure.ac: Bump to beta5.
8357 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8359 Fix wrapped HFS+ handling.
8361 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
8362 blocks_start. All users updated.
8363 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
8365 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
8367 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8369 Fix long symlinks on reiserfs.
8371 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
8372 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
8373 (grub_reiserfs_iterate_dir): Save size for non-directories.
8374 (grub_reiserfs_open): Don't reread stat block as we already know the
8376 (grub_reiserfs_read): Split into...
8377 (grub_reiserfs_read_real): ... and ...
8378 (grub_reiserfs_read): ...this.
8380 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8382 Fix non-indexed JFS.
8384 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
8385 (grub_jfs_data): New field namecomponentlen.
8386 (grub_jfs_mount): Fill namecomponentlen.
8387 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
8389 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8391 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
8392 * tests/grub_script_echo1.in: Add tests.
8394 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8396 * util/grub-install.in: Ignore empty devicetree directory.
8398 2012-05-08 Bean <bean123ch@gmail.com>
8400 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
8402 (free_rsm): Free header as well.
8403 (free_old_fragments): Fix memory leak.
8404 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
8405 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
8406 (destroy_pq): Likewise.
8407 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
8409 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8411 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
8412 resulting hash as a precaution.
8414 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8416 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
8417 '_' in variable names.
8418 * grub-core/net/net.c (grub_net_network_level_interface_register):
8421 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8423 Fix AFFS with non-512B blocks.
8425 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
8426 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
8427 (grub_affs_data): Replace blocksize with log_blocksize.
8428 (grub_affs_read_block): Fix non-512B blocks.
8429 (grub_affs_read_symlink): Likewise.
8430 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
8431 (grub_affs_read): Fix non-512B blocks.
8432 (grub_affs_label): Likewise.
8433 (grub_affs_mtime): Likewise.
8434 (grub_affs_mount): Fix block detection routine.
8436 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
8438 Add filesystem mtime to AFFS.
8440 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
8441 (aftime2ctime): New function.
8442 (grub_affs_dir): Use aftime2ctime.
8443 (grub_affs_label): Fix return value.
8444 (grub_affs_mtime): New function.
8445 (grub_affs_fs): Add mtime.
8447 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8449 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
8452 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8454 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
8457 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8459 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
8461 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
8463 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
8465 (FLAGS_CASE_SENSITIVE): New enum value.
8466 (cache_entry): New struct.
8467 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
8468 cache_size and cache.
8469 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
8470 Add log_blocksize and fshelp_flags.
8471 (grub_sfs_read_extent): Handle non-512 blocks.
8472 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
8473 (grub_sfs_read_file): Handle non-512 blocks.
8474 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
8476 (grub_sfs_read_symlink): Handle non-512 blocks.
8477 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
8478 (grub_sfs_dir): Free cache.
8479 (grub_sfs_close): Likewise.
8481 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8483 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
8486 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8488 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
8490 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8492 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
8494 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
8496 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
8497 (grub_sfs_read_extent): Likewise.
8498 (grub_sfs_read_block): Likewise.
8499 (grub_sfs_mount): Likewise.
8500 (grub_sfs_iterate_dir): Likewise.
8501 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
8502 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
8504 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8506 Fix errors on compressed NTFS with 512B clusters.
8508 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
8510 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
8512 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
8513 Relax check for inline extents.
8514 (ntfscomp): Return correct -1 on error and not 0.
8516 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8518 * util/grub-install.in: Fix handling of prefix containing spaces.
8520 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8522 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
8523 (grub_squash_read_data): Fix offset byte-swapping.
8525 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8527 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
8528 per common usage and preffered in several parts of code.
8529 (grub_memcmp): Likewise.
8530 (grub_strncmp): Likewise.
8531 * include/grub/misc.h (grub_strcasecmp): Likewise.
8532 (grub_strncasecmp): Likewise.
8533 * Makefile.util.def (cmp_test): New test.
8534 (grub_script_strcmp): Likewise.
8535 * tests/cmp_unit_test.c: New file.
8536 * tests/grub_script_strcmp.in: Likewise.
8537 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
8539 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8541 * include/grub/pci.h: Move enums into no-asm part.
8543 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8545 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
8547 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
8549 * util/getroot.c (find_hurd_root_device): Try to make error message
8550 and comments to translators clearer.
8552 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8554 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
8556 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8558 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
8561 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8563 * docs/grub.cfg: Update.
8565 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8567 * docs/grub.texi (PXE): Remove not present variables.
8569 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
8571 * grub-core/net/net.c (defserver_set_env): New function.
8572 (defserver_get_env): Likewise.
8573 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
8575 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8577 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
8580 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8582 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
8583 * grub-core/kern/emu/hostdisk.c: Likewise.
8585 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
8587 Handle hurd userspace partitions.
8589 * util/getroot.c (find_hurd_root_device): New function.
8590 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
8592 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8594 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
8596 Reported by: Bastian Blank.
8598 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8600 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
8601 crossing page boundary.
8603 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8605 Fix B-tree search in BFS, especially in presence of non-ASCII
8608 * grub-core/fs/bfs.c (bfs_strcmp): New function.
8609 (find_in_b_tree): Use standard bsearch + btree algorithm.
8611 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8613 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
8616 2012-05-03 Matthew Garrett <mjg@redhat.com>
8617 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8619 Suspend broadcom cards in order to stop their DMA.
8621 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
8622 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
8623 (pci): Don't build on x86 EFI.
8624 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
8625 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
8627 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
8628 stop_broadcom if running on EFI.
8629 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
8630 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
8631 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
8632 (grub_pci_find_capability): New proto.
8634 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8636 * docs/grub.texi: Remove dot from the extension as it apparently
8637 doesn't work with some makeinfo versions.
8639 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8641 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
8642 with GRUB expectance.
8644 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8646 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
8648 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8650 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
8651 zero after directory block since last entry may be not 0-terminated if
8652 it ends on block boundary. Use continue instead of if spanning whole
8655 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8657 Support 4K sectors UDF inline files.
8659 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
8660 (grub_udf_extended_file_entry): Likewise.
8661 (grub_fshelp_node): Name the anonymous union. Put block at the end.
8663 (get_fshelp_size): New function.
8664 (grub_udf_read_icb): Read whole block.
8665 (grub_udf_iterate_dir): Likewise.
8666 (grub_udf_dir): Likewise.
8667 (grub_udf_open): Likewise.
8669 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8671 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
8673 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8675 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
8676 inline symlinks in addition to workaround.
8678 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8680 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
8682 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8684 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
8686 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8688 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
8690 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8692 Fix reiserfs big seek times.
8694 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
8695 exact. All users updated.
8696 (grub_reiserfs_read): Use nearest btree search for seeking.
8697 Fix return value on error.
8699 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8701 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
8703 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
8704 * docs/grub.texi: Update menuentry description.
8706 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8708 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
8709 crash when embedding onto filesystem.
8711 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
8713 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
8716 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8718 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
8720 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8722 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
8725 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8726 2012-05-01 Bean <bean123ch@gmail.com>
8728 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
8730 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8732 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
8733 Special behaviour for len = 0 to read whole file isn't used anywhere and
8734 can cause buffer ovewrflows in several places.
8736 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8738 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
8740 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8742 Handle RAIDZ on non-512B sectors.
8744 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
8745 max_children_ashift.
8746 (fill_vdev_info_real): Fill max_children_ashift.
8747 (read_device): Use max_children_ashift.
8749 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8751 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
8753 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8755 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
8757 * docs/grub.texi: Update device.map parts.
8759 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8761 Don't scan into non-diskfilter devices having diskfilter names.
8763 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
8764 (scan_disk): New argument accept_diskfilter. Fix recursion depth
8766 (scan_disk_hook): New function.
8768 2012-04-29 Bean <bean123ch@gmail.com>
8770 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
8773 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
8775 * configure.ac: Detect starfield theme font path
8776 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
8778 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8780 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
8781 geometry on serial consoles.
8783 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8785 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
8786 because of network consoles.
8788 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8790 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
8793 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8795 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
8798 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
8800 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
8801 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
8803 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8805 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
8806 Allocate at lest 8192 for temporary buffer as required for lzo.
8808 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8810 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
8811 to cluster_bits, since it's already added in.
8812 (grub_fat_read_data): Likewise.
8814 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
8816 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
8817 as long as cluster size is multiple of 512 bytes.
8819 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8821 * util/grub-mkrescue.in: Fix locale directory.
8823 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
8825 * grub-core/kern/emu/hostdisk.c (map): Make static.
8827 2012-04-23 Bean <bean123ch@gmail.com>
8829 * util/grub-fstest.c (fstest): Add missing break.
8831 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
8835 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
8836 not define nr variable.
8837 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
8838 find_root_devices_from_poolname, find_root_devices_from_libzfs,
8839 grub_find_device): Do not define.
8841 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8843 Fix kfreebsd compile and behaviour.
8845 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
8847 * util/getroot.c: Fix wait.h include.
8848 (grub_guess_root_devices): Error if grub_find_device fails.
8849 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
8850 (grub_util_get_dev_abstraction): Likewise.
8851 (grub_util_pull_device): Likewise.
8852 (grub_util_get_grub_dev): Likewise.
8853 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
8855 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8857 Fix and unify wholedisk detection.
8859 * util/getroot.c (convert_system_partition_to_system_disk): New argument
8860 is_part. All users updated.
8861 (device_is_wholedisk): Removed.
8862 (grub_util_biosdisk_get_grub_dev): Use is_part.
8864 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8866 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
8869 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8871 * configure.ac: Bump to beta4.
8873 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8875 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
8876 --fs-uuid --set UUID syntax.
8878 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8880 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
8883 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8885 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
8887 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
8889 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
8891 2012-04-18 Mike Gilbert <floppym@gentoo.org>
8893 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
8895 2012-04-18 Bean <bean123ch@gmail.com>
8897 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
8900 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8902 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
8904 (grub_util_biosdisk_read): Handle Linux partitions not exactly
8905 corresponding to GRUB partitions.
8906 (grub_util_biosdisk_write): Likewise.
8908 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8910 Scan mdraid before LVM.
8912 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
8913 (grub_diskfilter_register_front): ... this.
8914 (grub_diskfilter_register_back): New function.
8915 All users of grub_diskfilter_register updated.
8917 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8919 * util/grub-install.in: Fix an automatic target detection bug.
8921 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8923 * util/grub-install.in: New option --efi-directory.
8925 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8927 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
8928 boot services if we have no other choice.
8930 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
8932 * util/grub-mknetdir.in: Rename --override-directory to --directory and
8934 * tests/util/grub-shell.in: Update to --directory.
8936 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8938 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
8940 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8942 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
8943 (grub_minix_read_file): Likewise.
8944 (grub_minix_read_inode): Likewise.
8945 (grub_minix_find_file): Likewise.
8946 (grub_minix_dir): Likewise.
8948 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8950 * util/grub-setup.c (setup): Fix partition handling and blocklist
8953 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
8955 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
8956 redundant buggy overlap check.
8958 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8960 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
8963 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8965 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
8966 kh.loadflags on pre-2.00 kernels.
8968 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8970 Terminate UNDI and PXE before launching the payload to avoid problems
8973 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
8974 (grub_loader_flags): ... this. All users updated.
8975 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
8976 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
8977 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
8978 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
8980 (grub_pxe_restore): Likewise.
8981 (fini_hnd): New var.
8982 (GRUB_MOD_INIT): Register shutdown hook.
8983 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
8984 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
8985 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
8986 (grub_loader_set): Rename second argument to flags.
8988 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
8990 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
8992 (grub_get_num_of_utf8_bytes): New function.
8993 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
8994 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
8996 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
8997 (grub_ucs4_to_utf8): Change return type.
8999 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9001 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
9003 * grub-core/fs/bfs.c (hop_level): Likewise.
9004 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
9006 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9008 * grub-core/lib/adler32.c: Recode due to license unclearness.
9010 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9012 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
9013 (test_header): Likewise.
9015 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9017 Fix --help formatting.
9019 * util/grub-mkconfig_lib.in (print_option_help): New function.
9020 (grub_fmt): Likewise.
9021 * util/grub-install.in: Use print_option_help and grub_fmt.
9022 * util/grub-kbdcomp.in: Likewise.
9023 * util/grub-mkconfig.in: Likewise.
9024 * util/grub-mknetdir.in: Likewise.
9025 * util/grub-mkrescue.in: Likewise.
9026 * util/grub-mkstandalone.in: Likewise.
9027 * util/grub-reboot.in: Likewise.
9028 * util/grub-set-default.in: Likewise.
9029 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9031 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
9033 * linguas.sh: Remove autogenerated *.po.
9035 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9037 * po/README: Move language fetcing to ...
9038 * linguas.sh: ... here.
9039 * po/README: Point to linguas.sh.
9041 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9043 * po/README: Exclude ko.po due to disclaimer problems.
9045 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9047 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
9049 (grub_gettext_translate_real): Handle 0th string.
9050 (grub_gettext_translate): Ensure that "" isn't translated.
9052 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9054 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
9055 TRANSLATORS comment.
9056 (grub_diskfilter_print_partmap): Propagate changing of error into
9059 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9061 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
9062 to uint64_t to prevent overflow.
9063 (grub_diskfilter_lv): Increase start_extent and extent_count
9064 to uint64_t to prevent overflow.
9066 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9068 * configure.ac: Increase version.
9070 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9072 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
9074 * po/Rules-translit: New file.
9075 * po/arabic.sed: Likewise.
9076 * po/cyrillic.sed: Likewise.
9077 * po/greek.sed: Likewise.
9078 * po/hebrew.sed: Likewise.
9079 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
9080 * po/Makefile.in.in: Add extra_dist4.
9082 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9084 Handle big-endian minixfs (fixes minixfs tests on bigendian).
9086 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
9087 modify names. Introduce MODE_BIGENDIAN.
9088 * grub-core/fs/minix_be.c: New file.
9089 * grub-core/fs/minix2_be.c: Likewise
9090 * grub-core/fs/minix3_be.c: Likewise.
9091 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
9093 * grub-core/Makefile.core.def (minix_be): New module.
9094 (minix2_be): Likewise.
9095 (minix3_be): Likewise.
9097 2012-04-01 Felix <email@hamburg.de>
9099 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
9100 (devs): Add MBP 2011.
9102 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9104 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
9106 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9108 * grub-core/normal/cmdline.c (print_completion): New field
9110 (grub_cmdline_get): Handle width properly.
9112 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
9114 * grub-core/commands/lsacpi.c (options): Add missing terminator.
9116 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9118 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
9119 after 29th of February.
9121 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9123 Fix exfat endianness handling.
9125 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
9126 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
9127 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
9128 Byte-swap utf16 when necessary.
9129 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
9131 2012-03-31 Anton Blanchard <anton@samba.org>
9132 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9134 Fix btrfs endianness handling.
9136 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
9137 (lower_bound): Make root uint64_t. Use root in le.
9138 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
9139 (find_path): Fix template key init.
9140 (grub_btrfs_dir): Fix mtime byteswap.
9141 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
9143 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9145 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
9146 recursion_depth. Break infinite resursions. All users updated.
9148 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9150 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
9152 Reported by: Peter Jones.
9154 2012-03-31 Anton Blanchard <anton@samba.org>
9156 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
9159 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9161 * util/grub-install.in: Fix nvram call for PreP.
9163 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9165 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
9166 the error when some elements are missing into a warning.
9168 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9170 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
9172 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
9174 * docs/grub.texi (Invoking grub-probe): New section.
9175 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
9177 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9179 Fix tab and wide character handling in editor and menu.
9181 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
9182 agglomerate control characters with combining marks.
9183 (bidi_line_wrap): Allow break on tab.
9184 (grub_unicode_get_comb_start): New function.
9185 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
9187 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
9189 * grub-core/normal/term.c (print_ucs4_terminal): New argument
9190 fixed_tab_size. All users updated.
9191 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
9192 (grub_term_getcharwidth): Handle \t.
9193 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
9196 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9198 Handle big-endian mdraid.
9200 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
9201 * grub-core/Makefile.core.def (mdraid09_be): New module.
9202 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
9203 rather than grub_le_to_cpu* and grub_cpu_to_le*.
9204 * grub-core/disk/mdraid_linux_be.c: New file.
9206 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9208 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
9210 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9212 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9213 missing quotes which caused confusion among translators.
9215 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9217 * util/grub-mkconfig_lib.in: Fix typo.
9219 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9221 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
9223 * tests/grub_script_leading_whitespace.in: New file.
9224 * Makefile.util.def (grub_script_leading_whitespace): New test.
9226 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9228 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
9231 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9233 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
9234 starts with control character.
9236 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9238 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
9240 (grub_gdb_outbuf): Likewise.
9242 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
9244 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
9245 zero terminator. Fixes a crash.
9247 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9249 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
9251 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
9252 images independently of preffered adderss field.
9254 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9256 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
9257 * grub-core/commands/regexp.c: Likewise.
9258 * grub-core/loader/i386/linux.c: Likewise.
9259 * grub-core/partmap/msdos.c: Likewise.
9260 * grub-core/script/execute.c: Likewise.
9261 * grub-core/term/gfxterm.c: Likewise.
9263 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9265 Add variable parsing in $"..." and fix several mismatches with bash.
9267 * Makefile.util.def (grub_script_gettext): New test.
9268 * grub-core/script/execute.c (parse_string): New function.
9269 (gettext_append): Likewise.
9270 (grub_script_arglist_to_argv): Use gettext_append.
9271 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
9272 * tests/grub_script_gettext.in: New file.
9274 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9276 Fix handling of leading spaces in scripts.
9278 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
9280 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
9281 other than skipping \r. All users updated.
9282 * tests/grub_script_echo1.in: Add space-related tests.
9283 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
9285 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
9287 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
9289 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9291 * configure.ac: Bump up the version to beta2.
9293 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9295 Fix gettext reload bugs (e.g. inability to disable gettext
9298 * grub-core/gettext/gettext.c: Encapsulate all static variables in
9299 main_context and secondary_context. All functions updated.
9300 (grub_gettext_translate): Rename to ...
9301 (grub_gettext_translate_real): ... this. Return NULL on failed
9303 (grub_gettext_translate): Handle secondary context.
9304 (grub_gettext_delete_list): Close file and zero-out the context.
9305 (grub_mofile_open): Don't call grub_gettext_delete_list.
9307 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
9308 if locale="" to avoid pointless error message.
9309 (grub_gettext_env_write_lang): Update lang even if load fails.
9310 Handle secondary context.
9311 (grub_gettext_reread_prefix): New function.
9312 (read_main): Likewise.
9313 (read_secondary): Likewise.
9314 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
9315 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
9316 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
9317 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
9319 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9321 * configure.ac: Decrease warning level to avoid spurious warnings and
9322 to be able to compile with GCC 4.2.
9323 * Makefile.util.def: Remove -Wno-error=logical-op.
9325 2012-03-10 William Bittner <william.bittner@gmail.com>
9327 * util/import_unicode.py: Add missing brackets around string for
9330 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9332 Fix efi chainloader on network root.
9334 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
9336 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
9339 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9341 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
9342 unused show_text member.
9343 * docs/grub.texi: Document "text" property.
9345 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9347 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
9350 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9352 Fix IMSM handling on Fedora.
9354 * util/getroot.c (grub_util_is_imsm): New function.
9355 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
9357 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9359 * Makefile.am: Strip gold section.
9360 * conf/Makefile.common: Likewise.
9361 * gentpl.py: Likewise.
9362 * grub-core/Makefile.core.def: Likewise.
9363 * grub-core/genmod.sh.in: Likewise.
9365 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9367 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
9368 * util/grub.d/20_linux_xen.in: Likewise.
9369 Based on Debian patch.
9371 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9373 * util/grub.d/10_linux.in: Fix syntax error resulting in
9374 Richard Laager's patch.
9375 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
9377 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9379 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
9382 2012-03-10 Richard Laager <rlaager@wiktel.com>
9384 * util/grub.d/10_linux.in: Fix ZFS root passing.
9386 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9388 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9389 * grub-core/commands/xnu_uuid.c: Likewise.
9390 * grub-core/loader/efi/appleloader.c: Likewise.
9391 * grub-core/script/execute.c: Likewise.
9392 * grub-core/script/main.c: Likewise.
9393 * util/grub-mkfont.c: Likewise.
9395 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9397 * util/grub-mkfont.c (options): Use more appropriate "select" that
9398 "set" for face index.
9400 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9402 * util/grub-editenv.c (options): Gettextize command summaries.
9404 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9406 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
9407 "out of memory" error messagge.
9409 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9411 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
9412 of diskfilter for diskfilter on diskfilter support.
9414 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9416 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
9418 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9420 * util/grub-install.in: Check for themes/starfield/theme.txt and not
9423 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9425 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
9427 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9429 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
9431 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
9433 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
9436 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9438 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
9440 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
9442 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
9444 * util/grub-install.in: Fix and gettextize error message.
9446 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9448 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
9450 * util/grub-mount.c (options): Likewise.
9452 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9454 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
9456 * grub-core/commands/search_wrap.c (options): Likewise.
9458 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9460 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
9462 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9464 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
9466 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
9469 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9471 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
9472 "temporary" since it's used in identifier and is limited in space.
9474 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9476 * po/POTFILES.in: Regenerate. Include *.h since they contain
9477 translatable strings as well.
9479 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
9481 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
9482 byte-swap on big-endian.
9483 Reported by: Lennart Sorensen
9485 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9487 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
9488 (allocate_pages): Improve dprintf.
9489 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
9490 code32_start. Fill code32_start and kernel_alignment in params.
9491 (grub_cmd_initrd): Use prot_init_space.
9493 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9495 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
9497 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9499 * util/grub-install.in: Add missing dot at the end of sentence.
9501 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9503 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
9504 * grub-core/commands/videotest.c: Likewise.
9505 * grub-core/loader/i386/linux.c: Likewise.
9507 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9509 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
9511 Reported by: Milo Casagrande.
9513 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9515 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
9516 * grub-core/commands/gptsync.c: Likewise.
9517 * grub-core/commands/hashsum.c: Likewise.
9518 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9519 * grub-core/commands/legacycfg.c: Likewise.
9520 * grub-core/io/gzio.c: Likewise.
9521 * grub-core/net/net.c: Likewise.
9522 * grub-core/term/gfxterm.c: Likewise.
9523 * grub-core/term/terminfo.c: Likewise.
9524 * grub-core/tests/test_blockarg.c: Likewise.
9525 * grub-core/video/video.c: Likewise.
9526 * util/grub-install.in: Likewise.
9527 * util/grub-mkfont.c: Likewise.
9529 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9531 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
9533 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9535 * grub-core/commands/search_wrap.c (options): Fix a typo.
9536 Reported by: David Prévot.
9538 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9540 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
9543 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9545 * util/grub-script-check.c (main): Fix a syntax error message which was
9548 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9550 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
9552 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9554 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
9557 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9559 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
9561 * util/grub-mount.c (options): Likewise.
9563 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9565 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
9567 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9569 * grub-core/net/http.c: Add TRANSLATORS comments.
9570 * grub-core/normal/cmdline.c: Likewise.
9571 * grub-core/normal/misc.c: Likewise.
9572 * grub-core/partmap/msdos.c: Likewise.
9573 * grub-core/parttool/msdospart.c: Likewise.
9574 * grub-core/script/execute.c: Likewise.
9575 * grub-core/script/main.c: Likewise.
9576 * grub-core/term/terminfo.c: Likewise.
9577 * grub-core/video/bitmap.c: Likewise.
9578 * util/grub-install.in: Likewise.
9579 * util/grub-mkimage.c: Likewise.
9580 * util/grub-mklayout.c: Likewise.
9581 * util/grub-setup.c: Likewise.
9583 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9585 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
9586 with similar messages in grub-fstest.
9588 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9590 * util/grub-install.in: Unify "option requires an argument" message
9591 with similar messages in other files.
9592 * util/grub-mkconfig.in: Likewise.
9594 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9596 * util/grub-set-default.in: Replace printf with gettext_printf (the
9597 string in in question is already translated from grub-reboot)
9599 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9601 * configure.ac: Bump up the version to beta1.
9603 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9605 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
9606 case when min_align = 0.
9608 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9610 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
9611 and fix a case when line_start overflows.
9613 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9615 * util/grub-reboot.in (usage): Mention id posibility.
9616 * util/grub-set-default.in (usage): Likewise.
9618 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9620 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
9621 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
9622 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
9623 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
9624 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
9625 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9626 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
9628 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9630 * grub-core/commands/menuentry.c (options): Remove
9631 GRUB_ARG_OPTION_REPEATABLE.
9632 Reported by: Andreas Vogel
9634 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
9636 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
9638 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
9640 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
9643 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9645 Use sort -V by the idea of Georgi Georgiev.
9647 * util/grub-mkconfig_lib.in (version_sort): New function.
9648 (version_test_numeric): Use version_sort.
9650 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9652 Use submenus in grub-mkconfig.
9654 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
9655 * util/grub-mkconfig_lib.in (grub_quote): New function.
9656 (gettext_printf): Use gettext and not gettext_quoted to fix several
9658 * util/grub.d/10_hurd.in: Use submenus.
9659 * util/grub.d/10_kfreebsd.in: Likewise.
9660 * util/grub.d/10_linux.in: Likewise.
9661 * util/grub.d/10_netbsd.in: Likewise.
9662 * util/grub.d/20_linux_xen.in: Likewise.
9663 * util/grub.d/30_os-prober.in: Likewise.
9664 * util/grub.d/10_illumos.in: Add missing quoting.
9665 * util/grub.d/10_windows.in: Likewise.
9667 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9669 Fix menu title instability bug.
9671 * grub-core/commands/menuentry.c (options): New option --id.
9672 (grub_normal_add_menu_entry): New argument id. All users updated.
9673 (grub_cmd_menuentry): Handle --id.
9674 (grub_menu_init): Accept unknown arguments.
9675 * grub-core/normal/main.c (features): Add feature_menuentry_id and
9676 feature_menuentry_options.
9677 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
9679 (get_entry_number): Match with id as well.
9680 * include/grub/menu.h (grub_menu_entry): New member id.
9681 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
9682 * util/grub.d/00_header.in: Define menuentry_id_option.
9683 * util/grub.d/10_hurd.in: Define id.
9684 * util/grub.d/10_illumos.in: Likewise.
9685 * util/grub.d/10_kfreebsd.in: Likewise.
9686 * util/grub.d/10_linux.in: Likewise.
9687 * util/grub.d/10_netbsd.in: Likewise.
9688 * util/grub.d/10_windows.in: Likewise.
9689 * util/grub.d/20_linux_xen.in: Likewise.
9690 * util/grub.d/30_os-prober.in: Likewise.
9692 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9694 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
9695 "scope" with "body".
9697 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9699 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
9700 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
9701 prot_size and prot_file_size.
9703 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9705 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
9706 All users updated. If easily=1 require raid-5/-6 to be full.
9707 (is_node_readable): Likewise.
9708 (scan_devices): Scan incomplete but readable LVs at the end.
9709 (grub_diskfilter_memberlist): Pull missing devices.
9710 (insert_array): Skip scanning until device is complete or scan is
9712 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
9714 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
9715 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
9717 2012-03-03 Matthew Garrett <mjg@redhat.com>
9718 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9720 Avoid EFI boot services when loading Linux.
9722 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
9723 avoid_efi_bootservices. All users updated.
9724 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
9725 argument avoid_efi_bootservices. All users updated.
9726 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
9727 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
9728 align, min_align, relocatable, prefered_address. All users updated.
9729 Allocate avoiding boot services if kernel is relocatable.
9730 (grub_cmd_linux): Check if kernel is relocatable.
9731 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
9732 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
9733 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
9734 avoid_efi_boot_services.
9735 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
9736 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
9737 (linux_kernel_params): Likewise.
9739 2012-03-03 Matthew Garrett <mjg@redhat.com>
9740 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9744 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
9746 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
9747 modes. Set gop_handle.
9748 (grub_video_gop_get_edid): New function.
9749 (grub_gop_get_preferred_mode): Likewise.
9750 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
9751 (grub_video_efi_gop_adapter): Set .get_edid.
9752 * include/grub/efi/edid.h: New file.
9753 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
9755 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9757 * util/grub-install.in: Load efivars unconditionally.
9759 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9761 * po/Rules-piglatin: Change suffix from .po-update-en to
9762 .po-update-en-piglatin.
9764 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9768 * po/piglatin.sed: New file.
9769 * po/en@piglatin.header: Likewise.
9770 * po/Rules-piglatin: Likewise.
9771 * po/README: Add en@piglatin to autogenerated languages.
9773 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9775 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
9777 * grub-core/commands/hdparm.c (options): Use "Display" rather than
9778 "Check" since we don't check anything.
9779 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
9781 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
9782 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
9783 (grub_md_sha512_real): Likewise.
9785 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
9787 * grub-core/commands/gptsync.c: Fix typographic quoting.
9788 * grub-core/commands/ieee1275/suspend.c: Likewise.
9789 * grub-core/commands/parttool.c: Likewise.
9790 * grub-core/commands/search_wrap.c: Likewise.
9791 * grub-core/commands/videoinfo.c: Likewise.
9792 * grub-core/gfxmenu/gui_label.c: Likewise.
9793 * grub-core/hello/hello.c: Likewise.
9794 * grub-core/kern/emu/main.c: Likewise.
9795 * grub-core/net/net.c: Likewise.
9796 * grub-core/normal/menu.c: Likewise.
9797 * grub-core/normal/menu_text.c: Likewise.
9798 * grub-core/normal/misc.c: Likewise.
9799 * util/grub-editenv.c: Likewise.
9800 * util/grub-install.in: Likewise.
9801 * util/grub-kbdcomp.in: Likewise.
9802 * util/grub-mkconfig.in: Likewise.
9803 * util/grub-mknetdir.in: Likewise.
9804 * util/grub-mkrescue.in: Likewise.
9805 * util/grub-mkstandalone.in: Likewise.
9806 * util/grub-reboot.in: Likewise.
9807 * util/grub-set-default.in: Likewise.
9808 * util/grub-setup.c: Likewise.
9809 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9811 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9813 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
9814 * grub-core/commands/keystatus.c: Likewise.
9815 * grub-core/commands/loadenv.c: Likewise.
9816 * grub-core/commands/probe.c: Likewise.
9817 * grub-core/commands/regexp.c: Likewise.
9818 * grub-core/commands/true.c: Likewise.
9819 * grub-core/commands/videoinfo.c: Likewise.
9820 * grub-core/disk/cryptodisk.c: Likewise.
9821 * grub-core/disk/ldm.c: Likewise.
9822 * grub-core/disk/loopback.c: Likewise.
9823 * grub-core/disk/luks.c: Likewise.
9824 * grub-core/fs/zfs/zfsinfo.c: Likewise.
9825 * grub-core/kern/disk.c: Likewise.
9826 * grub-core/kern/emu/hostdisk.c: Likewise.
9828 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9830 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
9831 * util/grub-install.in: Add missing quote in the comment.
9833 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9835 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
9836 * grub-core/commands/lsmmap.c: Likewise.
9837 * grub-core/commands/minicmd.c: Likewise.
9838 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
9839 * grub-core/commands/regexp.c: Likewise.
9840 * grub-core/gdb/gdb.c: Likewise.
9841 * grub-core/term/gfxterm.c: Likewise.
9842 * util/grub-mkconfig.in: Likewise.
9843 * util/grub-mkfont.c: Likewise.
9844 * util/grub-mklayout.c: Likewise.
9845 * util/grub-mknetdir.in: Likewise.
9846 * util/grub-mkrescue.in: Likewise.
9847 * util/grub.d/30_os-prober.in: Likewise.
9849 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9851 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
9852 with "Direct color" and "Packed" with "Packed pixel".
9853 (grub_cmd_videoinfo): Simplify legend.
9855 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9857 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
9858 absolutely unclear error message.
9860 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9862 * util/grub-mkstandalone.in: Remove confusing leftover print.
9864 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9866 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
9868 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
9869 (GRUB_MOD_INIT): Likewise.
9870 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
9872 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
9874 * util/grub-install.in (usage): Likewise.
9875 Spell ID in whole letters.
9876 Add missing ending dot.
9878 * util/grub-reboot.in: Fix capitalisation.
9879 * util/grub-set-default.in: Likewise.
9881 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9883 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
9884 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
9885 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
9886 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
9887 Disable -Werror for -Wdeprecated-declarations.
9888 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
9889 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
9890 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
9891 (grub_util_get_grub_dev): Make luks handling dependent on
9892 HAVE_DEVICE_MAPPER and not __linux__.
9893 (get_win32_path): Fix format security.
9894 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
9895 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
9896 Don't try grub_find_zpool_from_dir.
9897 (grub_make_system_path_relative_to_its_root) [!__linux__]:
9898 #ifdef-out paresdir.
9900 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9902 * util/grub-pe2elf.c (usage): Add missing noreturn.
9903 (write_section_data): Rename name to shname to avoid shadowing.
9904 (write_symbol_table): Rename name to symname to avoid shadowing.
9905 Fix write_reloc_section call.
9907 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9909 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
9910 to ensure that it's after the last byte of .text.
9912 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9914 * util/ieee1275/ofpath.c (my_isdigit): New function.
9915 (trailing_digits): Use my_isdigit.
9916 (strip_trailing_digits): Likewise.
9918 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9920 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
9921 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
9923 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9925 * grub-core/kern/i386/pc/startup.S: Define __start.
9927 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9929 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
9930 strip already transforms he format.
9932 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
9934 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
9936 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9938 * util/grub-install.in: Add missing gettext init.
9939 * util/grub-kbdcomp.in: Likewise.
9940 * util/grub-mkconfig.in: Likewise.
9941 * util/grub-mknetdir.in: Likewise.
9942 * util/grub-mkrescue.in: Likewise.
9943 * util/grub-mkstandalone.in: Likewise.
9944 * util/grub-reboot.in: Likewise.
9945 * util/grub-set-default.in: Likewise.
9946 * util/grub.d/00_header.in: Likewise.
9947 * util/grub.d/10_hurd.in: Likewise.
9948 * util/grub.d/10_windows.in: Likewise.
9949 * util/grub.d/30_os-prober.in: Likewise.
9950 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
9952 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9954 * po/Rules-swiss: Fix header comment.
9956 2012-02-29 Andreas Vogel <anvoit>
9958 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
9959 resulted in leak of arguments.
9961 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9963 * grub-core/boot/i386/pc/startup_raw.S: Use separate
9964 reed_solomon_size const definition instead of computing it since
9965 Apple assembler doesn't support the later.
9967 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9969 * gentpl.py (kernel): Rewrite Apple part.
9971 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9973 * include/grub/kernel.h (FOR_MODULES): Check module magic.
9975 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9977 * util/grub-mkimagexx.c (locate_sections): Support non-standard
9979 (load_image): Likewise.
9981 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9983 * configure.ac: Fix a typo in previous commit.
9985 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9987 Don't add -Wl,-N on Apple platform.
9989 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
9990 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
9992 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9994 * grub-core/Makefile.core.def (lzma_decompress): Use
9995 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
9997 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
9999 * grub-core/genmod.sh.in: Rewrite the Apple part.
10001 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10003 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
10006 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10008 * acinclude.m4 (grub_CHECK_PIC): New test.
10009 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
10011 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10013 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
10014 to avoid the warning.
10016 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10018 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
10019 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
10020 after. All users updated.
10022 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10024 Use the common size routine in hostfs so we can read disks as well.
10026 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
10027 (grub_util_get_fd_size): ... this. Return size in bytes.
10029 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
10030 grub_util_get_fd_size.
10032 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10034 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
10035 Add blocksize retrieval.
10037 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10039 * configure.ac: Restore CFLAGS after efiemu check.
10041 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10043 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
10046 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10048 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
10050 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10052 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
10053 (grub_cmd_halt): Likewise.
10055 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10057 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
10058 for local arithmetics.
10059 Break %sp init into 2 instructions.
10060 Add 0 byte at the end.
10062 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10064 * grub-core/disk/diskfilter.c (read_segment): Initialise err
10067 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10069 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
10072 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10074 * grub-core/disk/ldm.c (make_vg): Init part.name.
10075 (grub_ldm_detect): Silence spurious warning.
10076 (grub_util_is_ldm): Likewise.
10078 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10080 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
10081 sane value to avoid a spurious warning.
10083 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10085 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
10086 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
10088 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10090 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
10091 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
10093 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10095 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
10096 hardcoding the relevant info.
10098 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10100 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
10101 missing const qualifiers.
10102 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
10104 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10106 * util/getroot.c [__APPLE__]: Add missing includes.
10107 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
10109 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10111 * util/grub-mkimage.c (generate_image): Silence spurious warning.
10113 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10115 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
10118 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10120 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
10122 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10124 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
10125 and grub_file_close call.
10127 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10129 Add LZSS Mach-O support (needed for new xnu kernelcache).
10131 * grub-core/Makefile.core.def (xnu): Add file lzss.c
10132 * grub-core/loader/lzss.c: New file.
10133 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
10134 on Mach-O open failure.
10135 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
10136 Don't free cmdsXX in uncompressedXX is set.
10137 (grub_macho_file): Init new fields.
10138 New argument is_64bit. All users updated.
10139 Handle compressed. Error out if no suitable architecture is found.
10141 (grub_macho_open): New argument is_64bit. All users updated.
10142 * grub-core/loader/macho32.c: Add defines for new fields.
10143 * grub-core/loader/macho64.c: Likewise.
10144 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
10145 (grub_macho_parse): Handle compressed.
10146 Defer actual processing if compressed.
10147 (grub_macho_cmds_iterate): Decompress if compressed. New argument
10148 "filename". All users updated.
10149 (grub_macho_size): New argument "filename". All users updated.
10150 (grub_macho_get_entry_point): Likewise.
10151 (grub_macho_load): Handle compressed.
10152 * include/grub/macho.h (grub_macho_lzss_header): New struct.
10153 (GRUB_MACHO_LZSS_OFFSET): New define.
10154 (grub_decompress_lzss): New proto.
10155 * include/grub/machoload.h (grub_macho_file): New fields to handle
10157 (grub_macho_contains_macho64): Remove proto.
10158 (grub_macho_contains_macho32): Likewise.
10159 * util/grub.d/30_os-prober.in: Use kernel cache if available.
10161 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
10163 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
10165 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10169 * Makefile.am (starfield_theme_files): New var.
10170 (starfield_DATA): Use starfield_theme_files.
10171 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
10172 Add bootcheck-related files.
10173 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
10174 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
10175 and font_char_metrics.txt.
10176 * grub-core/Makefile.core.def (kernel): Update extra_dist.
10177 (setjmp): Add lib/ia64/longjmp.S.
10178 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
10179 * po/POTFILES.in: Regenerate.
10180 * po/Rules-swiss: use DISTFILES.common.extra2 and not
10181 DISTFILES.common.extra1.
10182 * util/devicemap.c: Removed.
10183 * grub-core/lib/i386/relocator_backward.S: Likewise.
10184 * util/import_gcry.py: Remove unused files. Add extra_dist for
10187 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10189 * grub-core/gettext/gettext.c (grub_mofile_open): Call
10190 grub_gettext_delete_list before changing grub_gettext_max to avoid
10191 running out of array bounds.
10193 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10195 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
10196 grub_vga_text_init/grub_vga_text_fini.
10198 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
10200 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
10202 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10204 * configure.ac: Bump to 2.00~beta0.
10206 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10208 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
10209 missing initialisation.
10211 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10213 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
10215 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10217 Support v2 xnu boot arguments.
10219 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
10220 New argument fsbfreq_out.
10221 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
10222 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
10224 * grub-core/loader/machoXX.c (grub_macho_load): New argument
10226 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
10227 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
10228 (grub_xnu_boot_params): Rename to ...
10229 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
10230 (grub_xnu_boot_params_v2): New struct.
10232 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10234 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
10235 zeroing of CRC field before computing CRC.
10237 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10239 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
10240 Change order of allocations to decrease fragmentation.
10242 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10244 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
10246 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10248 Use write-combining MTRR to speed up video with buggy BIOSes.
10250 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
10251 (cpuid): New define.
10254 (mtrr_base): Likewise.
10255 (mtrr_mask): Likewise.
10256 (grub_vbe_enable_mtrr_entry): New function.
10257 (grub_vbe_enable_mtrr): Likewise.
10258 (grub_vbe_disable_mtrr): Likewise.
10259 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
10260 control off to BIOS.
10261 (grub_video_vbe_init): Fill mtrr.
10262 (grub_video_vbe_fini): Disable mtrr.
10263 (grub_video_vbe_get_info_and_fini): Likewise.
10264 (grub_video_vbe_setup): Enable mtrr.
10266 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
10268 * include/grub/partition.h (grub_partition_map): Change prototype of
10269 embed to take a maximum value for nsectors.
10270 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
10271 * include/grub/fs.h (grub_fs): Likewise.
10272 * grub-core/partmap/msdos.c (embed_signatures): New array.
10273 (pc_partition_map_embed): Check for and avoid sectors matching any
10274 of the signatures in embed_signatures, up to max_nsectors.
10275 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
10276 returned sector map to max_nsectors.
10277 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
10278 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
10279 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
10280 * util/grub-setup.c (setup): Allow for the embedding area being
10281 split into multiple blocklists. Tell dest_partmap->embed the
10282 maximum number of sectors we care about.
10284 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10286 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
10287 Specify blocklist_install and reserver_first_sector for all fs.
10288 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
10291 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10293 * util/grub-install.in: Clarify strings.
10294 Fix source dir check.
10296 2012-02-27 Richard Laager <rlaager@wiktel.com>
10298 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
10299 "zfs" and "fuse.zfs" as synonyms.
10301 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10303 * configure.ac: Put platform and target_cpu substitutions back since
10304 they are used for directories.
10306 2012-02-27 Richard Laager <rlaager@wiktel.com>
10307 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10309 * util/grub.d/10_linux.in: Add ZFS-related arguments.
10310 * util/grub.d/20_linux_xen.in: Likewise.
10312 2012-02-27 Richard Laager <rlaager@wiktel.com>
10314 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
10317 2012-02-27 Richard Laager <rlaager@wiktel.com>
10319 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
10322 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10324 Don't use insecure popen in getroot.
10326 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
10327 (exec_pipe): ... here.
10328 (find_root_devices_from_poolname): Use exec_pipe.
10330 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10332 Remove platform and target_cpu replacement.
10334 * configure.ac: Remove platform and target_cpu substitutions.
10335 * tests/util/grub-shell.in: Use modinfo.
10336 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
10339 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10341 Autodetect platform in grub-install but allow override.
10343 * util/grub-install.in: Autodetect platform. Support --target and
10344 --directory. Read platform from modinfo.sh.
10346 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10348 Support btrfs multi-volume probe.
10350 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
10351 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
10352 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
10353 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
10354 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
10355 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
10356 grub_find_root_devices_from_btrfs if on btrfs.
10358 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10360 Remove any awareness of *.c util files about target.
10362 * Makefile.util.def (grub-setup): Split to ...
10363 (grub-bios-setup): ... and this.
10364 (grub-sparc64-setup): ... and this.
10365 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
10366 * docs/man/grub-setup.h2m: Split into ...
10367 * docs/man/grub-sparc64-setup.h2m: ... this.
10368 * docs/man/grub-bios-setup.h2m: ... and this.
10369 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
10370 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
10371 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
10372 (grub_target_addr_t): Remove.
10373 (grub_target_size_t): Remove.
10374 (grub_target_ssize_t): Remove.
10375 * util/grub-install.in: Use new grub-*-setup.
10376 * util/grub-mkimagexx.c (Elf_Word): New define.
10377 (Elf_Half): Likewise.
10378 (Elf_Section): Likewise.
10379 (ELF_ST_TYPE): Likewise.
10380 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
10381 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
10383 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10385 Replace grub_target_addr with more appropriate types.
10387 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
10388 grub_target_addr with grub_addr.
10389 * grub-core/commands/iorw.c (grub_cmd_read): Replace
10390 grub_target_addr with grub_port.
10391 (grub_cmd_write): Likewise.
10392 * grub-core/commands/memrw.c (grub_cmd_read): Replace
10393 grub_target_addr with grub_addr.
10394 (grub_cmd_write): Likewise.
10395 * grub-core/video/efi_uga.c (find_line_len): Likewise.
10397 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10399 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
10400 const qualifier for vendor_guid.
10402 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10404 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
10406 (efiemu_memequal): Likewise.
10407 (find_variable): Likewise.
10409 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10411 Fix missing console prototype on qemu-mips.
10413 * include/grub/mips/qemu_mips/console.h: New file.
10415 2012-02-27 Matthew Garrett <mjg@redhat.com>
10416 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10418 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
10419 * include/grub/efi/efi.h: Likewise.
10420 * include/grub/efi/api.h: Add guid for EFI-specified variables.
10421 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
10422 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
10423 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
10424 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
10425 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
10427 2012-02-27 Matthew Garrett <mjg@redhat.com>
10429 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
10431 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10433 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
10436 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10438 * configure.ac: Remove inappropriate use of program_transform_name
10439 on grubdir and bootdir but allow explicit specification of those
10442 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10444 * util/grub-mknetdir.in (grub_prefix): Removed.
10445 (subdir): Use @bootdirname@ and @grubdirname@.
10447 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10449 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
10451 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10453 * po/POTFILES.in: Regenerated.
10455 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10457 Remove improper use of program_transform_name on pkglibrootdir.
10459 * configure.ac (pkglibrootdir): Removed.
10460 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
10461 * util/grub-mkimage.c: Likewise.
10463 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10465 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
10468 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10470 * util/grub-install.in: Use file identifier if no UUID is available
10471 or user explicitly prompted for it.
10473 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
10475 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
10476 (freebsd_get_zfs): New function.
10477 (grub_freebsd_boot): Pass zfs UUID.
10478 (grub_cmd_freebsd): Set zfs UUID.
10480 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
10482 * conf/Makefile.common (platformdir): Base on pkglibdir and not
10485 2012-02-27 Mike Gilbert <floppym@gentoo.org>
10487 Add configure flag to control libzfs integration.
10489 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
10491 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10493 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
10495 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
10498 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10500 Remove grub_{modname}_init and grub_{modname}_fini. They should never
10501 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
10502 be used on non-modules.
10504 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
10505 Rename to grub_boot_init.
10506 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
10507 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
10508 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
10509 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
10510 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
10511 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
10512 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
10513 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
10515 (grub_machine_init): Remove empty inits.
10516 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
10518 (grub_machine_init): Remove empty inits.
10519 * grub-core/term/arc/console.c: Remove explicit proto.
10520 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
10521 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
10522 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10523 grub_at_keyboard_fini.
10524 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
10525 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
10526 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10528 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
10529 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
10530 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10532 * grub-core/term/ieee1275/console.c: Remove explicit proto.
10533 * grub-core/term/serial.c (GRUB_MOD_INIT)
10534 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
10535 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10537 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
10538 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
10539 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
10540 grub_terminfo_fini.
10541 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
10542 (GRUB_MOD_FINI): Likewise.
10543 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
10544 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
10545 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10546 grub_video_radeon_fuloong2e_fini.
10547 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
10548 [LOONGSON]: Rename to grub_video_sis315pro_init.
10549 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10550 grub_video_sis315pro_fini.
10551 * grub-core/video/sm712.c (GRUB_MOD_INIT)
10552 [LOONGSON]: Rename to grub_video_sm712_init.
10553 (GRUB_MOD_FINI) [LOONGSON]: Rename to
10554 grub_video_sm712_fini.
10555 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
10556 (grub_at_keyboard_fini): Likewise.
10557 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
10558 Don't declare grub_{modname}_init.
10559 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
10560 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
10562 (grub_keylayouts_fini) [!EMU]: Likewise.
10563 * include/grub/serial.h (grub_serial_init) [!EMU]:
10565 (grub_serial_fini) [!EMU]: Likewise.
10566 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
10568 (grub_terminfo_fini) [!EMU]: Likewise.
10569 * include/grub/video.h (grub_font_init) [!EMU]:
10571 (grub_font_fini) [!EMU]: Likewise.
10572 (grub_gfxterm_init) [!EMU]: Likewise.
10573 (grub_gfxterm_fini) [!EMU]: Likewise.
10574 (grub_video_sm712_init) [!EMU]: Likewise.
10575 (grub_video_sm712_fini) [!EMU]: Likewise.
10576 (grub_video_sis315pro_init) [!EMU]: Likewise.
10577 (grub_video_sis315pro_fini) [!EMU]: Likewise.
10578 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
10579 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
10581 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10583 Make nand a prefix for nand devices.
10585 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
10587 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10589 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
10590 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
10592 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10594 * include/grub/env.h (grub_env_find): Remove prototype.
10595 * grub-core/kern/env.c (grub_env_find): Make static.
10596 (grub_env_set): Remove useless set.
10598 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10600 * grub-core/kern/i386/realmode.S: Remove useless align.
10602 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10604 * include/grub/dl.h (grub_dl_load_file): Don't export.
10606 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10608 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
10611 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10613 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
10615 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
10616 not reloading whole superblock but only the part which is really needed.
10617 Remove useless grub_errors.
10618 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
10621 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10623 Don't export grub_get_rtc.
10625 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
10626 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
10628 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10630 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
10632 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10634 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
10635 argument since it can be deduced from diskfilter. All users updated.
10637 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10641 * include/grub/list.h (grub_prio_list): Removed.
10642 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
10643 GRUB_COMMAND_PRIO_MASK.
10644 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
10645 GRUB_COMMAND_FLAG_ACTIVE.
10646 (grub_prio_list_insert): Removed.
10647 (grub_prio_list_remove): Likewise.
10648 (GRUB_AS_PRIO_LIST): Likewise.
10649 (GRUB_AS_PRIO_LIST_P): Likewise.
10650 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
10651 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
10652 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
10653 * grub-core/kern/command.c (grub_register_command_prio): Inline
10654 the prio_list code.
10655 (grub_unregister_command): Likewise.
10657 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10659 Fix interrupt mixup from previous commit.
10661 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
10662 (grub_realidt): New var.
10663 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
10665 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
10667 (grub_relocator16_boot): Set grub_relocator16_idt.
10668 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
10669 (LOCAL(realidt)): ... this.
10670 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
10671 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
10672 (grub_realidt): New variable.
10674 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10676 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
10677 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
10678 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
10679 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
10681 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
10682 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
10683 * po/POTFILES.in: Regenerate.
10685 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10687 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
10690 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10692 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
10694 (add_length): Likewise.
10696 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10697 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
10699 GDB serial and backtrace support.
10701 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
10702 (prot_to_real): Likewise.
10703 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
10704 * grub-core/Makefile.core.def (backtrace): New module.
10706 * grub-core/gdb/cstub.c: New file.
10707 * grub-core/gdb/gdb.c: Likewise.
10708 * grub-core/gdb/i386/idt.c: Likewise.
10709 * grub-core/gdb/i386/machdep.S: Likewise.
10710 * grub-core/gdb/i386/signal.c: Likewise.
10711 * grub-core/lib/i386/backtrace.c: Likewise.
10712 * grub-core/lib/backtrace.c: Likewise.
10713 * include/grub/backtrace.h: Likewise.
10714 * include/grub/gdb.h: Likewise.
10715 * include/grub/i386/gdb.h: Likewise.
10717 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10719 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
10721 (add_length): Likewise.
10722 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
10723 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
10725 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
10726 __argp_get_display_len.
10728 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10730 $"..." support in scripts.
10732 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
10733 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
10734 * grub-core/script/yylex.l: Likewise.
10735 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
10738 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10740 * gentpl.py: Remove obsolete pkglib_DATA handling.
10742 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10744 Don't transform PACKAGE_TARNAME following a discussion on autoconf
10747 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
10748 * util/grub-kbdcomp.in: Likewise.
10749 * util/grub-mkconfig.in: Likewise.
10750 * util/grub-mkconfig_lib.in: Likewise.
10751 * util/grub-mknetdir.in: Likewise.
10752 * util/grub-mkrescue.in: Likewise.
10753 * util/grub-mkstandalone.in: Likewise.
10754 * util/grub-reboot.in: Likewise.
10755 * util/grub-set-default.in: Likewise.
10756 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
10758 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10760 Remove GRUB_PREFIX.
10762 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
10763 * util/grub.d/00_header.in: Compute prefix in the only place it's still
10764 used for backward compatibility.
10766 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10768 Add new all_video module.
10770 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
10771 * grub-core/Makefile.core.def (all_video): New module.
10772 * grub-core/genmoddep.awk: Generate dependency of all_video from
10774 * grub-core/lib/fake_module.c: New file.
10775 * grub-core/normal/main.c (features): Add feature_all_video_module.
10776 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
10777 don't do explicit search again.
10778 insmod all_video in load_video if available.
10780 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10782 Another round of string clarification and adding TRANSLATORS comments.
10784 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10786 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
10788 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10790 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
10792 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
10793 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
10795 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10797 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
10798 trailing newline implicitly. All users updated.
10800 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10802 Implement serial on IEEE1275 and EFI.
10804 * docs/grub.texi (Platform-specific limitations): Fix the columen video
10805 on emu. Mention arc and emu as the only platforms without serial
10807 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
10808 ieee1275 platforms.
10809 * grub-core/term/efi/serial.c: New file.
10810 * grub-core/term/ieee1275/serial.c: Likewise.
10811 * grub-core/term/serial.c (grub_serial_find): Disable direct port
10812 specification if no ns8250 driver is available.
10813 (grub_cmd_serial): Likewise.
10814 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
10815 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
10816 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
10817 (grub_efi_parity_type_t): New type.
10818 (grub_efi_stop_bits_t): Likewise.
10819 (grub_efi_serial_io_interface): New struct.
10820 * include/grub/serial.h (grub_serial_port): Make 'broken' field
10821 available for all interfaces.
10822 Add EFI and IEEE1275 fields.
10823 (grub_ofserial_init): New proto.
10824 (grub_efiserial_init): Likeiwse.
10825 * util/grub.d/00_header.in: Don't check for the presence of serial
10828 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10830 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
10831 name as if it was an alias.
10833 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10835 * grub-core/commands/lsacpi.c (options): Fix typo.
10837 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10839 Convert grub-emu to argp.
10841 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
10843 * util/argp_common.c: Rename to ...
10844 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
10845 Add missing includes.
10846 * grub-core/kern/emu/main.c: Convert to argp.
10847 * po/POTFILES.in: Regenerate.
10848 * util/grub-install.in (usage): Make first letter lowcase in messages
10850 * util/grub-setup.c (options): Likewise.
10852 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10854 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
10855 Put back accidently commented-out code.
10857 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10859 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
10860 loop check using Brent algorithm.
10861 (grub_hfsplus_btree_search): Likewise.
10863 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10865 * util/grub-install.in: Fix usage of wrong device for PreP install.
10867 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10869 * conf/Makefile.common (CFLAGS_GNULIB): Add
10870 -Wno-unsafe-loop-optimizations.
10871 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
10873 * grub-core/commands/legacycfg.c: Add pragma to skip
10874 -Wunsafe-loop-optimizations.
10875 (check_password_md5_real): Fix loop counter type.
10876 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
10878 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
10879 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
10881 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
10882 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
10883 * grub-core/net/net.c (grub_net_route_address): Add safety loop
10885 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
10886 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
10887 avoid possible infinite loops.
10888 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
10889 and -Wunsafe-loop-optimizations.
10890 * grub-core/script/yylex.l: Likewise.
10891 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
10892 (print_glyphs): Avoid infinite loops.
10893 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
10895 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
10897 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
10898 to avoid infinite loop.
10899 (disp_acpi_rsdt_table): Likewise.
10901 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10903 * grub-core/font/font.c (grub_font_load): Add support for default
10904 path for fonts ($prefix/fonts).
10905 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
10906 for checking if string is a path.
10907 * grub-core/normal/main.c (features): Add feature_default_font_path.
10908 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
10909 * util/grub.d/00_header.in: Use default directory if possible.
10910 * util/grub-install.in: Install unicode.pf2.
10912 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10914 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
10915 * po/Rules-swiss: New file.
10916 * po/swiss.sed: Likewise.
10918 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10920 * grub-core/fs/btrfs.c (find_device): Fix typos.
10921 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
10922 * util/grub-mkrelpath.c (argp_parser): Likewise.
10923 Reported by: Yuri Chornoivan.
10925 2012-02-23 Dalet Omega <daletomega@gmail.com>
10927 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
10928 for usual informative messages.
10930 2012-02-23 Dalet Omega <daletomega@gmail.com>
10934 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
10935 * conf/Makefile.common: Define starfielddir.
10936 * configure.ac: Configure starfield.
10937 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
10938 * themes/starfield/README: Likewise.
10939 * themes/starfield/blob_w.png: Likewise.
10940 * themes/starfield/boot_menu_c.png: Likewise.
10941 * themes/starfield/boot_menu_e.png: Likewise.
10942 * themes/starfield/boot_menu_n.png: Likewise.
10943 * themes/starfield/boot_menu_ne.png: Likewise.
10944 * themes/starfield/boot_menu_nw.png: Likewise.
10945 * themes/starfield/boot_menu_s.png: Likewise.
10946 * themes/starfield/boot_menu_se.png: Likewise.
10947 * themes/starfield/boot_menu_sw.png: Likewise.
10948 * themes/starfield/boot_menu_w.png: Likewise.
10949 * themes/starfield/slider_c.png: Likewise.
10950 * themes/starfield/slider_n.png: Likewise.
10951 * themes/starfield/slider_s.png: Likewise.
10952 * themes/starfield/src/blob_nw.xcf: Likewise.
10953 * themes/starfield/src/bootmenu/: Likewise.
10954 * themes/starfield/src/bootmenu/center.xcf: Likewise.
10955 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
10956 * themes/starfield/src/bootmenu/side.xcf: Likewise.
10957 * themes/starfield/src/slider_c.xcf: Likewise.
10958 * themes/starfield/src/slider_n.xcf: Likewise.
10959 * themes/starfield/src/slider_s.xcf: Likewise.
10960 * themes/starfield/src/terminalbox/: Likewise.
10961 * themes/starfield/src/terminalbox/center.xcf: Likewise.
10962 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
10963 * themes/starfield/src/terminalbox/side.xcf: Likewise.
10964 * themes/starfield/starfield.png: Likewise.
10965 * themes/starfield/terminal_box_c.png: Likewise.
10966 * themes/starfield/terminal_box_e.png: Likewise.
10967 * themes/starfield/terminal_box_n.png: Likewise.
10968 * themes/starfield/terminal_box_ne.png: Likewise.
10969 * themes/starfield/terminal_box_nw.png: Likewise.
10970 * themes/starfield/terminal_box_s.png: Likewise.
10971 * themes/starfield/terminal_box_se.png: Likewise.
10972 * themes/starfield/terminal_box_sw.png: Likewise.
10973 * themes/starfield/terminal_box_w.png: Likewise.
10974 * themes/starfield/theme.txt: Likewise.
10976 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
10978 * util/grub.d/00_header.in: Add missing export theme.
10980 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10982 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
10984 Reported by: Eren D.
10986 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10988 * conf/Makefile.common (grubdatadir): Removed.
10989 (Makefile.am): Move eveything grubdata to pkgdata.
10991 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10993 * grub-core/commands/acpihalt.c (get_sleep_type):
10994 Remove unused variable.
10996 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
10998 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
10999 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
11000 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
11001 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
11002 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
11003 i18n with gettext no-op.
11004 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
11005 GRUB_ACPI_OPCODE_STRING_CONST.
11006 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
11007 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
11009 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11011 * po/POTFILES.in: Regenerate.
11013 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11015 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
11016 -Wno-error=missing-noreturn.
11018 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11020 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
11021 condition to avoid possibly infinite loops.
11022 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
11023 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
11025 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11027 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
11028 condition to avoid possibly infinite loops.
11030 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11032 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
11035 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11037 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
11039 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11041 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
11043 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11045 * util/bin2h.c (usage): Add missing attribute noreturn.
11047 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11049 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
11050 if the size isn't divisible by 512.
11052 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11054 Make list_push and list_remove functions rather than inline functions
11055 to decrease size and avoid aliasing violations.
11057 * include/grub/list.h (grub_list_push): Move to ...
11058 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
11059 * include/grub/list.h (grub_list_remove): Move to ...
11060 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
11062 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
11064 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
11065 and -Wunused-result.
11067 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11069 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
11070 Reported by: Seth Goldberg
11072 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
11074 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
11076 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
11078 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
11079 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
11081 * docs/grub.texi (Simple configuration): Document
11082 GRUB_CMDLINE_GNUMACH.
11084 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11086 * conf/Makefile.common (platform_SCRIPTS): New variable.
11087 (platform_PROGRAMS): Likewise.
11088 * gentpl.py: Mark *,module and *.image for install.
11089 * grub-core/gdb_grub.in: Add a notice of expected environment.
11090 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
11091 (gmodule.pl): Likewise.
11093 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11095 Replace grub_checkkey with grub_getkey_noblock.
11097 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
11098 (grub_getkey_noblock): ... this. All users updated.
11100 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
11102 * grub-core/kern/emu/console.c: Move to ...
11103 * grub-core/term/emu/console.c: ...here.
11104 (grub_ncurses_getkey): Fix return value if no key is detected.
11106 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11108 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
11109 (grub_unit_test_fini): Likewise.
11110 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
11112 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11114 * include/grub/test.h (GRUB_UNIT_TEST)
11116 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11118 * grub-core/script/execute.c (grub_script_break): Clarify logic.
11119 Better error handling.
11120 (grub_script_return): Likewise.
11121 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
11123 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11125 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
11126 rimplicit redifinition.
11128 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11130 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
11133 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11135 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
11136 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
11139 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11141 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
11142 as GRUB_ERR_BUG. Don't malloc if no device is available.
11144 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11146 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
11147 Mark calling with invalid term as GRUB_ERR_BUG.
11149 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11151 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
11152 packets rather than raising an error.
11154 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11156 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
11159 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11161 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
11162 diagnostic to dprintf.
11163 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
11165 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11167 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
11170 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11172 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
11173 (grub_ntfs_iterate_dir): Likewise.
11175 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11177 Efiemu stylistic fixes and gettext.
11179 * grub-core/efiemu/i386/loadcore32.c
11180 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
11181 * grub-core/efiemu/i386/loadcore64.c
11182 (grub_arch_efiemu_relocate_symbols64): Likewise.
11183 * grub-core/efiemu/i386/pc/cfgtables.c
11184 (grub_machine_efiemu_init_tables): Likewise.
11185 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
11186 (grub_efiemu_loadcore_initXX): Add a filename argument.
11188 Improved error message.
11189 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
11190 Add a filename argument.
11192 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
11193 Reclassify double relocation as GRUB_ERR_BUG.
11195 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11197 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
11200 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11202 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
11205 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11207 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
11209 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
11211 Improve string. Gettextize.
11213 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11215 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
11217 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
11219 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11221 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
11222 [GRUB_UTIL]: New function.
11223 (insert_array) [GRUB_UTIL]: Store partmaps.
11224 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
11226 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
11227 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
11228 (probe_abstraction): Print diskfilter and not raid.
11229 Reported by: Lennart Sorensen
11231 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11233 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
11234 * util/grub-mkimagexx.c (MASK3): New define.
11235 (add_value_to_slot_20b): Use MASK3.
11236 (add_value_to_slot_21): Likewise.
11237 (relocate_addresses): Fix format specification.
11238 (load_image): Explicitly init symtab_section.
11240 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11242 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
11243 (grub_util_biosdisk_get_grub_dev): Fix format specification.
11245 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11247 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
11249 Reported by: Lennart Sorensen
11251 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
11253 * gentpl.py: Add missing license header.
11254 * docs/grub.texi: Update copyright year.
11256 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
11258 Source grub-mkconfig_lib from the build directory at build time.
11259 Suggested by: Vladimir Serbinenko.
11261 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
11262 * util/grub-install.in: Define pkgdatadir if not already set, and source
11263 grub-mkconfig_lib from there.
11264 * util/grub-kbdcomp.in: Likewise.
11265 * util/grub-mkconfig.in: Likewise.
11266 * util/grub-mknetdir.in: Likewise.
11267 * util/grub-mkrescue.in: Likewise.
11268 * util/grub-mkstandalone.in: Likewise.
11269 * util/grub-reboot.in: Likewise.
11270 * util/grub-set-default.in: Likewise.
11271 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
11273 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11275 Increase warning level.
11277 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
11278 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
11279 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
11280 (TARGET_CFLAGS): Likewise.
11281 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
11282 * grub-core/Makefile.core.def (decompressor_xz): Add
11283 -Wno-unreachable-code.
11284 (normal): Add -Wno-redundant-decls.
11285 (xzio): Add -Wno-unreachable-code.
11286 (lzopio): Add -Wno-redundant-decls -Wno-error.
11287 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
11288 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
11289 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
11290 * grub-core/kern/dl.c: Add exception to -Wcast-align.
11291 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
11292 * grub-core/kern/i386/coreboot/init.c: Add exception to
11293 -Wsuggest-attribute=noreturn.
11294 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
11295 * grub-core/kern/ia64/dl_helper.c: Likewise.
11296 * grub-core/kern/mips/dl.c: Likewise.
11297 * grub-core/kern/sparc64/dl.c: Likewise.
11298 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
11299 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
11300 (memcmp): Likewise.
11301 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
11302 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
11303 * grub-core/loader/mips/linux.c: Likewise.
11304 * grub-core/loader/multiboot_elfxx.c: Likewise.
11305 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
11306 * grub-core/video/sm712.c: Add exception to -Wcast-align.
11307 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
11308 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
11310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
11311 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
11314 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11316 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
11319 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11321 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
11322 Avoid improper use of strings.
11323 (grub_cmd_legacy_initrdnounzip): Likewise.
11325 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11327 * include/grub/emu/misc.h (grub_util_warn): Add missing format
11329 (grub_util_info): Likewise.
11330 (grub_util_error): Likewise.
11332 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11334 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
11335 * util/grub-fstest.c (fstest): Likewise.
11337 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11339 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
11340 (grub_md_sha512_real): Likewise.
11341 (grub_util_get_geli_uuid): Likewise.
11342 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
11343 (grub_util_biosdisk_open): Fix format specification.
11344 Respect format security.
11345 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
11346 (xrealloc): Likewise.
11347 (xasprintf): Likewise.
11349 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11351 * util/import_gcry.py: Include grub/crypto.h in init.c.
11353 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11355 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
11356 (generate_image): Make prefix a const char *.
11357 Fix format specifications. Respect format security.
11358 Avoid void * arithmetics.
11360 (argp_parser): Remove unused variable. Respect format security.
11361 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
11362 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
11363 (count_funcs): Remove unused variable.
11364 (relocate_addresses): Fix format specification.
11365 Disable x86-64 with elf32. Remove unused variables.
11366 (add_fixup_entry): Avoid shadowing.
11367 (make_reloc_section): Fix format specification.
11369 (locate_sections): Fix format specifications.
11370 (load_image): Avoid shadowing.
11372 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11374 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
11375 Fix format specifications. Respect format security.
11376 Don't translate already translated grub_errmsg.
11377 (argp_parser): Remove unused variable
11379 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11381 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
11383 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11385 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
11386 (main): Likewise. Use xmalloc. Respect format security.
11388 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11390 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
11392 (argp_parser): Remove unused variable.
11394 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11396 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
11397 (add_pixel): Make static.
11398 (add_font): Likewise.
11399 (write_string_section): Make name and str a const char *.
11400 (write_be16_section): Make name a const char *.
11401 (print_glyphs): Make static.
11402 (write_font_ascii_bitmap): Likewise.
11403 (write_font_width_spec): Likewise.
11404 (write_font_pf2): Likewise.
11405 (argp_parser): Remove unused variable.
11406 Respect format security.
11407 (main): Avoid shadowing. Respect format security.
11409 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11411 * util/grub-editenv.c (argp_parser): Make static.
11412 (create_envblk_file): Use xmalloc.
11413 (open_envblk_file): Likewise.
11414 Resepect format security.
11415 (set_variables): Respect format security.
11417 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11419 * util/getroot.c (grub_find_device): Respect format security.
11420 (get_mdadm_uuid): Remove unused variable.
11421 (grub_util_pull_device): Dont call gettext on already translated
11423 (find_system_device): Remove unused variable.
11424 (grub_util_get_grub_dev): Likewise.
11425 (grub_make_system_path_relative_to_its_root): Respect format security.
11427 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11429 * util/grub-fstest.c (execute_command): Make first argument
11431 (read_file): Avoid shadowing.
11432 Reuse underlying error message if device open fails.
11433 (cmd_cmp): Respect format security.
11434 (root): Make const char *.
11435 (fstest): Remove args argument and use global copy.
11436 Respect format security.
11437 (argp_parser): Make static.
11438 (main): Make default_root const char *.
11440 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11442 * util/grub-mount.c (root): Make const char *.
11443 (execute_command): Make first argument a const char *.
11444 (fuse_init): Respect format security.
11445 (argp_parser): Make static. Remove unused variable.
11446 (main): Make default_root a const char *.
11447 Respect format security.
11449 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11451 * util/grub-probe.c (probe): Don't call gettext on already translated
11453 Remove unused variables.
11454 (argp_parser): Remove unused variable.
11456 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11458 * util/grub-script-check.c (argp_parser): Remove unused variable.
11459 (main): Rename read to curread to avoid shadowing.
11461 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11463 * util/misc.c (grub_util_write_image_at): Fix format specification.
11464 (grub_util_write_image): Likewise.
11465 (grub_script_execute_argument_to_string): Removed (unused).
11466 (grub_script_execute_menuentry): Likewise.
11467 (grub_putchar): Likewise.
11469 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11471 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
11472 (FUNCTION) [GRUB_UTIL]: Likewise.
11473 (VARIABLE) [GRUB_UTIL]: Likewise.
11475 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11477 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
11478 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
11480 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11482 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
11485 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11487 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
11488 (LzmaEnc_SaveState): Removed (unused).
11489 (LzmaEnc_RestoreState): Likewise.
11490 (LzmaEnc_InitPriceTables): Made static.
11491 (LzmaEnc_Construct): Likewise.
11492 (LzmaEnc_FreeLits): Likewise.
11493 (LzmaEnc_Destruct): Likewise.
11494 (LzmaEnc_Init): Likewise.
11495 (LzmaEnc_InitPrices): Likewise.
11496 (LzmaEnc_Finish): Likewise.
11497 (LzmaEnc_PrepareForLzma2): Removed (unused).
11498 (LzmaEnc_MemPrepare): Likewise.
11499 (LzmaEnc_GetNumAvailableBytes): Likewise.
11500 (LzmaEnc_GetCurBuf): Likewise.
11501 (LzmaEnc_CodeOneMemBlock): Likewise.
11503 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11505 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
11506 (grub_util_ldm_embed): Likewise.
11508 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11510 * util/grub-editenv.c (print_var): Rename name to varname to
11512 (main): Rename index to curindex to avoid shadowing.
11513 Make filename a const char *.
11515 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11517 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
11518 to arg_getline to avoid shadowing.
11520 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11522 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
11523 disk_ to avoid shadowing.
11525 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11527 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
11528 curindex to avoid shadowing.
11530 (MatchFinder_GetNumAvailableBytes): Make static.
11532 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11534 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
11537 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
11539 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
11540 argument from encrypt to do_encrypt to avoid shadowing.
11542 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11544 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
11545 incorrect nesting of #if's.
11547 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11549 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
11550 checks which are always false on some platforms.
11551 (grub_cmd_lsacpi): Likewise.
11552 * grub-core/kern/misc.c (grub_strtoul): Likewise.
11553 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
11556 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11558 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
11559 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
11561 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11563 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
11564 re_dfa_t to avoid breaking alignment invariants.
11565 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
11566 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
11568 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11570 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
11571 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
11573 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11575 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
11578 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11580 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
11581 conserve alignment invariants.
11582 (grub_ehci_ehcc_read16): Likewise.
11583 (grub_ehci_oper_read32): Likewise.
11584 (grub_ehci_oper_write32): Likewise.
11585 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
11586 Conserve alignment invariants.
11588 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11590 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
11591 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
11594 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11596 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
11597 Remove unused variable.
11599 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11601 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
11604 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11606 * include/grub/net.h: Remove double declarations.
11608 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11610 Remove "payload" command in ia64 Linux loader since I couldn't
11611 find any evidence of it being used for anything.
11612 Replace "relocate" command with an environment variable
11614 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
11616 (ia64_boot_payload): Removed.
11617 (last_payload): Likewise.
11618 (RELOCATE_OFF): Likewise.
11619 (RELOCATE_ON): Likewise.
11620 (RELOCATE_FORCE): Likewise.
11621 (relocate): Likewise.
11622 (free_pages): Don't free payloads.
11623 (grub_load_elf64): Use common error messages.
11624 Use "linux_relocate" variable.
11625 Increase the space after boot_params.
11626 (grub_cmd_payload): Removed.
11627 (grub_cmd_relocate): Likewise.
11628 (grub_cmd_fpswa): Improve messages.
11629 (cmd_payload): Removed.
11630 (cmd_relocate): Likewise.
11631 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
11632 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
11634 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11636 Convert UHCI to DMA framework.
11638 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
11639 (grub_uhci_pci_iter): Fill new members
11640 (grub_alloc_td): Use P2V and V2P functions.
11641 (grub_free_queue): Likewise.
11642 (grub_alloc_qh): Likewise.
11643 (grub_uhci_setup_transfer): Likewise.
11644 (grub_uhci_check_transfer): Likewise.
11646 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11648 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
11649 Remove assignment in if while on it.
11651 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11653 * util/grub-mkstandalone.in: Fix modules directory.
11655 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11657 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
11659 (argp_parser): Accept "auto" as compression specification.
11661 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11663 Fix `help' with unloaded modules.
11665 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
11666 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
11667 (grub_dyncmd_dispatcher): Small stylistic fix.
11668 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
11669 explicit help is requested.
11671 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11673 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
11674 Explicitly init restart while on it.
11676 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
11678 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
11681 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11683 * util/grub-mknetdir.in: Use . rather than source for POSIX
11686 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11688 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
11690 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11692 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
11695 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11697 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
11700 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11702 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
11704 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11706 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
11707 iteration of partitions.
11709 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
11711 Improve gettext support. Stylistic fixes and error handling fixes while
11714 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
11716 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
11717 part. Instead setup the correct stack in RM.
11718 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
11720 * include/grub/i386/relocator_private.h: New file.
11722 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11724 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
11726 * util/grub-fstest.c (options): Add missing DEVICE part.
11728 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11730 Clarify and unify messages.
11732 * grub-core/commands/hashsum.c (options): Unify messages.
11733 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
11734 literal-only message as translatable.
11735 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
11736 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
11737 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
11739 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
11740 key, not the key used to unlock. Clarify what it's used for.
11741 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
11742 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
11743 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
11744 * util/grub-editenv.c (options): Unify "verbose" message.
11745 * util/grub-fstest.c (read_file): Unify error message.
11746 (fstest): Add quotes around commands.
11747 (options): Unify "verbose" message.
11748 * util/grub-install.in: Add quotes around variable name.
11749 * util/grub-kbdcomp.in: Unify error message.
11750 * util/grub-mkfont.c (main): Likewise.
11751 * util/grub-mkrescue.in: Likewise.
11752 * util/grub-mklayout.c (options): Unify "verbose" message.
11753 * util/grub-mkstandalone.in: Unify help and verbose messages.
11754 * util/grub-mount.c (options): Unify "verbose" message.
11755 * util/grub-probe.c (options): Likewise.
11756 * util/grub-script-check.c (options): Likewise.
11757 * util/grub-setup.c (setup): Unify no-terminator message.
11758 (options): Use DEVICE and not DEV.
11759 Unify "verbose" message.
11760 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
11762 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11764 Improve and unify messages.
11766 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
11767 name. All users updated.
11768 Print filename in error.
11769 (read_device_map): Print filename in error.
11770 * util/getroot.c (grub_guess_root_devices): Print filename in error.
11771 (grub_util_get_os_disk): Likewise.
11772 (grub_util_biosdisk_get_grub_dev): Likewise.
11773 (grub_util_check_block_device): Likewise.
11774 (grub_util_check_char_device): Likewise.
11775 (grub_make_system_path_relative_to_its_root): Likewise.
11776 * util/grub-editenv.c (create_envblk_file): Likewise.
11777 (open_envblk_file): Likewise.
11778 (write_envblk): Likewise.
11779 * util/grub-fstest.c (cmd_cp): Likewise.
11780 (cmd_cat): Likewise.
11781 (cmd_cmp): Likewise.
11782 * util/grub-menulst2cfg.c (main): Likewise.
11783 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
11784 (write_font_width_spec): Likewise.
11785 (write_font_pf2): Likewise.
11786 * util/grub-mkimage.c (generate_image): New argument outname.
11788 Remove unreacheable message.
11789 (options): Unify messages.
11790 (help_filter): Likewise.
11791 * util/grub-mklayout.c (usage): Removed (unused).
11792 (main): Print filename in error.
11793 * util/grub-mkrescue.in: Fix wrong quoting.
11794 * util/grub-setup.c (setup): Print filename in error.
11795 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
11796 (check_sas): Likewise.
11797 * util/misc.c (grub_util_get_fp_size): Removed.
11798 (grub_util_get_image_size): Print filename in error.
11799 (grub_util_read_at): Removed.
11800 (grub_util_read_image): Print filename in error.
11801 (grub_util_load_image): Likewise.
11802 (grub_util_write_image_at): New argument filename. All users updated.
11803 Print filename in error.
11804 (grub_util_write_image): New argument filename. All users updated.
11805 Print filename in error.
11806 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
11807 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
11809 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11811 * grub-core/Makefile.core.def (pxechain): New module.
11812 * grub-core/loader/i386/pc/pxechainloader.c: New file.
11813 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
11815 (grub_pc_net_config_real): Use grub_pxe_get_cached.
11816 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
11818 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11820 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
11821 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
11822 * include/grub/err.h (grub_error_saved): New struct.
11823 (grub_errmsg): Make array size explicit.
11824 * include/grub/misc.h (grub_error_save): New function.
11825 (grub_error_load): Likewise.
11826 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
11827 (grub_error_push): Update `errno' member name.
11828 (grub_error_pop): Likewise
11829 * grub-core/net/tftp.c (tftp_data): New member save_err.
11830 (tftp_receive): Save error.
11831 (tftp_open): Restore error.
11833 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
11835 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
11836 to real mode down to execute A20-related code in protected mode as
11839 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
11841 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
11842 NULL when the argument `level' has an unexpected value.
11844 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11846 Move platform-dependent files from $prefix to $prefix/$platform.
11848 * config.h.in (GRUB_TARGET_CPU): New definition.
11849 (GRUB_PLATFORM): Likewise.
11850 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
11851 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
11852 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
11853 * grub-core/kern/dl.c (grub_dl_load): Likewise.
11854 * grub-core/normal/autofs.c (read_fs_list): Likewise.
11855 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
11856 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
11857 * grub-core/normal/term.c (read_terminal_list): Likewise.
11858 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
11860 (grub_gettext_init_ext): Likewise.
11861 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
11863 * util/grub-install.in: Update directories.
11864 * util/grub-mknetdir.in: Likewise.
11865 * util/grub-mkrescue.in: Likewise.
11867 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11869 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
11870 grub_error framework. All users updated.
11872 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11874 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
11875 lists (by always binsearching), improve caching (cache strings
11876 used for binsearch, not only results), improve
11877 maintainability (by using more structured binary search) and correct
11880 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11882 * grub-core/script/execute.c (grub_script_return): Fix warning.
11884 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
11886 * grub-core/script/execute.c (grub_script_return): Fix potential
11888 Reported by: Jim Meyering.
11890 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11892 * po/POTFILES.in: Regenerate.
11893 * util/grub-install.in: Gettextize the strings missed in first pass.
11895 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11897 * Makefile.util.def (grub-mkdevicemap): Removed.
11898 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
11899 * include/grub/util/deviceiter.h: Removed.
11900 * util/deviceiter.c: Likewise.
11901 * util/getroot.c (grub_util_get_os_disk): New function.
11902 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
11903 replacement for EFI.
11904 * util/grub-mkdevicemap.c: Removed.
11905 * util/grub-probe.c (probe): Handle PRINT_DISK.
11906 (argp_parser): Handle -t disk.
11908 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11910 * util/grub-mkfont.c: Migrate to argp.
11911 * util/grub-mklayout.c: Likewise.
11912 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11913 * util/grub-mkrelpath.c: Likewise.
11914 * util/grub-probe.c: Likewise.
11915 * util/grub-script-check.c: Likewise.
11917 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11919 * util/grub-reboot.in: Add missing datarootdir.
11920 Add missing newline.
11921 * util/grub-set-default.in: Add missing datarootdir.
11922 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
11923 * util/grub-mkrescue.in: Likewise.
11925 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11927 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
11929 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11931 * util/grub-kbdcomp.in: Add decent help and gettextize.
11932 * docs/man/grub-kbdcomp.h2m: New file.
11934 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11936 Migrate grub-mkimage.c to argp.
11938 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
11939 (grub-setup): Likewise.
11940 * util/grub-setup.c (print_version): Move to ...
11941 * util/argp_common.c (print_version): ... here.
11942 * util/grub-setup.c (argp_program_version_hook): Move to ...
11943 * util/argp_common.c (argp_program_version_hook): ... here.
11944 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
11946 * util/grub-mkimage.c (main): Migrate to argp.
11948 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11950 * util/grub-mkrescue.in: Use same message as
11951 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
11952 for better translations.
11954 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11956 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
11957 options with generic grub-mkrescue.in with the goal of future
11960 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11962 * grub-core/kern/mm.c: Add missing include of i18n.h
11963 * grub-core/lib/relocator.c: Likewise.
11965 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11967 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
11969 (allocate_pages): Check return value.
11970 Replace fatal with error.
11971 (grub_linux_boot): Replace printf with dprintf.
11972 Check find_mmap_size return value.
11973 Replace fatal with error.
11974 Don't call grub_machine_fini.
11975 (grub_load_elf64): Replace printf with dprintf.
11976 (grub_cmd_linux): Likewise.
11977 (grub_cmd_initrd): Likewise.
11978 (grub_cmd_payload): Likewise.
11980 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
11982 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
11984 * grub-core/video/radeon_fuloong2e.c
11985 (grub_video_radeon_fuloong2e_setup): Likewise.
11986 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
11987 * grub-core/video/video.c (grub_video_set_mode): Don't override
11988 standard out of memory message.
11990 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
11992 NetBSD disk wedge support.
11994 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
11995 [__NetBSD__]: Handle NetBSD disk wedges.
11996 * util/getroot.c (convert_system_partition_to_system_disk)
11997 [__NetBSD__]: Likewise.
11999 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
12001 * util/grub-mkconfig.in: Use umask rather than chmod to create
12002 grub.cfg.new to avoid insecure grub.cfg.
12004 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12006 * grub-core/commands/ls.c: Gettextize.
12007 * grub-core/commands/setpci.c: Likewise.
12008 * grub-core/commands/videotest.c: Likewise.
12009 * grub-core/disk/geli.c: Likewise.
12010 * grub-core/kern/mm.c: Likewise.
12011 * grub-core/lib/relocator.c: Likewise.
12012 * grub-core/loader/efi/appleloader.c: Likewise.
12013 * grub-core/loader/i386/xnu.c: Likewise.
12014 * grub-core/loader/ia64/efi/linux.c: Likewise.
12015 * grub-core/loader/xnu.c: Likewise.
12016 * grub-core/net/dns.c: Likewise.
12017 * grub-core/net/net.c: Likewise.
12018 * grub-core/script/lexer.c: Likewise.
12019 * grub-core/script/parser.y: Likewise.
12020 * grub-core/script/yylex.l: Likewise.
12021 * util/getroot.c: Likewise.
12022 * util/grub-setup.c: Likewise.
12024 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12026 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
12029 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12031 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
12033 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12035 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
12037 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
12038 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
12040 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12042 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
12043 * util/grub-install.in: Gettextize.
12044 * util/grub-mkconfig.in: Likewise.
12045 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
12047 (grub_warn): Gettextize.
12048 * util/grub-mknetdir.in: Gettextize.
12049 * util/grub-mkrescue.in: Likewise.
12050 * util/grub-mkstandalone.in: Likewise.
12051 * util/grub-reboot.in: Likewise.
12052 * util/grub-set-default.in: Likewise.
12053 * util/grub.d/00_header.in: Likewise.
12054 * util/grub.d/10_hurd.in: Likewise.
12055 * util/grub.d/10_kfreebsd.in: Likewise.
12056 * util/grub.d/10_linux.in: Likewise.
12057 * util/grub.d/10_netbsd.in: Likewise.
12058 * util/grub.d/10_windows.in: Likewise.
12059 * util/grub.d/20_linux_xen.in: Likewise.
12060 * util/grub.d/30_os-prober.in: Likewise.
12061 * po/POTFILES-shell.in: Regenerate.
12063 2012-02-03 Richard Laager <rlaager@wiktel.com>
12065 * util/grub-mkimage.c (main): Fix format-security warning.
12066 * util/grub-mkrelpath.c (main): Likewise.
12067 * util/grub-probe.c (main): Likewise.
12069 2012-02-03 Richard Laager <rlaager@wiktel.com>
12071 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
12073 Put back lost PRINT_DRIVE.
12075 2012-02-03 Richard Laager <rlaager@wiktel.com>
12077 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
12078 (grub_guess_root_devices): Replace strlen with sizeof.
12080 (find_root_devices_from_poolname): Remove unused variable.
12083 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
12085 Support install on multi-device filesystems.
12087 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
12088 (grub_guess_root_devices): ...this. Return char **. All users updated.
12089 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
12091 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
12092 (find_root_devices_from_poolname): ... here.
12093 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
12095 (grub_guess_root_device): Rename to ...
12096 (grub_guess_root_devices): ... this. Return char **. All users updated.
12097 * util/grub-install.in: Handle multi-device filesystems.
12098 * util/grub-probe.c (probe). Make device_names a char **. Add delim
12099 argument. All users updated.
12100 Handle multi-device filesystems.
12101 Use 'delim' as separator.
12102 Remove device check to allow filesystems on file.
12103 (main): Support -0 argument. Handle multi-device.
12104 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
12105 Fix a cross-device check while on it.
12106 (arguments): Remove root_dev.
12107 (argp_parser): Remove -r.
12108 (main): Remove root_dev.
12110 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12112 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
12114 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12116 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
12118 Reported by: NODA, Kai <nodakai>.
12120 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12124 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
12126 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
12127 (grub_ehci_setup_qh): Likewise.
12128 (grub_ehci_find_qh): Likewise.
12129 (grub_ehci_transaction): Likewise.
12130 (grub_ehci_setup_transfer): Likewise.
12131 (grub_ehci_check_transfer): Likewise.
12132 (grub_ehci_portstatus): Likewise.
12133 (grub_ehci_detect_dev): Likewise.
12134 (grub_ehci_transfer_controller_data): New field td_last_phys.
12135 (grub_ehci_setup_transfer): Fill td_last_phys.
12136 (grub_ehci_check_transfer): Use td_last_phys.
12138 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
12140 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
12141 if no submenu is present.
12143 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12147 * include/grub/usb.h (grub_usbms_protocol_t): New values
12148 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
12149 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
12150 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
12151 (grub_usbms_dev): Add subclass, protocol and intrpt.
12152 Remove in_maxsz and out_maxsz.
12153 (grub_usbms_reset): Rename to ...
12154 (grub_usbms_bo_reset): .. this.
12155 (grub_usbms_cbi_cmd): New function.
12156 (grub_usbms_cbi_reset): Likewise.
12157 (grub_usbms_reset): Likewise.
12158 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
12159 (grub_usbms_transfer): Rename to ...
12160 (grub_usbms_transfer_bo): ... this.
12161 (grub_usbms_transfer_cbi): Likewise.
12162 (grub_usbms_transfer): Likewise.
12164 2012-02-01 Aleš Nesrsta <starous@volny.cz>
12165 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
12167 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
12168 the support for the CS5536 modification thereos and few bugfixes.
12170 * grub-core/Makefile.core.def (ehci): New module.
12171 * grub-core/bus/usb/ehci.c: New file.
12172 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
12173 port and hubaddr. All users updated.
12174 Save port and hubaddr into dev structure.
12175 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
12177 * include/grub/pci.h (grub_dma_phys2virt): New function.
12178 (grub_dma_virt2phys): Likewise.
12179 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
12181 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12183 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
12184 check as some mkfs implementations omit it.
12186 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12188 * docs/grub.texi (Unicode): Mention identifier and space limitations.
12190 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12192 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
12193 Add new member volname2.
12194 (grub_jfs_label): Use volname2 if available.
12196 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12198 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
12199 over last_mounted as seen in image generated by mkfs.nilfs2.
12200 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
12202 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12204 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
12205 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
12206 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
12208 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12210 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
12213 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12215 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
12216 subvolume name (by removing a bogus and useless check).
12218 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
12220 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
12221 sizeof while on it.
12223 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12225 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
12226 (grub_scsi_read_capacity10): ... this.
12227 (grub_scsi_read_capacity16): New function.
12228 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
12230 Fix off-by-one error.
12231 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
12233 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
12234 (grub_scsi_read_capacity10): ... this.
12235 (grub_scsi_read_capacity_data): Rename to ...
12236 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
12237 (grub_scsi_read_capacity16): New struct.
12238 (grub_scsi_read_capacity16_data): Likewise.
12239 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
12240 grub_scsi_cmd_read_capacity10.
12241 New command grub_scsi_cmd_read_capacity16.
12243 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12245 SCSI >2TiB support.
12247 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
12248 (grub_scsi_write16): Likewise.
12249 (grub_scsi_read): Use read16 when necessary.
12250 (grub_scsi_write): Likewise.
12251 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
12252 (grub_scsi_write16): Likewise.
12253 (grub_scsi_cmd_t): Add READ16 and WRITE16.
12255 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12257 SCSI write support (for usbms mainly).
12259 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
12261 (grub_scsi_write): Implement.
12262 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
12264 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
12266 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
12269 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12271 * grub-core/lib/posix_wrap/string.h (memchr): New function.
12273 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12275 * po/POTFILES.in: Regenerate.
12277 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12279 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
12280 with grub_printf to avoid unnecessary fatal failure.
12282 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12284 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
12285 (INT_MAX): Likewise.
12286 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
12287 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
12288 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
12289 (strcpy): Likewise.
12290 (strstr): Likewise.
12291 (strchr): Likewise.
12292 (strncpy): Likewise.
12293 (strcat): Likewise.
12294 (strncat): Likewise.
12295 (strcoll): Likewise.
12296 * include/grub/types.h (GRUB_SHRT_MAX): New define.
12297 (GRUB_INT_MAX): Likewise.
12299 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12301 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
12303 (optimize_utf8): Likewise.
12304 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
12306 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12308 * grub-core/boot/i386/pc/lnxboot.S: Use
12309 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12310 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
12312 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
12314 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
12316 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12318 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
12319 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
12320 now to avoid double free.
12321 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
12323 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
12324 * util/grub-probe.c (escape_of_path): Always return a new copy.
12325 (print_full_name): Escape path.
12326 (probe): Don't call grub_util_devname_to_ofpath on NULL.
12327 Fix hints on abstractions.
12329 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12331 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
12332 Don't add "root" line if no compatibility hont is available.
12333 Suggested by: Seth Goldberg.
12335 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12337 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
12338 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
12339 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
12340 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
12342 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12344 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
12346 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12348 * util/grub-pe2elf.c (ehdr): Make static.
12350 (num_sections): Likewise.
12351 (offset): Likewise.
12353 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12355 Eliminate ofpath limits and possible overflows.
12357 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
12358 (OF_PATH_MAX): Removed.
12359 (MAX_DISK_CAT): New const.
12360 (find_obppath): Use allocated rather than preallocated buffer.
12361 Return result. Argument of_path removed. All users updated.
12362 Add missing fdstat.
12363 (xrealpath): New function.
12364 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
12365 Allocate rather than use preallocated buffer. All users updated.
12366 (__of_path_common): Use allocated rather than preallocatecd buffer.
12367 Return result. Argument of_path removed. All users updated.
12368 (vendor_is_ATA): Read only needed part form the file.
12369 (check_sas): Allocate depending on contents rather than fixed.
12370 (main) [STANDALONE]: Handle NULL result.
12372 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12374 * grub-core/normal/completion.c (iterate_dev): Close the disk.
12376 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12378 Cryptodisk write support.
12380 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
12381 (grub_cryptodisk_decrypt): Moved logic to ...
12382 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
12383 (grub_cryptodisk_write): Implement.
12384 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
12385 (grub_util_fd_write): ... this. Make global.
12386 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
12388 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12390 * include/grub/list.h (grub_list_remove): Don't crash if element is
12393 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12395 Rename ofconsole to console.
12397 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
12398 as sysnonym to console.
12399 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
12400 * grub-core/term/ieee1275/console.c: ... this. All users updated.
12401 Rename grub_ofconsole_ to grub_console_. All users updated
12402 (grub_console_term_output): Rename "ofconsole" to "console".
12403 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
12406 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12408 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
12410 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
12411 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
12412 GRUB_DISK_DEVICE_FILE_ID.
12414 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12416 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
12417 and improve performance.
12419 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12421 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
12422 missing ieee1275/ prefix on whole disk.
12424 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12426 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
12427 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
12429 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12431 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
12433 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
12435 Merge common RAID and LVM logic to an abstract diskfilter.
12436 Add LDM support using the same framework.
12438 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
12439 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12440 (libgrubmods): Remove grub-core/disk/raid.c and
12441 grub-core/partmap/gpt.c.
12442 * grub-core/Makefile.core.def (ldm): New module.
12443 (raid): Renamed to diskfilter. All users updated.
12444 * grub-core/disk/raid.c: Moved to ...
12445 * grub-core/disk/diskfilter.c: ... here.
12446 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
12448 (find_array): Renamed to ...
12449 (find_lv): ... this. Support multi-LV. Skip nameless LVs
12450 (grub_is_array_readable): Renamed to ...
12451 (grub_is_lv_readable): ... this. Support multinode hierarchy.
12452 (insert_array): New argument id.
12453 (is_node_readable): New function.
12454 (scan_device): Rename to ...
12455 (scan_disk): .. this. Restrict to one disk.
12456 (scan_devices): New function.
12457 (grub_diskfilter_iterate): Support multi-LV.
12458 Skip invisible and nameless LVs.
12459 (grub_diskfilter_memberlist): Support multi-LV.
12460 (grub_diskfilter_read_node): New function.
12461 (grub_raid_read): Most of logic moved to ...
12462 (read_segment): ... here
12463 (read_lv): New function.
12464 (grub_diskfilter_get_vg_by_uuid): New function.
12465 (grub_diskfilter_make_raid): Likewise.
12466 * grub-core/disk/ldm.c: New file.
12467 * grub-core/disk/lvm.c (vg_list): Removed.
12468 (lv_count): Likewise.
12469 (scan_depth): Likewise.
12470 (is_lv_readable): Likewise.
12471 (grub_lvm_getvalue): Advance pointer past the number.
12472 (find_lv): Removed.
12473 (do_lvm_scan): Refactored into ...
12474 (grub_lvm_detect): ... this. Support raid.
12475 (grub_lvm_iterate): Removed.
12476 (grub_lvm_memberlist): Likewise.
12477 (grub_lvm_open): Likewise.
12478 (grub_lvm_close): Likewise.
12479 (read_lv): Likewise.
12480 (read_node): Likewise.
12481 (is_node_readable): Likewise.
12482 (is_lv_readable): Likewise.
12483 (grub_lvm_read): Likewise.
12484 (grub_lvm_write): Likewise.
12485 (grub_lvm_dev): Use diskfilter
12486 (GRUB_MOD_INIT): Likewise.
12487 (GRUB_MOD_FINI): Likewise.
12488 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
12490 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
12491 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12492 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
12493 grub_diskfilter_read_node.
12494 Fix a bug with xor.
12495 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
12496 grub_diskfilter_read_node.
12497 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
12498 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
12499 (grub_disk_dev_iterate): Move from here...
12500 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
12501 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
12503 (grub_hostdisk_find_partition_start): Likewise.
12504 (grub_hostdisk_os_dev_to_grub_drive): New function.
12505 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
12506 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
12507 * util/getroot.c (make_device_name): ... here.
12508 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
12510 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
12511 * grub-core/kern/emu/hostdisk.c
12512 (convert_system_partition_to_system_disk): Move to ...
12513 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
12514 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
12515 * util/getroot.c (device_is_wholedisk): ... here.
12516 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
12517 * util/getroot.c (find_system_device): ... here.
12518 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
12520 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
12521 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
12523 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
12525 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
12527 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
12528 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
12529 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
12531 * include/grub/raid.h: Renamed to ...
12532 * include/grub/diskfilter.h: ... this.
12533 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
12534 (GRUB_RAID_LAYOUT_*): Make into array.
12535 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
12536 (grub_diskfilter_vg): New struct.
12537 (grub_diskfilter_pv_id): Likewise.
12538 (grub_raid_member): Removed.
12539 (grub_raid_array): Likewise.
12540 (grub_diskfilter_pv): New struct.
12541 (grub_diskfilter_lv): Likewise.
12542 (grub_diskfilter_segment): Likewise.
12543 (grub_diskfilter_node): Likewise.
12544 (grub_diskfilter_get_vg_by_uuid): New proto.
12545 (grub_raid_register): Inline.
12546 (grub_diskfilter_unregister): Likewise.
12547 (grub_diskfilter_make_raid): New proto.
12548 (grub_diskfilter_vg_register): Likewise.
12549 (grub_diskfilter_read_node): Likewise.
12550 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
12551 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
12552 (grub_util_is_ldm): Likewise.
12553 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
12554 (grub_hostdisk_find_partition_start): Likewise.
12555 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
12556 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
12558 (grub_gpt_partition_map_iterate): New proto.
12559 * include/grub/lvm.h (grub_lvm_vg): Removed.
12560 (grub_lvm_pv): Likewise.
12561 (grub_lvm_lv): Likewise.
12562 (grub_lvm_segment): Likewise.
12563 (grub_lvm_node): Likewise.
12564 * util/getroot.c [...]
12565 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
12566 (probe_abstraction): Likewise.
12567 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
12568 (main): Remove dead logic.
12570 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
12572 Simplify root device discover and don't fail when trying to open
12575 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
12577 (get_diskname_from_path): Likewise.
12578 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
12581 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12583 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
12585 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12587 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
12590 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
12592 * util/grub-install.in: Add missing \.
12593 Reported by: gentoofan
12595 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12597 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
12598 (direct_read): Use correct compressed size.
12599 (grub_squash_read_data): Likewise.
12601 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
12603 * docs/grub.texi (Platform limitations): New section.
12604 (Platform-specific operations): Likewise.
12605 * docs/grub-dev.texi (Porting): Likewise.
12607 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12609 IEEE1275 disk write support.
12611 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
12613 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
12614 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
12615 and seek loginc to ...
12616 (grub_ofdisk_prepare): ... here.
12617 (grub_ofdisk_write): Implement.
12619 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12621 ARC disk write support.
12623 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
12624 (reopen): New argument writable. All users updated.
12625 Handle required access mode.
12626 (grub_arcdisk_write): Implement.
12627 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
12628 (grub_arc_firmware_vector): Make buffer to write a const buffer.
12630 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12632 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
12633 (read_sblock): Don't attempt to read superblocks outside the disk size.
12635 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12637 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
12638 first superblock to find the second one when possible.
12640 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
12642 * util/grub-install.in: Fix an ARC bug.
12643 Print a warning if no platform-specific setup is available.
12645 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12647 Use static allocation rather than scratch pointer in reed_solomon.
12648 It decreases its size significantly and avoids a variable in .text.
12650 * grub-core/lib/reed_solomon.c (scratch): Removed.
12651 (chosenstat): New const or static array.
12653 (errpot): Likewise.
12654 (errpos): Likewise.
12657 (errvals): Likewise.
12658 (eqstat): Likewise.
12659 (pol_evaluate): Replace x with log_x argument. All users updated.
12660 (syndroms): Removed.
12661 (gauss_solve): Use statically allocated arrays.
12662 (rs_recover): Likewise.
12663 Calculate syndroms directly.
12664 (decode_block): Use statically allocated arrays.
12665 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
12666 (main) [TEST]: Allow -DTEST -DSTANDALONE.
12668 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12670 Eliminate fixed limit on reed solomon decoder length.
12672 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
12673 rather than hardcoding the address.
12674 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
12675 no_reed_solomon_length.
12676 Move gate_a20 to no-reed-solomon part.
12677 Don't force a particular size of no reed-solomon part.
12678 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
12680 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
12681 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
12683 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12685 * grub-core/commands/wildcard.c (match_files): Handle filenames
12686 without explicit device.
12687 (wildcard_expand): Don't add explicit device if not already present.
12688 * tests/grub_script_echo1.in: Add a new expansion test.
12690 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12692 Replace single-linked with double-linked lists. It results in more
12693 compact and more efficient code.
12695 * grub-core/kern/list.c (grub_list_push): Moved from here ...
12696 * include/grub/list.h (grub_list_push): ... to here. Set prev.
12697 (grub_list_remove): Moved from here ...
12698 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
12699 (grub_prio_list_insert): Set prev.
12700 * include/grub/list.h (grub_list): Add prev. All users updated.
12702 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12704 Handle newer autotools. Add some missing quotes while on it.
12706 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
12707 (pkglib_DATA): Move grub-mkconfig_lib from here ...
12708 (pkgdata_DATA): ... here.
12709 * Makefile.util.def (update-grub_lib): Removed.
12710 * conf/Makefile.common (pkglib_DATA): Removed.
12711 (pkglib_SCRIPTS): Likewise.
12712 (pkgdata_DATA): New variable.
12713 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
12715 Add missing quotes.
12716 Remove unused variable while on it.
12717 * tests/util/grub-shell.in: Likewise.
12718 * util/grub-install.in: Likewise.
12719 * util/grub-mkconfig.in: Likewise.
12720 * util/grub-mknetdir.in: Likewise.
12721 * util/grub-mkrescue.in: Likewise.
12722 * util/grub-mkstandalone.in: Likewise.
12723 * util/grub.d/00_header.in: Likewise.
12724 * util/grub.d/10_hurd.in: Likewise.
12725 * util/grub.d/10_illumos.in: Likewise.
12726 * util/grub.d/10_kfreebsd.in: Likewise.
12727 * util/grub.d/10_linux.in: Likewise.
12728 * util/grub.d/10_netbsd.in: Likewise.
12729 * util/grub.d/10_windows.in: Likewise.
12730 * util/grub.d/20_linux_xen.in: Likewise.
12731 * util/grub.d/30_os-prober.in: Likewise.
12732 * util/update-grub_lib.in: Removed.
12734 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
12736 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
12737 a workaround for intel problem.
12739 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
12740 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12741 2012-01-23 pfsmorigo
12743 * util/grub-install.in: Support dd'in into PreP partition.
12744 * util/grub-probe.c (probe): Support discovering partition type.
12745 (main): Support -t msdos_parttype.
12747 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
12749 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
12750 infinite recursion using counter.
12751 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
12752 init to skip it if the magic check fails.
12753 (dec_stream_header): Init s->crc32.
12755 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12756 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
12757 2012-01-22 Richard Laager <rlaager@wiktel.com>
12759 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
12761 (find_bestub): Determine correct size.
12762 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
12763 (scan_disk): Align the size down.
12764 Call check pool before find_bestub to have ashift.
12766 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12768 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
12769 dprintf in no-malloc zone.
12771 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
12773 * configure.ac: Add back in test for limits.h.
12775 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12777 Support 4K-sector NTFS.
12779 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
12780 (grub_ntfs_data): Remove blocksize.
12781 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
12782 Remove data argument. All users updated.
12784 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
12786 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
12787 being in .text to avoid dprel references.
12788 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
12789 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
12790 (grub_arch_highmemsize): Likewise.
12791 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
12792 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
12793 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
12795 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12797 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
12799 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
12800 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
12802 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12804 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
12806 (grub_set_datetime_cmos): Likewise.
12808 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12810 Make XZ compression parameters dependent on target and not host CPU.
12812 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
12813 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
12815 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
12817 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
12818 set but not used variable.
12820 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12822 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
12823 created when no uuid support is compiled into mkfs.reiser.
12825 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12827 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
12828 (utf8_to_macroman): Do the opposite.
12829 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
12831 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12833 * configure.ac: Refise build qemu_mips w/o unifont.
12835 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12837 Eliminate grub_min/grub_max prone to overflow usage.
12839 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
12840 (poll_nonroot_hub): Likewise.
12841 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
12842 (grub_affs_label): Likewise.
12843 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
12844 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
12845 (grub_hfs_label): Likewise.
12846 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
12847 * grub-core/fs/zfs/zfs.c (MIN): Remove.
12848 (zap_leaf_array_equal): Use grub_size. Remove MIN.
12849 (zap_leaf_array_get): Likewise.
12850 (dnode_get_path): Likewise.
12851 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
12852 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
12853 * grub-core/script/execute.c (grub_script_break): Likewise.
12854 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
12856 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
12857 * include/grub/misc.h (grub_min): Removed.
12858 (grub_max): Likewise.
12860 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
12862 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
12865 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12867 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
12869 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12871 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
12873 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12875 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
12876 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
12878 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12880 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
12881 rather than a hack for grub_strncasemap.
12883 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12885 Support multiple initrds
12886 Note: part of this was accidently committed in r3739.
12888 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
12890 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
12891 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
12892 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
12893 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12894 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
12896 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12898 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
12899 disks with unknown size.
12900 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
12902 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12904 Remove defines pertaining to arbitrary limits not affecting GRUB
12907 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
12908 (EXT2_MAX_SYMLINKCNT): Likewise.
12909 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
12910 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
12911 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
12912 (GRUB_PXE_MAX_BLKSIZE): Likewise.
12913 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
12914 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
12915 (DN_MAX_OBJECT_SHIFT): Likewise.
12916 (DN_MAX_OFFSET_SHIFT): Likewise.
12917 (DN_MAX_OBJECT): Likewise.
12918 (DNODES_PER_LEVEL_SHIFT): Likewise.
12919 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
12920 (SPA_MAXBLOCKSIZE): Likewise.
12921 (SPA_BLOCKSIZES): Likewise.
12922 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
12923 (MZAP_MAX_BLKSZ): Likewise.
12925 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12927 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
12928 handle NULL appropriately.
12931 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12935 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
12937 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
12938 * configure.ac: Fix efiemu check.
12940 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12942 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
12944 Reported by: adamwill
12946 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
12948 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
12950 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12952 Fix handling of wide characters in gfxterm.
12954 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
12955 (clear_char): Likewise.
12956 (paint_char): Skip code == NULL chars.
12957 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
12959 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12961 * grub-core/normal/charset.c: Move comment to right place.
12963 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12965 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
12966 (GRUB_AFFS_FLAG_FFS): Put back where it was.
12967 (grub_affs_mount): Revert the correct version checking.
12969 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12971 * docs/grub.texi (Unicode): Mention several other unsupported features.
12973 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12975 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
12976 case statements as compile-time one.
12977 (direct_read): Prevent spurious warnings.
12978 (grub_squash_read_data): Likewise.
12980 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
12982 Various squash4 fixes and LZO and XZ support.
12984 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
12985 Add xzembed source files.
12986 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
12987 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
12988 (grub_squash_inode): New subtype long_dir.
12989 (SQUASH_TYPE_LONG_DIR): New inode type.
12990 (COMPRESSION): New enum.
12991 (XZBUFSIZ): New const.
12992 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
12993 (read_chunk): Use data->decompress.
12994 (zlib_decompress): New function.
12995 (lzo_decompress): Likewise.
12996 (xz_decompress): Likewise.
12997 (squash_mount): Set new data fields.
12998 (grub_squash_iterate_dir): Handle long dir.
12999 (squash_unmount): Free xzdec and xzbuf.
13000 (grub_squash_open): Check ino type.
13001 (direct_read): Stylistic fixes. Use data->decompress.
13002 (grub_squash_read_data): Likewise.
13003 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
13004 (get_byte): Likewise.
13005 (grub_zlib_disk_read): Removed.
13006 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
13007 (GRUB_POSIX_BOOL_DEFINED): New define.
13008 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
13009 * grub-core/lib/xzembed/xz.h: Addmissing includes.
13010 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
13011 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
13013 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13015 Don't override more informative errors.
13017 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
13018 * grub-core/font/font.c (open_section): Likewise.
13019 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
13020 filename. Don't override errors.
13021 (grub_cmd_openbsd_ramdisk): Don't override errors.
13022 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
13023 (grub_cmd_initrd): Likewise.
13024 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13025 (grub_cmd_initrd): Likewise.
13026 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
13027 (grub_cmd_linux): Likewise.
13028 (grub_cmd_initrd): Likewise.
13029 (grub_cmd_payload): Likewise.
13030 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
13031 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
13032 (grub_cmd_module): Likewise.
13033 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13034 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
13035 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
13036 (grub_cmd_xnu_mkext): Likewise.
13037 (grub_cmd_xnu_ramdisk): Likewise.
13038 (grub_xnu_check_os_bundle_required): Likewise.
13039 (grub_xnu_load_kext_from_dir): Likewise.
13040 (grub_cmd_xnu_kextdir): Likewise.
13041 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
13043 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13045 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
13046 as 1024 in block size field. Found on one of my test images.
13047 Small optimisation while on it.
13049 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13051 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
13052 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
13053 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
13054 performance fixes while on it.
13055 (grub_sfs_close): Fix memory leak while on it.
13056 (grub_sfs_label): Convert Latin1 to UTF-8.
13058 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13060 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
13061 space to avoid overflows.
13062 (grub_hfs_label): Convert from macroman to UTF-8.
13064 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13066 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
13068 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13070 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
13072 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13074 * unicode: Import Unicode 6.0 data.
13076 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13078 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
13081 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13083 Avoid cutting in the middle of UTF-8 character.
13085 * include/grub/charset.h (grub_getend): New function.
13086 * grub-core/script/function.c (grub_script_function_find): Use
13088 * grub-core/normal/completion.c (add_completion): Likewise.
13090 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13092 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
13093 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
13094 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
13095 (GRUB_UNICODE_TAG_END): Likewise.
13096 (GRUB_UNICODE_LAST_VALID): Likewise.
13098 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13100 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
13101 len and make it smaller. All users updated.
13102 * util/import_unicode.py: Put length and not end character.
13105 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13107 Make better Unicode-compliant and unify some UTF-8 code pathes.
13109 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
13111 (grub_is_valid_utf8): Use grub_utf8_process.
13112 Check resulting code range.
13113 (grub_utf8_to_ucs4): Use grub_utf8_process.
13114 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
13117 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13119 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
13121 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13123 * docs/grub.texi (Filesystems): Mention AFS.
13125 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13127 * docs/grub.texi (Filesystems): Clarify restrictions.
13128 (Regexp): Mention non-Unicode regexp behaviour.
13129 (Other): Mention non-Unicode matching behaviour.
13131 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13133 Make HFS implementation use MacRoman.
13135 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
13136 (macroman): New const array.
13137 (macroman_to_utf8): New function.
13138 (utf8_to_macroman): Likewise.
13139 (grub_hfs_find_dir): Use utf8_to_macroman.
13140 (grub_hfs_dir): Use macroman_to_utf8.
13141 Set case_insensitive.
13143 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13145 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
13147 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13149 Integrate hints into autogeneration scripts.
13151 * docs/grub.texi (Filesystems): Add a hostdisk example.
13152 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
13153 (grub-probe): Add ofpath.
13154 * gentpl.py: Remove group nosparc64.
13155 * grub-core/commands/search.c (cache_entry): New struct.
13157 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
13158 * grub-core/commands/search_wrap.c (options): Add platform-specific
13160 (grub_cmd_search): Handle platform-specific hints.
13161 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
13162 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
13163 (grub_util_biosdisk_data): Likewise.
13164 (grub_util_biosdisk_open): Set device_map.
13165 (read_device_map): Handle "" as indication of no map.
13167 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
13168 (grub_util_biosdisk_get_compatibility_hint): New function.
13169 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
13170 * include/grub/emu/hostdisk.h
13171 (grub_util_biosdisk_get_compatibility_hint): New proto.
13172 * util/grub-install.in: Don't call grub-mkdevicemap.
13173 Add platform-specific hint to load.cfg.
13174 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
13175 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
13176 hints. Set root preliminary to compatibility hint, not to OS name.
13177 * util/grub-probe.c (PRINT_*): Add hints.
13178 (print): Make static.
13179 (escape_of_path): New function.
13180 (guess_bios_drive): Likewise.
13181 (guess_efi_drive): Likewise.
13182 (guess_baremetal_drive): Likewise.
13183 (print_full_name): Likewise.
13184 (probe): Handle hints.
13186 * util/ieee1275/devicemap.c: Removed.
13187 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
13189 (grub_util_devname_to_ofpath): Return NULL on failure.
13191 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
13193 * util/getroot.c (grub_util_pull_device): Fix memory leak.
13195 * po/POTFILES.in: Regenerated.
13197 Allow purely long options
13199 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
13200 (SHORT_ARG_USAGE): Likewise.
13201 (grub_arg_show_help): Compare opt with help_options.
13202 (parse_option): Receive opt as argument. If makes big simplificatons.
13205 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13207 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
13208 Restructure to avoid warning.
13210 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13212 * util/grub-install.in: Account for possible escaped comma in device
13215 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13217 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
13220 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13222 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
13223 allocation and zero-setting.
13224 (grub_ieee1275_get_devname): Check that alias is complete.
13226 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13228 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
13229 unaligned segments.
13231 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
13233 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
13235 (grub_ofdisk_open): Check and discard ieee1275 prefix.
13236 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13237 Add ieee1275 prefix.
13239 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13241 * docs/grub.texi (Filesystems): Update.
13243 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13245 Support odc, newc and bigendian cpio formats.
13247 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
13248 * grub-core/Makefile.core.def (newc): New module.
13250 (cpio_be): Likewise.
13251 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
13253 (MAGIC2): Likewise.
13254 (head) [MODE_ODC]: Adapt for the format.
13255 (head) [MODE_NEWC]: Likewise.
13256 (head) [!MODE_*]: Write fields of interest as arrays.
13257 (MAGIC_USTAR): Removed.
13258 (read_number) [MODE_NEWC]: Change to hex.
13259 (read_number) [!MODE_*]: Parse binary arrays.
13260 (grub_cpio_find_file): Factor out the code for better structure and
13261 always use read_number.
13262 (grub_cpio_mount): Use MAGIC and MAGIC2.
13263 (grub_cpio_dir): Exit on first hook non-0 return.
13264 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
13265 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
13266 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
13267 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
13268 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
13269 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
13270 * grub-core/fs/newc.c: New file.
13271 * grub-core/fs/odc.c: Likewise.
13272 * grub-core/fs/cpio_be.c: Likewise.
13274 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13276 Fix handling of tar numbers occupying the whole field.
13278 * grub-core/fs/cpio.c (read_number): New function.
13279 (grub_cpio_find_file): Use read_number instead of strtoull.
13281 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13283 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
13284 occupying the whole field size.
13286 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
13288 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
13290 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13292 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
13294 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
13296 * grub-core/Makefile.core.def (lzma_decompress): Add missing
13297 TARGET_IMG_LDFLAGS.
13299 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13301 * util/getroot.c (ESCAPED_PATH_MAX): New define.
13302 (mountinfo_entry): Increase the field size to take escaping into
13304 (find_root_device_from_libzfs): Add one byte to size of strings for
13307 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13309 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
13311 * util/grub-setup.c (setup): Likewise.
13313 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
13315 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
13318 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13320 * docs/grub.texi (Internationalisation): New section.
13322 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
13324 * docs/grub.texi (Loopback booting): New section.
13326 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
13328 * util/grub-mkstandalone.in: Fix minor typo errors.
13330 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13332 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
13334 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
13335 net/icmp.c and net/icmp6.c.
13336 (http): New module.
13337 (priority_queue): Likewise.
13338 * grub-core/io/bufio.c: Rewritten.
13339 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
13340 TYPE_WITH_CONFIGFILE_OPTION.
13341 (legacy_commands): Add bootp and dhcp.
13342 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
13343 (grub_legacy_parse): Likewise.
13344 * grub-core/lib/priority_queue.c: New file.
13345 * grub-core/net/arp.c: Add missing license header.
13346 (arp_find_entry): Removed.
13347 (arp_find_entry): Likewise.
13348 (grub_net_arp_resolve): Rename to ...
13349 (grub_net_arp_send_request): ...this.
13350 (grub_net_arp_receive): New card argument.
13351 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
13352 Set router and DNS server.
13353 (grub_net_configure_by_dhcp_ack): Handle routing information.
13354 (grub_cmd_bootp): Set checksum.
13355 (grub_bootp_init): Remove net_dhcp.
13356 * grub-core/net/dns.c: New file.
13357 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
13359 (get_card_packet): Handle allocation.
13360 (grub_efinet_findcards): Set mtu.
13361 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
13362 (get_card_packet): Handle allocation.
13363 (emucard): Set mtu.
13364 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
13365 (GRUB_MOD_INIT): Set mtu.
13366 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
13368 (get_card_packet): Handle allocation.
13369 (grub_ofnet_findcards): Set mtu.
13370 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
13372 (grub_net_recv_ethernet_packet): Handle IPv6.
13373 * grub-core/net/http.c: New file.
13374 * grub-core/net/icmp.c: Likewise.
13375 * grub-core/net/icmp6.c: Likewise.
13376 * grub-core/net/ip.c (ip6addr): New type.
13377 (ip6hdr): Likewise.
13378 (reassemble): Likewise.
13379 (cmp): New function.
13380 (reassembles): New variable.
13381 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
13382 (id): New variable.
13383 (send_fragmented): New function.
13384 (grub_net_send_ip_packet): Rename to ...
13385 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
13387 (grub_net_recv_ip_packets): Rename to ...
13388 (handle_dgram): ... this. Check checksum. Handle non-UDP.
13389 (free_rsm): New function.
13390 (free_old_fragments): Likewise.
13391 (grub_net_recv_ip4_packets): New function.
13392 (grub_net_send_ip6_packet): Likewise.
13393 (grub_net_send_ip_packet): Likewise.
13394 (grub_net_recv_ip6_packets): Likewise.
13395 (grub_net_recv_ip_packets): Likewise.
13396 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
13397 (LINK_LAYER_CACHE_SIZE): New const.
13398 (link_layer_find_entry): New function.
13399 (grub_net_link_layer_add_address): Likewise.
13400 (grub_net_link_layer_resolve_check): Likewise.
13401 (grub_net_link_layer_resolve): Likewise.
13402 (grub_net_ipv6_get_slaac): Likewise.
13403 (grub_net_ipv6_get_link_local): Likewise.
13404 (grub_cmd_ipv6_autoconf): Likewise.
13405 (parse_ip): Handle one number representation.
13406 (parse_ip6): New functoion.
13407 (match_net): Handle IPv6.
13408 (grub_net_resolve_address): Handle IPv6 and DNS.
13409 (grub_net_resolve_net_address): Handle IPv6.
13410 (route_cmp): New function.
13411 (grub_net_route_address): Find best route.
13412 (grub_net_addr_to_str): Handle IPv6.
13413 (grub_net_addr_cmp): New function.
13414 (grub_net_add_addr): Register local route.
13415 (print_net_address): Handle net address.
13416 (grub_net_poll_cards): Retransmit TCP.
13417 (grub_net_poll_cards_idle_real): Likewise.
13418 (have_ahead): New function.
13419 (grub_net_seek_real): Use underlying seek.
13420 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
13421 * grub-core/net/tcp.c: New file.
13422 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
13423 (cmp): New function.
13425 (tftp_receive): Handle unordered input.
13426 (destroy_pq): New function.
13427 (tftp_close): Close pq.
13428 * grub-core/net/udp.c: Put missing license header.
13429 (grub_net_udp_socket): New function.
13430 (udp_socket_register): Likewise.
13431 (grub_net_udp_close): Likewise.
13432 (grub_net_recv_udp_packet): Check checksum.
13433 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
13434 * include/grub/misc.h (grub_memchr): New function.
13435 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
13436 (grub_net_card_driver): Return buf in recv.
13437 (grub_net_slaac_mac_list): New struct.
13438 (grub_network_level_protocol_id): Add ipv6.
13439 (grub_net_network_level_addr): Likewise.
13440 (grub_net_network_level_net_addr): Likewise.
13441 (grub_net_app_protocol): Add seek.
13442 (grub_net_socket): Removed.
13443 (grub_net_sockets): Likewise.
13444 (grub_net_socket_register): Likewise.
13445 (grub_net_socket_unregister): Likewise.
13446 (FOR_NET_SOCKETS): Likewise.
13447 (grub_net_add_addr): Add const.
13448 (GRUB_NET_BOOTP_*): New enum.
13449 (grub_net_addr_cmp): New proto.
13450 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
13451 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
13452 (grub_net_hwaddr_to_str): NEw proto.
13453 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
13454 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
13455 (grub_dns_init): New proto.
13456 (grub_dns_fini): Likewise.
13457 (grub_net_tcp_retransmit): Likewise.
13458 (grub_net_link_layer_add_address): Likewise.
13459 (grub_net_link_layer_resolve_check): Likewise.
13460 (grub_net_link_layer_resolve): Likewise.
13461 (grub_net_dns_lookup): Likewise.
13462 (grub_net_add_dns_server): Likewise.
13463 (grub_net_remove_dns_server): Likewise.
13464 (GRUB_NET_TRIES): New const.
13465 (GRUB_NET_INTERVAL): Likewise.
13466 * include/grub/net/arp.h: Mostly rewritten.
13467 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
13468 * include/grub/net/ip.h: Mostly rewritten.
13469 * include/grub/net/netbuff.h: Indent.
13470 * include/grub/net/tcp.h: New file.
13471 * include/grub/net/udp.h: Mostly rewritten.
13472 * include/grub/priority_queue.h: New file.
13473 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
13474 (grub_swap_bytes64_compile_time): Likewise.
13475 (grub_cpu_to_be16_compile_time): Likewise.
13476 (grub_cpu_to_be32_compile_time): Likewise.
13477 (grub_cpu_to_be64_compile_time): Likewise.
13478 (grub_be_to_cpu64_compile_time): Likewise.
13480 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13482 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
13483 UINT_TO_PTR with cast.
13485 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13487 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
13490 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13492 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
13495 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13497 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
13500 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13502 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
13503 Add missing const attribute.
13504 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
13506 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
13509 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13511 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
13513 (serpent_setkey): Likewise.
13514 (serpent_encrypt_internal): Likewise.
13515 (serpent_decrypt_internal): Likewise.
13516 (serpent_encrypt): Don't put an alignment-increasing cast.
13517 (serpent_decrypt): Likewise.
13518 (serpent_test): Likewise.
13520 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13522 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
13524 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13526 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
13528 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
13530 (PTR_TO_UINT64): Likewise.
13531 (PTR_TO_UINT32): Likewise.
13533 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13535 * util/grub-mkimage.c (generate_image): Decrease the higher limit
13537 * util/grub-setup.c (setup): Don't add redundancy past the higher load
13540 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13542 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
13543 text_width > available width a bit more gracefully.
13545 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13547 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
13548 current address calculation.
13550 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13552 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
13554 (encode_block): Likewise.
13556 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13558 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
13561 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13563 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
13564 non-RS part to avoid RS messing with GDT.
13565 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
13566 Increase to suit in realmode routines.
13568 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
13570 * grub-core/kern/i386/realmode.S: Increase alignment.
13571 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
13573 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13575 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
13577 (syndroms): Compute 0 syndrom.
13578 (rs_recover): Use 0 syndrom.
13580 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13582 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
13584 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13586 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
13589 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13591 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
13593 (get_top_pad): Likewise.
13594 (get_right_pad): Likewise.
13595 (get_bottom_pad): Likewise.
13597 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13599 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
13601 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13603 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
13604 attribute as the structure isn't guaranteed to be properly aligned.
13605 (grub_efi_pci_device_path): Likewise.
13606 (grub_efi_pccard_device_path): Likewise.
13607 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
13608 specify the size of `memory_type'.
13609 (grub_efi_vendor_device_path): Likewise.
13610 (grub_efi_controller_device_path): Likewise.
13611 (grub_efi_acpi_device_path): Likewise.
13612 (grub_efi_expanded_acpi_device_path): Likewise.
13613 (grub_efi_atapi_device_path): Likewise.
13614 (grub_efi_scsi_device_path): Likewise.
13615 (grub_efi_fibre_channel_device_path): Likewise.
13616 (grub_efi_1394_device_path): Likewise.
13617 (grub_efi_usb_device_path): Likewise.
13618 (grub_efi_usb_class_device_path): Likewise.
13619 (grub_efi_i2o_device_path): Likewise.
13620 (grub_efi_mac_address_device_path): Likewise.
13621 (grub_efi_ipv4_device_path): Likewise.
13622 (grub_efi_ipv6_device_path): Likewise.
13623 (grub_efi_infiniband_device_path): Likewise.
13624 (grub_efi_uart_device_path): Likewise.
13625 (grub_efi_vendor_messaging_device_path): Likewise.
13626 (grub_efi_hard_drive_device_path): Likewise.
13627 (grub_efi_cdrom_device_path): Likewise.
13628 (grub_efi_vendor_media_device_path): Likewise.
13629 (grub_efi_file_path_device_path): Likewise.
13630 (grub_efi_protocol_device_path): Likewise.
13631 (grub_efi_piwg_device_path): Likewise.
13632 (grub_efi_bios_device_path): Likewise.
13634 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13636 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
13637 (grub_ucs4_to_utf8_alloc): Likewise.
13638 (grub_ucs4_to_utf8): Likewise.
13639 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
13640 (grub_ucs4_to_utf8_alloc): Likewise.
13642 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
13644 AFFS never uses unicode.
13646 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
13647 (grub_latin1_to_utf8): New inline function.
13648 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
13650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13652 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
13655 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13657 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
13658 (grub_squash_dirent_header): Likewise.
13659 (read_chunk): Don't double swap.
13660 (grub_squash_iterate_dir): Fix swap sizes.
13662 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13664 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
13666 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13668 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
13669 (grub_hfs_iterate_dir): Likewise.
13671 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13673 Fix video on platforms where unaligned access is forbidden.
13674 Make several optimisations while on it.
13676 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
13677 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13678 (grub_video_fbblit_replace_32bit_1bit): Likewise.
13679 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13681 (grub_video_fbblit_replace_16bit_1bit):
13682 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13683 (grub_video_fbblit_replace_8bit_1bit): Likewise.
13684 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
13685 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
13686 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13687 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
13688 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
13689 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
13690 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
13691 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
13692 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
13693 (grub_video_fbblit_replace_index_RGB888): Likewise.
13694 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
13695 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
13696 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
13697 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
13698 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
13699 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
13700 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
13702 (grub_video_fbblit_blend_XXX565_1bit):
13703 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
13704 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
13705 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
13707 * grub-core/video/fb/video_fb.c (common_blitter)
13708 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
13709 (grub_video_fb_create_render_target_from_pointer)
13710 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
13711 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
13712 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
13714 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
13716 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13718 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
13719 HH22 and HM10 relocations.
13721 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13723 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
13725 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13727 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
13728 allocation succeeded.
13730 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13732 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
13733 argument a u8 pointer. All users updated.
13734 Handle unaligned buffers.
13736 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13738 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
13739 add_part to workaround compiler bug.
13741 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13743 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
13745 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13747 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
13748 Reserve alignment invariants.
13749 (grub_multiboot_load): Likewise.
13750 (retrieve_video_parameters): Likewise.
13751 (grub_multiboot_make_mbi): Likewise.
13753 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13755 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
13758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13760 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
13761 (grub_pata_pio_write): Likewise.
13763 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13765 Add noreturn attributes and remove unreachable code.
13767 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
13769 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
13770 code. Mark as noreturn.
13771 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
13772 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
13773 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
13775 * grub-core/kern/main.c (grub_main): Mark as noreturn.
13776 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
13777 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
13778 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
13779 * include/grub/kernel.h (grub_main): Mark as noreturn.
13780 * include/grub/reader.h (grub_rescue_run): Likewise.
13782 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13784 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
13785 redundant declaration.
13787 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13789 * include/grub/net.h (grub_net_network_level_interfaces): Remove
13790 redundant declaration.
13791 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
13793 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13795 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
13796 to ensure alignment.
13797 (grub_hdparm_print_identify): Make argument uint16 * to ensure
13798 alignment. Ensure tmp alignment.
13799 (grub_cmd_hdparm): Ensure buf alignment.
13800 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
13801 to ensure alignment.
13802 (grub_ata_dumpinfo): Ensure text alignment.
13803 (grub_atapi_identify): Preserve alignment invariant.
13804 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
13806 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13808 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
13809 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
13810 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
13811 * include/grub/misc.h (grub_reboot)
13812 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
13813 (grub_halt) [__mips__]: Likewise.
13815 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13817 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
13818 Remove redundant declaration.
13819 (grub_mmap_get_post64): Likewise.
13820 (grub_mmap_get_upper): Likewise.
13821 (grub_mmap_get_lower): Likewise.
13823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13825 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
13826 uint32_t * to ensure alignment.
13827 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
13829 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13831 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
13832 uint16_t * to ensure alignment.
13833 (sun_pc_partition_map_iterate): Make `block' a union to ensure
13836 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13838 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
13839 to ensure alignment.
13840 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
13842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13844 * grub-core/fs/ntfs.c (u16at): Make into inline function.
13845 Handle unaligned pointers.
13848 (fixup): Use byte access instead of v16at.
13849 (find_attr): Fix imporper usage of v32at.
13850 (read_data): Likewise.
13851 (list_file): Handle byte-swapping and unaligned strings.
13852 (grub_ntfs_label): Likewise.
13854 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13856 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
13857 as it's not necessarily aligned.
13859 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13861 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
13862 redundant declaration.
13863 (grub_serial_init): Likewise.
13864 (grub_terminfo_init): Likewise.
13866 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13868 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
13870 (ZAP_HASH_IDX): Likewise.
13871 (ZAP_LEAF_HASH_SHIFT): Likewise.
13872 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
13873 (LEAF_HASH): Likewise.
13874 (ZAP_LEAF_NUMCHUNKS): Likewise.
13875 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
13876 alignment invariants. Return pointer. All users updated.
13877 (ZAP_LEAF_ENTRY): Make into inline function.
13880 (xor_out): Use grub_crypto_xor.
13881 (dnode_get_path): Use grub_get_unaligned.
13882 (nvlist_find_value): Likewise.
13883 (grub_zfs_nvlist_lookup_uint64): Likewise.
13884 (grub_zfs_nvlist_lookup_string): Likewise.
13885 (get_nvlist_size): Likewise.
13886 (grub_zfs_open): Likewise.
13887 (fill_fs_info): Likewise.
13888 (grub_zfs_dir): Likewise.
13889 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
13890 alignment invariants.
13891 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
13892 necessarily aligned.
13894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13896 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
13898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13900 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
13901 arithmetic to conserve alignment invariants.
13903 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13905 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
13906 redundant declaration.
13907 (grub_efiemu_mm_obtain_request): Likewise.
13908 (grub_efiemu_prepare): Likewise.
13910 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13912 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
13915 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13917 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
13918 case of aunaligned recptr.
13919 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
13921 (grub_hfsplus_btree_search): Handle unaligned index.
13923 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13925 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
13926 to get freetag and skip.
13928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13930 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
13932 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
13933 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
13935 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13937 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
13938 name for checksum and fix allocation algorithm.
13940 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13942 * include/grub/types.h (grub_properly_aligned_t): New type.
13943 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
13944 (grub_get_unaligned16): Add explicit casts.
13945 (grub_get_unaligned32): Likewise.
13946 (grub_get_unaligned64): Likewise.
13947 (grub_set_unaligned16): New function.
13948 (grub_set_unaligned32): Likewise.
13950 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13952 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
13954 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13956 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
13957 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
13958 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
13960 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13962 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
13965 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13967 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
13968 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
13970 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13972 Unify and improve RAID and crypto xor.
13974 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
13975 changed to grub_crypto_xor
13976 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
13977 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
13978 Use bigger types when possible.
13980 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13982 * grub-core/disk/raid.c (scan_devices): Fix condition.
13984 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13986 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
13987 Make name a const ptr.
13989 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13991 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
13992 first argument a const pointer.
13993 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
13994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
13996 (grub_children_iterate): Likewise.
13997 (grub_machine_mmap_iterate): Remove redundant declaration.
13999 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14001 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
14002 (grub_cmd_acpi) [!x86]: Disable EBDA.
14004 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14006 Enable UTF8 in gnulib regexp.
14008 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
14009 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
14010 (isupper): Use grub_isupper.
14011 (isascii): New inline function.
14012 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
14013 * grub-core/lib/posix_wrap/wctype.h: Likewise.
14014 * grub-core/normal/charset.c (grub_utf8_process): New function.
14015 (grub_utf8_to_utf16): Use grub_utf8_process.
14016 (grub_encode_utf8_character): New function.
14017 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
14018 * include/grub/charset.h (grub_utf8_process): New declaration.
14019 (grub_encode_utf8_character): Likewise.
14020 * include/grub/misc.h (grub_islower): New inline function.
14021 (grub_isupper): Likewise.
14022 (grub_strchrsub): Moved down to fix the definitions.
14024 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14026 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
14029 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
14031 * include/grub/loader.h (grub_loader_register_preboot_hook):
14032 Use struct preboot * and not void * for handle. All users updated.
14033 (grub_loader_unregister_preboot_hook): Likewise.
14035 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14037 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
14038 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
14039 UTF-16-BE. All users updated.
14040 (grub_hfsplus_cmp_catkey): Fix unicode handling.
14041 (grub_hfsplus_iterate_dir): Likewise.
14042 (grub_hfsplus_label): Likewise.
14044 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
14046 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
14048 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
14050 Add missing const qualifiers.
14052 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
14053 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
14054 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
14055 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
14056 (grub_lvm_check_flag): Likewise.
14057 * grub-core/efiemu/i386/coredetect.c
14058 (grub_efiemu_get_default_core_name): Likewise
14059 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
14060 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
14061 * grub-core/fs/ntfs.c (fixup): Likewise.
14062 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
14063 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
14064 (fzap_lookup): Likewise.
14065 (zap_lookup): Likewise.
14066 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
14067 * grub-core/lib/legacy_parse.c (check_option): Likewise.
14068 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
14069 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
14070 (grub_freebsd_add_meta_module): Likewise.
14071 (grub_cmd_freebsd_module): Likewise.
14072 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
14073 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
14074 (grub_xnu_writetree_get_size): Likewise.
14075 (grub_xnu_writetree_toheap_real): Likewise.
14076 (grub_xnu_find_key): Likewise.
14077 (grub_xnu_create_key): Likewise.
14078 (grub_xnu_create_value): Likewise.
14079 (grub_xnu_register_memory): Likewise.
14080 (grub_xnu_check_os_bundle_required): Likewise.
14081 (grub_xnu_scan_dir_for_kexts): Likewise.
14082 (grub_xnu_load_kext_from_dir): Likewise.
14083 * grub-core/normal/color.c (color_list): Likewise.
14084 * grub-core/normal/completion.c (current_word): Likewise.
14085 * grub-core/normal/menu_entry.c (insert_string): Likewise.
14086 * grub-core/term/serial.c (grub_serial_find): Likewise.
14087 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
14088 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
14090 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
14091 (grub_freebsd_add_meta_module): Likewise.
14092 * include/grub/lib/arg.h (grub_arg_option): Likewise.
14093 * include/grub/net.h (grub_net_card_driver): Likewise.
14094 (grub_net_card): Likewise.
14095 (grub_net_app_protocol): Likewise.
14096 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
14097 * include/grub/serial.h (grub_serial_find): Likewise.
14098 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
14099 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
14100 (grub_xnu_create_value): Likewise.
14101 (grub_xnu_find_key): Likewise.
14102 (grub_xnu_scan_dir_for_kexts): Likewise.
14103 (grub_xnu_load_kext_from_dir): Likewise.
14105 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
14106 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
14107 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
14108 Moved from here ...
14109 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
14111 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
14113 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
14115 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
14117 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
14118 (read_device): Fix size calculation.
14120 2011-11-25 Robert Millan <rmh@gnu.org>
14122 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
14123 (find_root_device_from_libzfs): Add zpool output parser to be used
14124 as fallback when libzfs isn't available.
14126 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
14128 * po/Makefile.in.in: Add missing escape-continuation.
14130 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
14132 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
14134 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14136 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
14138 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14140 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
14142 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14144 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
14146 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
14148 * grub-core/lib/adler32.c: Add missing license specification.
14149 * grub-core/lib/crc64.c: Likewise.
14150 * grub-core/loader/i386/pc/plan9.c: Likewise.
14151 * grub-core/partmap/plan.c: Likewise.
14153 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
14155 Add facility to debug GRUB with gdb under qemu.
14157 * grub-core/gdb_grub.in: New file.
14158 * grub-core/gmodule.pl.in: Likewise.
14159 * grub-core/Makefile.core.def (gmodule.pl): New script.
14160 (gdb_grub): Likewise.
14162 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14164 * util/grub-mount.c (argp_parser): Accept relative pathes.
14165 * util/grub-fstest.c (argp_parser): Likewise.
14167 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14171 * Makefile.util.def (libgrubmods): Add
14172 grub-core/partmap/plan.c.
14173 * docs/grub.texi: Notice Plan9 support.
14174 * grub-core/Makefile.core.def (plan9): New module.
14175 (part_plan): Likewise.
14176 * grub-core/loader/i386/pc/plan9.c: New file.
14177 * grub-core/partmap/plan.c: Likewise.
14178 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
14180 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
14181 * include/grub/mm.h (grub_extend_alloc): New inline function.
14183 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14185 Make Reed-Solomon faster by using power of generator representation of
14188 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
14189 (gf_double_t): Likewise.
14190 (gf_invert): Removed.
14191 (gf_powx): New array.
14192 (gf_powx_inv): Likewise.
14193 (scratch): Move higher.
14194 (gf_reduce): Removed.
14195 (gf_mul): Use powx.
14196 (gf_invert): Likewise.
14197 (init_inverts): Replaced with ...
14198 (init_powx): ...this. All users updated.
14199 (pol_evaluate): Replace multiplications with additions.
14200 (rs_encode): Likewise.
14201 (gauss_eliminate): Call gf_invert.
14202 (grub_reed_solomon_add_redundancy): Call init_powx.
14203 (grub_reed_solomon_recover): Call init_powx unconditionally.
14205 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14207 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
14209 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14211 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
14212 disk->partiton for safety.
14214 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14216 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
14218 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
14220 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14222 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
14224 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14226 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
14228 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14230 Fix spaces handling in proc/self/mountinfo.
14232 * util/getroot.c (unescape): New function.
14233 (grub_find_root_device_from_mountinfo): Use unescape.
14235 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14237 Support ZFS embedding.
14239 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
14240 (grub_zfs_fs): Register grub_zfs_embed.
14242 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14244 Fix MIPS compilation.
14246 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
14247 * include/grub/offsets.h: Rename decompressor fields from
14248 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
14249 * util/grub-mkimage.c (image_targets): Use new names.
14251 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14253 Defer multiboot device parsing until we're in compressed part.
14255 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
14256 bsd_part. setdevice has fallen into disuse.
14257 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
14258 (bsd_part): Likewise.
14259 (boot_dev): New variable.
14260 (multiboot_trampoline): Don't parse multiboot device.
14261 Pass multiboot device in %edx.
14262 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
14264 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
14266 * grub-core/kern/i386/pc/startup.S: Save edx.
14267 (grub_boot_drive): Removed.
14268 (grub_install_dos_part): Likewise.
14269 (grub_install_bsd_part): Likewise.
14270 (grub_boot_device): New variable.
14271 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
14272 (grub_install_bsd_part): Likewise.
14273 (grub_boot_drive): Likewise.
14274 (grub_boot_device): New variable.
14275 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
14277 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
14278 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
14279 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
14280 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
14281 * util/grub-install.in: Remove redundant condition.
14283 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14285 Fix bug introduced by previous commit.
14287 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
14289 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14291 Use decompressors framework on i386-pc. It increases core size
14292 by 46 bytes but improves compatibility and maintainability.
14294 * grub-core/Makefile.core.def (lzma_decompress): New image.
14295 (kernel): Add i386_pc_ldflags.
14296 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
14297 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
14298 to real_to_prot, prot_to_real and device info.
14299 * include/grub/offsets.h: Renamed decompressor offsets.
14300 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
14301 (image_target_desc): Remove raw_size and rename decompressor fields.
14302 (compress_kernel): Handle lzma.
14303 (generate_image): Handle decompressors on i386-pc.
14305 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14307 * configure.ac: Add -fno-asynchronous-unwind-tables.
14309 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14311 Move assembly code to C by using intwrap. It increases core size
14312 by 88 bytes but improves compatibility and maintainability.
14314 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
14315 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
14316 ... here. Translated to C.
14317 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
14318 * grub-core/term/i386/pc/console.c (grub_console_getkey):
14319 ... here. Translated to C.
14320 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
14321 * grub-core/term/i386/pc/console.c (grub_console_getxy):
14322 ... here. Translated to C.
14323 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
14324 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
14325 ... here. Translated to C.
14326 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
14327 * grub-core/term/i386/pc/console.c (grub_console_cls):
14328 ... here. Translated to C.
14329 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
14330 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
14331 ... here. Translated to C.
14332 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
14333 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
14335 * grub-core/term/i386/pc/console.c (int10_9): New function.
14336 (grub_console_putchar): Likewise.
14337 * include/grub/i386/pc/console.h: Removed the not anymore shared
14340 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14342 Move grub_chainloader_real_boot out of the kernel.
14344 * grub-core/Makefile.am: Remove machine/loader.h.
14345 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
14347 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
14349 (grub_relocator16_keep_a20_enabled): Likewise.
14350 (grub_relocator16_boot): Fill new variables.
14351 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
14352 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
14354 (grub_chainloader_unload): Likewise.
14355 (grub_chainloader_cmd): Likewise.
14356 * include/grub/i386/pc/loader.h: Removed.
14357 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
14358 and esi. All initialisers updated.
14360 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14361 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
14363 * Makefile.util.def (grub-mount): New util.
14364 * .bzrignore: Add grub-mount.
14365 * configure.ac: Check for fuse and enable grub-mount if available.
14366 * docs/man/grub-mount.h2m: New file.
14367 * util/grub-mount.c: Likewise.
14369 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14371 * grub-core/commands/efi/fixvideo.c: Gettextize.
14372 * grub-core/commands/hashsum.c: Likewise.
14373 * grub-core/commands/i386/cmostest.c: Likewise.
14374 * grub-core/commands/i386/pc/drivemap.c: Likewise.
14375 * grub-core/commands/i386/pc/lsapm.c: Likewise.
14376 * grub-core/commands/i386/pc/sendkey.c: Likewise.
14377 * grub-core/commands/lsmmap.c: Likewise.
14378 * grub-core/commands/menuentry.c: Likewise.
14379 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
14380 * grub-core/commands/setpci.c: Likewise.
14381 * grub-core/loader/i386/bsd.c: Likewise.
14382 * grub-core/loader/i386/linux.c: Likewise.
14383 * util/getroot.c: Likewise.
14384 * util/grub-editenv.c: Likewise.
14385 * util/grub-fstest.c: Likewise.
14386 * util/grub-mkfont.c: Likewise.
14387 * util/grub-mkimage.c: Likewise.
14388 * util/grub-mkpasswd-pbkdf2.c: Likewise.
14389 * util/grub-pe2elf.c: Likewise.
14390 * util/grub-probe.c: Likewise.
14391 * util/grub-setup.c: Likewise.
14392 * util/ieee1275/ofpath.c: Likewise.
14393 * util/misc.c: Likewise.
14394 * util/raid.c: Likewise.
14396 2011-11-11 Robert Millan <rmh@gnu.org>
14398 * util/getroot.c (grub_util_get_geom_abstraction): Remove
14399 __attribute__((unused)) from `os_dev', which *is* being used.
14401 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14403 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
14405 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
14406 GRUB_IA64_DL_GOT_ALIGN.
14407 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
14408 GRUB_IA64_DL_TRAMP_ALIGN.
14410 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14412 Replace grub_fatal with normal errors in i386 linux loader.
14414 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
14415 (allocate_pages): Check find_efi_mmap_size return value.
14416 (grub_e820_add_region): Return error.
14417 (grub_linux_boot): Check mmap return value.
14419 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14421 * grub-core/commands/acpihalt.c: Gettextized.
14422 * grub-core/commands/cacheinfo.c: Likewise.
14423 * grub-core/commands/cmp.c: Likewise.
14424 * grub-core/commands/efi/loadbios.c: Likewise.
14425 * grub-core/commands/gptsync.c: Likewise.
14426 * grub-core/commands/ieee1275/suspend.c: Likewise.
14427 * grub-core/commands/legacycfg.c: Likewise.
14428 * grub-core/commands/memrw.c: Likewise.
14429 * grub-core/commands/minicmd.c: Likewise.
14430 * grub-core/commands/parttool.c: Likewise.
14431 * grub-core/commands/time.c: Likewise.
14432 * grub-core/commands/videoinfo.c: Likewise.
14433 * grub-core/disk/geli.c: Likewise.
14434 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
14435 * grub-core/disk/luks.c: Likewise.
14436 * grub-core/disk/lvm.c: Likewise.
14437 * grub-core/font/font_cmd.c: Likewise.
14438 * grub-core/fs/zfs/zfscrypt.c: Likewise.
14439 * grub-core/fs/zfs/zfsinfo.c: Likewise.
14440 * grub-core/gfxmenu/view.c: Likewise.
14441 * grub-core/kern/emu/hostdisk.c: Likewise.
14442 * grub-core/kern/emu/main.c: Likewise.
14443 * grub-core/kern/emu/misc.c: Likewise.
14444 * grub-core/kern/emu/mm.c: Likewise.
14445 * grub-core/kern/mips/arc/init.c: Likewise.
14446 * grub-core/kern/mips/loongson/init.c: Likewise.
14447 * grub-core/kern/partition.c: Likewise.
14448 * grub-core/lib/i386/halt.c: Likewise.
14449 * grub-core/lib/mips/arc/reboot.c: Likewise.
14450 * grub-core/lib/mips/loongson/reboot.c: Likewise.
14451 * grub-core/loader/i386/pc/chainloader.c: Likewise.
14452 * grub-core/loader/i386/xnu.c: Likewise.
14453 * grub-core/loader/multiboot.c: Likewise.
14454 * grub-core/net/bootp.c: Likewise.
14455 * grub-core/net/net.c: Likewise.
14456 * grub-core/normal/term.c: Likewise.
14457 * grub-core/partmap/bsdlabel.c: Likewise.
14458 * grub-core/parttool/msdospart.c: Likewise.
14459 * grub-core/term/gfxterm.c: Likewise.
14460 * grub-core/term/terminfo.c: Likewise.
14461 * grub-core/video/i386/pc/vbe.c: Likewise.
14462 * util/grub-menulst2cfg.c: Likewise.
14463 * util/grub-mkdevicemap.c: Likewise.
14464 * util/grub-mklayout.c: Likewise.
14465 * util/grub-mkrelpath.c: Likewise.
14466 * util/grub-script-check.c: Likewise.
14467 * util/ieee1275/grub-ofpathname.c: Likewise.
14468 * util/resolve.c: Likewise.
14470 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14472 Support %1$d syntax.
14474 * tests/printf_unit_test.c: New file.
14475 * Makefile.util.def (printf_test): New test.
14476 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
14478 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14480 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
14483 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14485 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
14487 * grub-core/font/font.c (grub_font_load): Likewise.
14489 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14491 * util/grub-macho2img.c: Add comment concerning gettext.
14492 * grub-core/lib/legacy_parse.c: Likewise.
14494 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14496 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
14497 (grub_xvasprintf): Likewise.
14499 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14501 Add const keyword to grub_env_get and gettextize week days.
14503 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
14504 (grub_read_hook_datetime): Return const char *.
14505 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
14507 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
14509 (grub_get_weekday_name): Return const char *. Call gettext.
14510 * grub-core/script/argv.c (grub_script_argv_append): Receive const
14511 char * and len as the argument. All users updated.
14512 (grub_script_argv_split_append): Receive const char *.
14513 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
14514 * include/grub/env.h (grub_env_get): Likewise.
14515 (grub_env_read_hook_t): Return const char *.
14516 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
14517 (grub_script_argv_split_append): Likewise.
14519 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14521 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
14523 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14525 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
14526 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
14528 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
14533 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14535 Fix mips compilation.
14537 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
14539 (hashes): Use in embed decoder as well (for sizes).
14540 (dec_stream_header): Fix embed decompressor logic.
14541 (dec_stream_footer): Likewise.
14543 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14545 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
14546 an error and not a fatal on unrecognised relocation types.
14548 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14550 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
14551 Issue error rather than printf on unknown arguments.
14553 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14555 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
14558 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14560 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
14563 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14565 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
14566 leftover debug printf.
14568 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14570 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
14572 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14574 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
14577 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
14579 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
14581 2011-11-10 Shea Levy <slevy@tieronedesign.com>
14583 Allow all modules to perform serial IO
14585 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
14586 * include/grub/serial.h (grub_serial_port_configure): New inline
14588 (grub_serial_port_fetch): Likewise.
14589 (grub_serial_port_put): Likewise.
14590 (grub_serial_port_fini): Likewise.
14591 (grub_serial_find): New proto.
14593 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14595 Put symlink at the end of the node and fix a potential
14598 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
14599 Make symlink into an array.
14600 (set_rockridge): Set have_symlink and alloc_dirents.
14601 (grub_iso9660_read_symlink): Use new layout.
14602 (grub_iso9660_iterate_dir): Fix memory corruption.
14604 (grub_iso9660_dir): Set have_symlink.
14605 (grub_iso9660_open): Likewise.
14607 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14609 Remove local keyword.
14611 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
14612 (version_test_gt): Likewise.
14613 (version_find_latest): Likewise.
14614 (gettext_printf): Likewise.
14615 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
14617 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14619 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
14621 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14623 Fix ZFS memory and resource leaks.
14625 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
14628 (fill_vdev_info): New parameter inserted. All users updated.
14629 (check_pool_label): Likewise.
14630 (scan_disk): Likewise.
14631 (scan_devices): Close non-inserted disks.
14632 (fzap_iterate): Free l.
14633 (unmount_device): Free children descripto memory.
14635 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14637 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
14638 argument (access out of bounds).
14640 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14642 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
14645 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
14647 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
14650 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14652 Fix several memory leaks.
14654 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
14655 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
14656 (grub_cpio_dir): Likewise.
14657 * grub-core/fs/fat.c (grub_fat_label): Likewise.
14658 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
14659 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
14660 (grub_romfs_label): Likewise.
14661 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
14662 (squash_unmount): New function.
14663 (grub_squash_dir): Fix memory leak.
14664 (grub_squash_open): Likewise.
14665 (grub_squash_read): Likewise.
14666 (grub_squash_mtime): Likewise.
14667 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
14668 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
14669 * util/grub-fstest.c (fstest): Likewise.
14671 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14673 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
14674 avoid accessing beyond the array.
14676 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14678 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
14680 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14682 Several AFFS fixes.
14684 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
14685 (GRUB_AFFS_FLAG_FFS): Removed.
14686 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
14687 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
14688 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
14689 (grub_fshelp_node): Make block 32-bit.
14690 Add block_cache and last_block_cache.
14691 (grub_affs_read_block): Fill and use block cache.
14692 (grub_affs_read_file): Removed.
14693 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
14695 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
14697 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
14699 (grub_affs_close): Free block cache.
14700 (grub_affs_read): Use grub_fshelp_read_file directly.
14702 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14704 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
14707 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14709 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
14711 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
14714 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14716 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
14718 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
14719 byteswap when needed.
14721 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14723 Fix FreeBSD compilation.
14725 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
14726 to avoid circular dependency.
14727 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
14728 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
14729 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
14731 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14733 Fix ZFS crypto error types.
14735 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
14736 (grub_gcm_decrypt): Likewise.
14737 (grub_zfs_load_key_real): Fix error code type. Handle possible error
14740 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14744 * Makefile.util.def (10_illumos): New script.
14745 * configure.ac: Set COND_HOST_ILLUMOS.
14746 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
14747 Support Illumos calls.
14748 (find_partition_start) [__sun__]: Likewise.
14749 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
14750 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
14751 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
14752 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
14754 * util/grub-probe.c (probe) [__sun__]: Do character check.
14755 * util/grub.d/10_illumos.in: New file.
14757 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14759 Support escaped commas in hostdisk.
14761 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
14762 (find_grub_drive): Use unescape_cmp.
14763 (make_device_name): Escape commas.
14765 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14767 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
14769 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14771 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
14774 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
14776 Support trampoline jumps on powerpc.
14778 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
14780 (grub_dl_load_segments): Set mod->sz.
14781 (grub_dl_flush_cache): Flush whole space occupied by module, not just
14783 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
14785 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
14787 (trampoline): New struct.
14788 (trampoline_template): New const.
14789 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
14790 * include/grub/dl.h (grub_dl): Add sz element.
14791 [__powerpc__]: Follow __ia64__.
14792 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
14793 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
14794 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
14795 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
14797 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14799 ZFS crypto support.
14801 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
14802 * grub-core/Makefile.core.def (zfscrypt): New module.
14803 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
14804 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
14805 it. All users updated.
14806 (grub_zfs_decrypt): New var.
14807 (grub_zfs_load_key): Likewise.
14808 (zio_checksum_functions): Add SHA256+MAC.
14809 (zio_checksum_verify): Handle incomplete comparison due to MAC.
14810 (zio_read): Handle encrypted blocks.
14811 (zap_verify): Remove incorrect check.
14812 (fzap_iterate): Handle non-standard fzap.
14813 (zap_iterate): Likewise.
14814 (zap_iterate_u64): New function.
14815 (dnode_get_fullpath): Load keys.
14816 * grub-core/fs/zfs/zfscrypt.c: New file.
14817 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
14818 (grub_crypto_ecb_encrypt): Make input const.
14819 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
14820 (grub_crypto_ecb_encrypt): Make input const.
14821 (GRUB_CIPHER_AES): New macro.
14822 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
14823 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
14824 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
14825 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
14826 prefix. All users updated.
14827 (grub_zfs_add_key): New proto.
14828 (grub_zfs_decrypt): Likewise.
14829 (grub_zfs_load_key): Likewise.
14830 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
14831 * util/grub-fstest.c (options): Add -K option.
14832 (argp_parser): Likewise.
14834 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14836 Support zle compression on ZFS.
14838 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
14839 (decomp_table): Add zle.
14840 * include/grub/zfs/zio.h (zio_compress): Add zle.
14842 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14844 Support BtrFS embedding.
14846 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
14847 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
14848 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
14849 * util/grub-setup.c (setup): Use fs embedding if available.
14850 Add additional sanity check.
14852 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
14854 * util/grub-install.in: Fix condition for config_opt.
14856 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14858 Support third redundancy strip on raidz3.
14860 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
14861 Return error on singularity. All users updated.
14862 (read_device): Don't stop on 3rd failure on raidz3.
14864 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14866 Support case-insensitive ZFS subvolumes.
14868 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
14870 (zap_hash): Likewise.
14871 (name_cmp): New function.
14872 (zap_leaf_array_equal): New parameter case_insensitive.
14874 (zap_leaf_lookup): Likewise.
14875 (fzap_lookup): Likewise.
14876 (zap_lookup): Likewise.
14877 (dnode_get_path): New parameter case_insensitive. Retrieve case
14878 sensitiviness of a volume. All users updated.
14879 (dnode_get_fullpath): New parameter case_insensitive.
14881 (grub_zfs_dir): Set info.case_insensitiveness.
14883 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14885 Support second redundancy strip on raidz(2,3).
14887 * grub-core/fs/zfs/zfs.c (powx): New array.
14888 (powx_inv): Likewise.
14890 (xor_out): New function.
14891 (gf_mul): Likewise.
14892 (recovery): Likewise.
14893 (read_device): Use second redundancy strip.
14895 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14897 Use a power of generator representation of GF(256) multiplication group
14898 to save space time and complexity.
14900 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
14901 (raid6_table2): Likewise.
14903 (powx_inv): Likewise.
14905 (grub_raid_block_mul): Replace with ...
14906 (grub_raid_block_mulx): ...this.
14907 (grub_raid6_init_table): Rewritten.
14908 (grub_raid6_recover): Use power of generator representation.
14910 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14912 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
14913 for the right device.
14915 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14917 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
14918 expected by grub-mkimage and it's more clear since there is no implicit
14921 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
14923 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
14925 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
14927 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
14929 * util/grub-mkrescue.in: Fix handling xorriso option.
14931 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14933 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
14936 2011-11-03 crocket <crockabiscuit@gmail.com>
14938 * util/grub.d/10_linux.in: Add Slackware initrd naming.
14940 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14942 XZ CRC64 and SHA256 support.
14944 * Makefile.util.def (libgrubmods): Add crc64.c.
14945 * grub-core/Makefile.core.def (crc64): New module.
14946 * grub-core/lib/crc64.c: New file.
14947 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
14948 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
14950 (MAX_HASH_SIZE): New define.
14951 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
14952 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
14953 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14954 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
14955 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
14956 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
14957 Handle non-crc32 hashes.
14958 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
14959 (dec_stream_header): Handle non-crc32 hashes.
14960 (dec_stream_footer): Likewise.
14961 (dec_block_header): Likewise.
14962 (dec_main): Likewise.
14963 (xz_dec_init): Likewise.
14964 (xz_dec_reset): Likewise.
14965 (xz_dec_end): Likewise.
14966 * util/import_gcry.py: Add CRC64 line.
14968 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14970 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
14973 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14975 Make reiserfs label retrieval similar to other *_label functions.
14977 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
14978 (REISERFS_MAX_LABEL_LENGTH): Removed.
14979 (REISERFS_LABEL_OFFSET): Likewise.
14980 (grub_reiserfs_label): Rewritten.
14982 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14984 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
14987 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
14989 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
14991 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14993 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
14994 drive failure on both raidz and raidz2.
14996 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
14998 Fix RAIDZ(2) for >= 5 devices.
15000 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
15001 asize argument. All users updated.
15003 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
15007 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
15008 (fill_vdev_info_real): Set ashift.
15009 (read_device): Rewrite RAIDZ part based on reverse engineering.
15011 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15013 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
15014 don't report potentially unavialiable fields in debug output.
15015 (find_path): Fix double-free and memory leak.
15017 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15019 Read label on UFS1.
15021 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
15022 (grub_ufs_fs): Always set .label.
15024 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15028 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
15029 (grub_ufs_data): New field log2_blksz.
15030 (grub_ufs_read_file): Use shifts.
15031 (grub_ufs_mount): Check block size and logarithm it.
15033 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
15035 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
15038 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15040 Handle symlinks and long names on tar and cpio.
15042 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
15043 (ATTR_FILE): Likewise.
15044 (ATTR_DIR): Likewise.
15045 (ATTR_LNK): Likewise.
15046 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
15047 (grub_cpio_find_file): Fill mode, handle linkname field as well as
15049 (grub_cpio_mount): Zero-fill data.
15050 (handle_symlink): New function.
15051 (grub_cpio_dir): Handle symlinks.
15052 (grub_cpio_open): Likewise.
15053 (grub_cpio_close) [MODE_USTAR]: Free linkname.
15055 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15057 Fix iso9660 filename limitations and fix memory leaks.
15059 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
15060 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
15062 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15064 Fix JFS file name length limitations.
15066 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
15067 (grub_jfs_diropen): Fix maximum filename length.
15068 (grub_jfs_getent): Fix filename length.
15069 (grub_jfs_lookup_symlink): Fix size checks.
15071 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15073 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
15076 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15078 Leverage BFS implementation to read AFS.
15080 * Makefile.util.def (libgrubmods): Add afs.c.
15081 * grub-core/Makefile.core.def (afs): New module
15082 * grub-core/fs/afs.c: New file.
15083 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
15085 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15087 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
15089 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15091 * grub-core/fs/bfs.c: Run indent.
15093 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15095 BFS implementation based on the specification.
15097 * grub-core/fs/bfs.c: New file.
15098 * Makefile.util.def (libgrubmods): Add bfs.c.
15099 * grub-core/Makefile.core.def (bfs): New module.
15101 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
15103 * util/grub-fstest.c (cmd_cp): Clarify error message.
15104 (cmd_cmp): Likewise.
15106 2011-10-30 Yves Blusseau <blusseau@zetam.org>
15108 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
15111 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
15113 Remove afs and befs because of copyright problem.
15115 * grub-core/fs/afs.c: Removed.
15116 * grub-core/fs/afs_be.c: Removed.
15117 * grub-core/fs/befs.c: Removed.
15118 * grub-core/fs/befs_be.c: Removed.
15119 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
15120 * grub-core/Makefile.core.def (afs): Removed.
15121 (afs_be): Likewise.
15123 (befs_be): Likewise.
15125 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15127 Prefer rockridge over Joliet.
15129 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
15131 (set_rockridge): ... here.
15132 (grub_iso9660_mount): Check rockridge on the primary label when
15133 discovering. Ignore Joliet if Rockridge is present.
15135 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15137 Use shifts in nilfs2.
15139 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
15140 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
15141 (grub_nilfs2_palloc_entries_per_group): Replace with ...
15142 (grub_nilfs2_log_palloc_entries_per_group): ... this.
15143 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
15144 (grub_nilfs2_entries_per_block): Replaced with ...
15145 (grub_nilfs2_log_entries_per_block_log): ... this.
15146 (grub_nilfs2_blocks_per_group): Replaced with ...
15147 (grub_nilfs2_blocks_per_group_log): ... this.
15148 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
15149 (grub_nilfs2_blocks_per_desc_block_log): ... this.
15150 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
15151 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
15152 (grub_nilfs2_palloc_entry_offset): Replaced ...
15153 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
15154 (grub_nilfs2_dat_translate): Use shifts.
15155 (grub_nilfs2_read_inode): Likewise.
15156 (GRUB_MOD_INIT): Ensure that logs are correct.
15158 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15160 Use shifts in minix filesystem.
15162 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
15163 (GRUB_MINIX_ZONE2SECT): Likewise.
15164 (grub_minix_data): Replace block_size with log_block_size.
15165 (grub_minix_read_file): Use shifts.
15166 (grub_minix_mount): Check block size and take a logarithm.
15168 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15170 Use shifts in squash4.
15172 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
15173 (squash_mount): Check block size and take logarithm.
15174 (direct_read): Use shifts.
15176 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15178 Correct befs block counting logic.
15180 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
15181 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
15182 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
15183 (grub_afs_read_inode): Use block_shift.
15184 (RANGE_SHIFT): New definition.
15185 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
15186 unexpected conditions, use shifts and appropriate types.
15187 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
15189 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
15191 * grub-core/disk/raid.c (scan_devices): Check partition.
15192 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
15194 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15196 Support BFS (befs) UUID.
15198 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
15199 (grub_afs_small_data_element_header): New struct.
15200 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
15201 (grub_afs_read_attribute) [MODE_BFS]: New function.
15202 (grub_afs_iterate_dir): Allocate for complete inode.
15203 (grub_afs_mount): Likewise.
15204 (grub_afs_uuid) [MODE_BFS]: New function.
15205 (grub_afs_fs) [MODE_BFS]: Add .uuid.
15207 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
15209 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
15210 (zfs_unmount): Fix memory leak.
15212 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15214 Support NTFS reparse points.
15216 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
15217 (symlink_descriptor): New struct.
15218 (grub_ntfs_read_symlink): New function.
15219 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
15220 (grub_ntfs_open): Likewise.
15222 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15224 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
15226 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15228 fstest xnu_uuid subcommand.
15230 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
15231 grub-core/commands/xnu_uuid.c.
15232 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
15233 (fstest): Handle xnu_uuid.
15234 (options): Document xnu_uuid.
15235 (argp_parser): Parse xnu_uuid.
15237 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15239 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
15240 -l argument. Add newline at the end if printing.
15241 (GRUB_MOD_INIT): Document -l.
15243 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15245 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
15247 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15249 ZFS multi-device and version 33 support.
15251 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
15252 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
15253 (grub_zfs_data): Add multidev-ice-related fields.
15254 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
15255 (dva_get_offset): Make dva const.
15256 (zfs_fetch_nvlist): New function.
15257 (fill_vdev_info_real): Likewise.
15258 (fill_vdev_info): Likewise.
15259 (check_pool_label): Likewise.
15260 (scan_disk): Likewise.
15261 (scan_devices): Likewise.
15262 (read_device): Likewise.
15263 (read_dva): Likewise.
15264 (zio_read_gang): Use read_dva.
15265 (zio_read_data): Likewise.
15266 (zap_leaf_lookup): Add missing endian conversion.
15267 (zap_verify): Add missing endian conversion. All users updated.
15268 (fzap_lookup): Likewise.
15269 (fzap_iterate): Likewise.
15270 (dnode_get_path): Handle SA bonus.
15271 (nvlist_find_value): Make input const. All users updated.
15272 (unmount_device): New function.
15273 (zfs_unmount): Use unmount_device.
15274 (zfs_mount): Use scan_disk.
15275 (zfs_mtime): New function.
15276 (grub_zfs_open): Handle system attributes.
15277 (fill_fs_info): Likewise.
15278 (grub_zfs_dir): Likewise.
15279 (grub_zfs_fs): Add mtime.
15280 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
15281 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
15282 (SA_MTIME_OFFSET): Likewise.
15283 (SA_SYMLINK_OFFSET): Likewise.
15284 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
15285 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
15286 (fstest): Support zfsinfo.
15287 (argp_parser): Likewise.
15289 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15291 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
15294 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
15298 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
15299 sharing the same block. Iterate over correct number of indices.
15300 (dnode_get_path): Handle symlinks correctly.
15302 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15304 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
15306 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15308 Read label on HFS+.
15310 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
15311 (grub_hfsplus_btree_search): Fix types.
15312 (grub_hfsplus_label): Implement.
15314 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15316 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
15318 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15320 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
15322 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15324 Fix symlink handling on iso9660.
15326 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
15328 (grub_iso9660_susp_iterate): Accept zero-size iterate.
15329 (grub_iso9660_read_symlink): Moved most of code ...
15330 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
15332 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15334 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15335 Use union to avoid breaking strict-aliasing rules.
15337 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15339 Support multi-extent iso files.
15341 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
15343 (grub_fshelp_node): Revamp. All users updated.
15344 (FLAG_*): New enum.
15345 (read_node): New function.
15346 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
15348 (grub_iso9660_mount): Don't attempt to read sua when there is none.
15349 (get_node_size): New function.
15350 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
15352 Fix memory leak on . and ..
15353 (grub_iso9660_read): Use read_node.
15354 (grub_iso9660_close): Free node.
15356 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15358 Fix tar 4G limit and handle paths containing dot.
15360 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
15361 (canonicalize): New function.
15362 (grub_cpio_find_file): Use canonicalize. Store offs in
15364 (grub_cpio_dir): Use grub_disk_addr_t.
15365 (grub_cpio_open): Likewise.
15367 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15369 Fix handling of uncompressed blocks on squashfs and break 4G limit.
15371 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
15373 (grub_squash_inode): Add long_file and block_size.
15374 (grub_squash_cache_inode): New struct.
15375 (grub_squash_dirent): Make types into enum.
15376 (SQUASH_TYPE_LONG_REGULAR): New type.
15377 (grub_squash_frag_desc): Add field size.
15378 (SQUASH_BLOCK_FLAGS): New enum.
15379 (grub_squash_data): Use grub_squash_cache_inode.
15380 (grub_fshelp_node): Make ino_chunk 64-bit.
15381 (read_chunk): Minor argument change. All users updated.
15382 (squash_mount): Use correct le_to_cpu.
15383 (grub_squash_open): Handle LONG_REGULAR.
15384 (direct_read): New function.
15385 (grub_squash_read_data): Handle blocks correctly.
15387 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15389 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
15391 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
15393 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
15395 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15397 Fix 2G limit on ZFS.
15399 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
15401 (uberblock_verify): Likewise.
15402 (dmu_read): Likewise.
15403 (grub_zfs_read): Likewise. Remove invalid cast.
15405 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15407 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
15408 (grub_jfs_blkno): Fix incorrect shift.
15409 (grub_jfs_read_file): Use more appropriate types.
15411 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15413 Support triple indirect on minix2 and minix3.
15415 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
15416 Declare triple_indir_zone.
15417 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
15420 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
15424 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
15425 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
15426 Rename ctime to mtime. All users updated.
15427 (grub_minix_get_file_block): Fix types and double indirect computations.
15429 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15431 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
15432 if no label is found.
15433 (grub_fat_iterate_dir): Fix file size type.
15434 (grub_fat_iterate_dir): Likewise.
15436 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15438 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
15440 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
15441 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
15443 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15445 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
15447 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15449 * util/import_gcry.py: Accept space between # and include.
15451 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15453 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
15455 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15457 Fine grainely disable warnings on lexer. Remove Wno-error on it.
15459 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
15460 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
15462 * grub-core/script/yylex.l: Add fine-grained #pragma.
15464 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15466 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
15467 New inline function.
15468 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
15470 (memset) [GRUB_UTIL]: Likewise.
15471 (memcmp) [GRUB_UTIL]: Likewise.
15473 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15475 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
15476 inline function rather than a define.
15478 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15480 * util/grub-setup.c: Add missing include.
15482 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15484 * util/ieee1275/grub-ofpathname.c: Add missing include.
15486 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15488 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
15489 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
15492 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15494 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
15497 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15499 * util/grub-install.in: Add datarootdir as per automake manual
15501 * util/grub-mknetdir.in: Likewise.
15503 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
15505 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
15507 * util/grub.d/10_kfreebsd.in: Likewise.
15508 * util/grub.d/10_linux.in: Likewise.
15509 * util/grub.d/10_netbsd.in: Likewise.
15510 * util/grub.d/10_windows.in: Likewise.
15511 * util/grub.d/20_linux_xen.in: Likewise.
15513 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
15515 Remove redundant grub_kernel_image_size.
15517 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
15519 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
15520 the small code. It moves it only by few bytes but simplifies the code.
15521 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
15523 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
15524 (grub_kernel_image_size): Removed.
15525 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
15526 (grub_kernel_image_size): Removed.
15527 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
15528 compiled with Apple toolchain.
15529 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
15530 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
15531 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
15532 (grub_total_module_size): Likewise.
15533 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
15535 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
15536 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
15537 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
15538 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
15539 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
15540 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
15541 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
15542 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
15544 (grub_total_module_size): Removed.
15545 * util/grub-mkimage.c (image_target_desc): Remove image_size.
15546 (image_targets): Likewise.
15547 Set .compressed_size to no field on sparc.
15548 (generate_image): Remove kernel_image_size handling.
15550 2011-10-19 Szymon Janc <szymon@janc.net.pl>
15552 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
15553 NULL pointer dereference.
15555 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15557 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
15558 done with a dedicated section.
15560 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
15561 Ensure the correct position of boot_path.
15562 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
15563 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
15565 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
15566 * include/grub/boot.h: Removed. All references removed.
15567 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
15569 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
15571 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15573 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
15576 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15578 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
15580 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15582 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
15583 Don't add the bogus brackets.
15585 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15589 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
15590 * grub-core/Makefile.core.def (exfat): New module.
15591 * grub-core/fs/exfat.c: New file.
15592 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
15593 (GRUB_FAT_ATTR_*): Make into an enum.
15594 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
15595 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
15596 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
15597 (GRUB_FAT_MAXFILE): Removed.
15598 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
15599 (grub_current_fat_bpb_t): New type.
15600 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
15601 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
15602 (grub_fat_dir_node_t): New type.
15603 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
15604 (fat_log2) [MODE_EXFAT]: Removed.
15605 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
15606 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
15607 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
15608 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
15609 (grub_fat_label) [MODE_EXFAT]: New function.
15610 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
15611 reserved_first_sector to 0.
15613 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
15615 Move grub_reboot out of the kernel.
15617 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
15618 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
15619 * grub-core/lib/efi/reboot.c: ... here.
15620 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
15621 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
15622 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
15623 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
15624 * grub-core/lib/i386/reboot_trampoline.S: ... here.
15625 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
15626 * grub-core/lib/ieee1275/reboot.c: ... here.
15627 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
15628 * grub-core/lib/mips/arc/reboot.c: ... here.
15629 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
15630 * grub-core/lib/mips/loongson/reboot.c: ...here.
15631 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
15632 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
15633 * include/grub/emu/misc.h (grub_reboot): New function declaration.
15634 * include/grub/i386/reboot.h: New file.
15635 * include/grub/mips/loongson/ec.h: Fix includes.
15636 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
15637 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
15638 * grub-core/lib/i386/reboot.c: New file.
15640 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
15642 Make grub_prefix into module to fix the arbitrary limit and save
15645 * grub-core/kern/emu/main.c (grub_prefix): Removed.
15646 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
15647 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
15648 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
15649 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
15650 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
15651 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
15652 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
15653 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
15654 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
15655 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
15656 * include/grub/ia64/efi/kernel.h: Removed.
15657 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
15658 (grub_prefix): Removed.
15659 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
15660 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
15661 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
15662 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
15663 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
15664 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
15665 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
15666 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
15667 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
15668 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
15669 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
15670 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
15671 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
15672 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
15673 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
15674 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
15675 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
15676 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
15677 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
15678 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
15679 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
15680 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
15681 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
15682 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
15683 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
15684 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
15685 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
15686 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
15687 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
15689 * util/grub-mkimage.c (image_target_desc): Removed prefix and
15691 (image_targets): Likewise.
15692 (generate_image): Put prefix as a module.
15694 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15696 Replace grub_module_iterate with FOR_MODULES.
15698 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
15699 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
15700 (grub_efi_modules_addr): ...this.
15701 * grub-core/kern/efi/init.c (grub_modbase): New variable.
15702 (grub_efi_init): Set grub_modbase.
15703 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
15704 (grub_modbase): New variable.
15705 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
15706 (grub_modbase): New variable.
15707 (grub_machine_init): Set grub_modbase.
15708 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
15709 (grub_modbase): New variable.
15710 (grub_machine_init): Set grub_modbase.
15711 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
15712 (grub_modbase): New variable.
15713 (grub_machine_init): Set grub_modbase.
15714 * grub-core/kern/main.c (grub_module_iterate): Remove.
15715 (grub_modules_get_end): Use grub_modbase.
15716 (grub_load_modules): Use FOR_MODULES.
15717 (grub_load_config): Likewise.
15718 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
15719 (grub_modbase): New variable.
15720 (grub_machine_init): Set grub_modbase.
15721 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
15722 (grub_modbase): New variable.
15723 (grub_machine_init): Set grub_modbase.
15724 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
15726 (grub_modbase): New variable.
15727 (grub_machine_init): Set grub_modbase.
15728 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
15729 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
15730 (grub_module_iterate): Likewise.
15731 (grub_modbase): New variable declaration.
15732 (FOR_MODULES): New macro.
15734 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15736 * configure.ac: Check for __ctzdi2 and __ctzsi2.
15737 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
15739 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15741 Fix few obvious type discrepancies.
15743 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
15744 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
15745 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
15747 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
15748 and connected types.
15749 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
15751 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
15752 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
15753 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
15754 and connected types.
15756 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15758 Fix python 3.x incompatibilities.
15760 * gentpl.py: Put brackets around print strings.
15761 * util/import_gcry.py: Open explicitly as utf-8.
15762 Use in instead of has_key.
15764 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15766 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
15767 (GRUB_XFS_INO_AGBITS): Make into inline function.
15768 (GRUB_XFS_INO_INOINAG): Likewise.
15769 (GRUB_XFS_INO_AG): Likewise.
15770 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15771 (GRUB_XFS_EXTENT_OFFSET): Likewise.
15772 (GRUB_XFS_EXTENT_BLOCK): Likewise.
15773 (GRUB_XFS_EXTENT_SIZE): Likewise.
15774 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
15775 (GRUB_XFS_NEXT_DIRENT): Likewise.
15776 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
15777 (grub_xfs_read_file): Fix offset type.
15779 2011-10-15 Robert Millan <rmh@gnu.org>
15781 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
15783 2011-10-15 Robert Millan <rmh@gnu.org>
15785 Fix build problem on FreeBSD and GNU/kFreeBSD.
15787 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
15789 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15791 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
15793 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
15795 (grub_hfsplus_btree_recoffset): Likewise.
15796 (grub_hfsplus_btree_recptr): Likewise.
15797 (grub_hfsplus_find_block): Likewise.
15798 (grub_hfsplus_btree_search): Likewise.
15799 (grub_hfsplus_read_block): Likewise.
15800 (grub_hfsplus_read_file): Likewise.
15801 (grub_hfsplus_mount): Likewise.
15802 (grub_hfsplus_btree_iterate_node): Likewise.
15803 (grub_hfsplus_btree_search): Likewise.
15804 (grub_hfsplus_iterate_dir): Likewise.
15805 (grub_hfsplus_read): A small code simplification.
15807 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15809 * grub-core/kern/emu/hostdisk.c
15810 (convert_system_partition_to_system_disk): Don't assume that children
15811 of mapper nodes are mapper nodes.
15813 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
15815 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
15816 * include/grub/misc.h (grub_isxdigit): New function.
15817 * grub-core/video/colors.c (my_isxdigit): Removed. All users
15818 switched to grub_isxdigit.
15819 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
15820 number starting with a letter.
15822 2011-10-09 Robert Millan <rmh@gnu.org>
15824 LVM support for FreeBSD and GNU/kFreeBSD.
15826 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
15828 (LVM_DEV_MAPPER_STRING): Move from here ...
15829 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
15830 * util/getroot.c: Include `<grub/util/lvm.h>'.
15831 (grub_util_get_dev_abstraction): Enable
15832 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
15833 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
15834 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
15835 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
15837 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
15839 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
15840 when LVM abstraction is required for ${GRUB_DEVICE}.
15842 2011-10-06 Szymon Janc <szymon@janc.net.pl>
15844 Add support for LZO compression in GRUB:
15845 - import of minilzo library,
15846 - LZO decompression for btrfs,
15847 - lzop files decompression.
15849 * grub-core/io/lzopio.c: New file.
15850 * grub-core/lib/adler32.c: Likewise.
15851 * grub-core/lib/minilzo/lzoconf.h: Likewise.
15852 * grub-core/lib/minilzo/lzodefs.h: Likewise.
15853 * grub-core/lib/minilzo/minilzo.c: Likewise.
15854 * grub-core/lib/minilzo/minilzo.h: Likewise.
15855 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
15856 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
15857 grub-core/lib/minilzo/minilzo.c to common.
15858 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
15859 cflags in cppflags.
15860 * grub-core/Makefile.core.def (btrfs): Likewise.
15861 * grub-core/Makefile.core.def (lzopio): New module.
15862 (adler32): Likewise.
15863 * grub-core/fs/btrfs.c: Include minilzo.h.
15864 (GRUB_BTRFS_COMPRESSION_LZO): New define.
15865 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
15866 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
15867 (grub_btrfs_lzo_decompress): New function.
15868 (grub_btrfs_extent_read): Add support for LZO compression type.
15869 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
15870 (GRUB_USHRT_MAX): Likewise.
15871 (GRUB_UINT_MAX): Likewise.
15872 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
15873 (UINT_MAX): Likewise.
15874 (CHAR_BIT): Likewise.
15875 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
15876 grub-core/lib/posix_wrap/limits.h
15877 (UCHAR_MAX): Likewise.
15878 * include/grub/file.h (grub_file_filter_id): New compression filter
15879 GRUB_FILE_FILTER_LZOPIO.
15880 * include/grub/file.h (grub_file_filter_id): Set
15881 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
15882 * include/grub/types.h (grub_get_unaligned16): New function.
15883 (grub_get_unaligned32): Likewise.
15884 (grub_get_unaligned64): Likewise.
15885 * util/import_gcry.py (cryptolist): Add adler32.
15887 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
15889 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
15890 in perspective decreases the complexity of build system and fixes
15891 compilation right now.
15893 2011-10-01 Ales Nesrsta <starous@volny.cz>
15895 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
15896 (fixed problem related to using UHCI with coreboot).
15898 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
15900 * gentpl.py: Use Autogen macros so that the output template file
15901 (Makefile.tpl) size is reduced.
15903 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
15905 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
15908 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15910 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
15911 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
15913 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15915 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
15918 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
15920 Remove extra declaration of sleep for mingw32.
15922 * util/misc.c (sleep) [__MINGW32__]: Removed.
15923 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
15925 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
15927 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
15929 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
15931 (NETBSD_BTINFO_BOOTWEDGE): New definition.
15932 (grub_netbsd_btinfo_bootwedge): New struct.
15933 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
15935 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
15937 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
15939 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
15942 2011-09-28 Andreas Born <futur.andy@googlemail.com>
15944 Fix incorrect identifiers in bash-completion.
15946 * util/bash-completion.d/grub-completion.bash.in
15947 (_grub_mkpasswd-pbkdf2): Rename to ...
15948 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
15949 (_grub_script-check): Rename to ...
15950 (_grub_script_check): ... this. All users updated.
15952 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
15954 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
15955 Return 0 if disk isn't biosdisk.
15957 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15959 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
15961 * Makefile.util.def (grub-fstest): Likewise.
15963 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
15965 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
15966 Get sector size from disk label.
15968 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
15970 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
15971 */README* as well as README*.
15972 Reported by: Axel Beckert.
15974 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15976 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
15977 case of less than 256 MiB of RAM.
15979 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15981 * grub-core/commands/wildcard.c (make_regex): Handle @.
15983 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15985 * util/grub-install.in: Move cryptodisk logic to appropriate place.
15987 2011-08-21 Szymon Janc <szymon@janc.net.pl>
15989 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
15990 AC_LANG_CONFTEST macros.
15992 2011-08-20 Szymon Janc <szymon@janc.net.pl>
15994 Add grub-fstest option to uncompress data for commands.
15996 * util/grub-fstest.c (uncompress): New var.
15997 (options): New option -u.
15999 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16001 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
16002 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
16004 2011-08-20 Szymon Janc <szymon@janc.net.pl>
16006 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
16007 file type was not recognized correctly (not gzip or corrupted).
16009 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16011 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
16012 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
16014 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16016 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
16018 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
16019 video_radeon_fuloong2e.
16020 * grub-core/video/radeon_fuloong2e.c: New file.
16021 * include/grub/video.h (grub_video_id_t): Add new ID
16022 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
16024 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16026 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
16028 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
16029 that PRID matches the detected subplatform and reset the subplatform
16032 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16034 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
16036 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16038 Fix PCI iterating on functions >= 4.
16040 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
16041 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
16043 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
16044 (grub_pci_read): Fix bitmask.
16045 (grub_pci_read_word): Likewise.
16046 (grub_pci_read_byte): Likewise.
16047 (grub_pci_write): Likewise.
16048 (grub_pci_write_word): Likewise.
16049 (grub_pci_write_byte): Likewise.
16051 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16053 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
16054 can still be specified in TARGET_CFLAGS)
16056 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
16058 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
16060 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
16061 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
16062 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
16063 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
16064 (FULOONG): Rename to ...
16065 (FULOONG2F): ... this. All users updated.
16066 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
16067 (machtype_fuloong2f_str): ... this.
16068 (machtype_fuloong2e_str): New string.
16069 Check for machtype_fuloong2e_str.
16070 * grub-core/loader/mips/linux.c (loongson_machtypes)
16071 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
16072 * grub-core/term/serial.c (loongson_defserial)
16073 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
16074 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
16075 loongson_defserial.
16076 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
16078 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
16079 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
16080 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
16081 to IMAGE_FULOONG2F_FLASH. All users updated.
16082 (image_targets): Rename images.
16083 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
16085 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16087 Make enable of disk cache statistics code configurable.
16089 * configure.ac: --enable-cache-stats added.
16090 * config.h.in (DISK_CACHE_STATS): New define.
16091 * grub-core/Makefile.core.def (cacheinfo): New command.
16092 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
16093 * grub-core/commands/cacheinfo.c: New file.
16094 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
16095 moved to cacheinfo.c.
16096 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
16098 * include/grub/disk.h: Likewise.
16100 2011-08-19 Szymon Janc <szymon@janc.net.pl>
16102 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
16103 * grub-core/Makefile.am: Likewise.
16105 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16107 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
16110 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16112 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
16114 (grub_jfs_lookup_symlink): Use correct starting inode.
16116 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16118 * util/grub-setup.c (main): Add missing gcry initialisation.
16120 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
16122 Don't accept text modes on EFI when booting Linux.
16124 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
16125 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
16127 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
16128 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16130 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
16131 use of "/path/.." as in grub-install for EFI as well as handling
16132 symlinks correctly.
16133 Fixes Debian bug #637768.
16135 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
16137 * util/grub-probe.c: Remove duplicate #include.
16139 2011-08-10 Robert Millan <rmh@gnu.org>
16141 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
16143 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
16145 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
16146 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
16148 2011-08-03 Robert Millan <rmh@gnu.org>
16150 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
16151 la_array as packed.
16152 Reported by: Zachary Bedell
16154 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16156 * configure.ac: The Loongson port requires grub-mkfont due to its
16157 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
16160 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
16162 * util/grub-install.in: Don't source grub-mkconfig_lib until after
16163 processing arguments (otherwise help2man fails when GRUB has not yet
16166 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16168 New script grub-mkstandalone.
16170 * Makefile.util.def (grub-mkstandalone): New script.
16171 * docs/man/grub-mkstandalone.h2m: New file.
16172 * util/grub-mkstandalone.in: Likewise.
16174 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16176 Support ATA disks with 4K sectors.
16178 * include/grub/ata.h (grub_ata): New member log_sector_size.
16179 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
16180 (grub_ata_identify): Read sector size.
16181 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
16183 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16185 * util/grub-install.in: Don't use uhci outside of x86.
16187 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16189 * util/grub-mkrescue.in: Add missing quotes.
16191 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16193 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
16196 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16198 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
16200 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16202 * include/grub/video.h: add missing EXPORT_FUND on
16203 grub_video_edid_checksum and grub_video_edid_preferred_mode.
16205 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16207 * include/grub/mips/kernel.h: Fix define conflict.
16209 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
16211 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
16214 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
16216 Preferred resolution detection for VBE.
16218 * grub-core/video/video.c (grub_video_edid_checksum): New function.
16219 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
16220 the Flat Panel extension, in line with the X.org VESA driver.
16221 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
16223 (grub_vbe_bios_get_ddc_capabilities): Likewise.
16224 (grub_vbe_bios_read_edid): Likewise.
16225 (grub_vbe_get_preferred_mode): Likewise.
16226 (grub_video_vbe_setup): When the mode is "auto", try to get the
16227 preferred mode from VBE, and use the largest mode that is no larger
16228 than the preferred mode (some BIOSes expose a preferred mode that is
16229 not in their mode list!). If this fails, fall back to 640x480 as a
16230 safe conservative choice.
16231 (grub_video_vbe_get_edid): New function.
16232 (grub_video_vbe_adapter): Add get_edid.
16233 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
16234 (struct grub_video_adapter): Add get_edid.
16235 (grub_video_edid_checksum): Add prototype.
16236 (grub_video_edid_preferred_mode): Likewise.
16237 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
16240 * grub-core/commands/videoinfo.c (print_edid): New function.
16241 (grub_cmd_videoinfo): Print EDID if available.
16243 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
16244 is more appropriate on a wider range of platforms than 640x480.
16245 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
16248 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16250 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
16252 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16254 * po/POTFILES.in: Regenerate.
16256 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16258 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
16259 incorrect memory usage.
16261 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
16263 * util/grub-install.in: Source grub-mkconfig_lib.
16265 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16267 Remove getroot.c from core on emu platform.
16269 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
16271 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
16273 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
16274 * util/getroot.c (get_win32_path): ... here.
16275 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
16276 * util/getroot.c (fini_libzfs): ... here.
16277 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
16278 * util/getroot.c (grub_get_libzfs_handle): ... here.
16279 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
16281 * util/getroot.c (grub_find_zpool_from_dir): ... here.
16282 * grub-core/kern/emu/misc.c
16283 (grub_make_system_path_relative_to_its_root): Moved from here...
16284 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
16285 * grub-core/kern/emu/getroot.c: Moved from here ...
16286 * util/getroot.c: ... here. All users updated.
16287 * grub-core/kern/emu/raid.c: Moved from here ...
16288 * util/raid.c: ... here. All users updated.
16290 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
16292 * po/POTFILES.in: Regenerate.
16294 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16296 Fix compilation on GNU/Linux.
16298 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
16300 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
16301 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
16302 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
16304 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16305 2011-07-07 Michael Gorven <michael@gorven.za.net>
16306 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
16308 LUKS and GELI support.
16310 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
16311 grub-core/disk/luks.c, grub-core/disk/geli.c,
16312 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
16313 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
16314 grub-core/lib/arg.c.
16315 (libgrubmods.a): Remove gcrypts cflags and cppflags.
16316 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
16317 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
16318 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
16319 (grub-bin2h): Add libgcry.a.
16320 (grub-mkimage): Likewise.
16321 (grub-mkrelpath): Likewise.
16322 (grub-script-check): Likewise.
16323 (grub-editenv): Likewise.
16324 (grub-mkpasswd-pbkdf2): Likewise.
16325 (grub-pe2elf): Likewise.
16326 (grub-fstest): Likewise.
16327 (grub-mkfont): Likewise.
16328 (grub-mkdevicemap): Likewise.
16329 (grub-probe): Likewise.
16330 (grub-ofpath): Likewise.
16331 (grub-mklayout): Likewise.
16332 (example_unit_test): Likewise.
16333 (grub-menulst2cfg): Likewise.
16334 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
16335 * grub-core/Makefile.core.def (cryptodisk): New module.
16338 * grub-core/disk/AFSplitter.c: New file.
16339 * grub-core/disk/cryptodisk.c: Likewise.
16340 * grub-core/disk/geli.c: Likewise.
16341 * grub-core/disk/luks.c: Likewise.
16342 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
16344 (grub_util_get_dm_abstraction): New function.
16345 (grub_util_follow_gpart_up): Likewise.
16346 (grub_util_get_geom_abstraction): Likewise.
16347 (grub_util_get_dev_abstraction): Use new functions.
16348 (grub_util_pull_device): Pull GELI and LUKS.
16349 (grub_util_get_grub_dev): Handle LUKS and GELI.
16350 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
16351 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
16352 (follow_geom_up): Removed.
16353 (grub_util_fd_seek): New function.
16354 (open_device): Use grub_util_fd_seek.
16355 (nread): Rename to ..
16356 (grub_util_fd_read): ... this. All users updated.
16357 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
16358 (grub_crypto_cbc_decrypt): Likewise.
16359 (grub_crypto_hmac_write): Likewise.
16360 (grub_crypto_hmac_buffer): Likewise.
16361 (grub_password_get): Extend to util.
16362 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
16363 New member modname.
16364 (gcry_md_spec) [GRUB_UTIL]: Likewise.
16365 * include/grub/cryptodisk.h: New file.
16366 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
16367 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
16369 (grub_util_follow_gpart_up): New proto.
16370 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
16371 (grub_util_fd_read): Likewise.
16372 (grub_cryptodisk_cheat_mount): Likewise.
16373 (grub_util_cryptodisk_print_uuid): Likewise.
16374 (grub_util_get_fd_sectors): Likewise.
16375 * util/grub-fstest.c (mount_crypt): New var.
16376 (fstest): Mount crypto if requested.
16377 (options): New option -C.
16378 (argp_parser): Parse -C.
16379 (main): Init and fini gcry.
16380 * util/grub-install.in: Support cryptodisk install.
16381 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
16382 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
16384 (prepare_grub_to_access_device): Likewise.
16385 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
16386 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
16387 (probe_cryptodisk_uuid): New function.
16388 (probe_abstraction): Likewise.
16389 (probe): Use new functions.
16390 * util/import_gcry.py: Create Makefile.utilgcry.def.
16391 Add modname member.
16393 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
16395 Lazy device scanning.
16397 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
16398 (grub-setup): Remove util/raid.c.
16399 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
16400 * grub-core/disk/lvm.c (scan_depth): New variable.
16401 (grub_lvm_iterate): Rescan if necessary.
16402 (find_lv): New function based on grub_lvm_open.
16403 (grub_lvm_open): Use find_lv. Rescan on error.
16404 (is_node_readable): New function.
16405 (is_lv_readable): Likewise.
16406 (grub_lvm_scan_device): Skip already found disks.
16407 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
16408 Stop if searched device is found and readable.
16409 * grub-core/disk/raid.c (inscnt): New variable.
16410 (scan_depth): Likewise.
16411 (scan_devices): New function based on grub_raid_register. Abort if
16412 looked for device is found.
16413 (grub_raid_iterate): Rescan if needed.
16414 (find_array): NEw function based on -grub_raid_open.
16415 (grub_raid_open): Use find_array and rescan.
16416 (insert_array): Set became_readable_at.
16417 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
16418 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
16420 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
16421 (grub_util_pull_device): New function.
16422 (grub_util_get_grub_dev): Call grub_util_pull_device.
16423 * util/raid.c: Moved to ..
16424 * grub-core/kern/emu/raid.c: ... here.
16425 (grub_util_raid_getmembers): New parameter "bootable".
16426 All users updated. Support 1.x.
16427 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
16429 * include/grub/disk.h (grub_disk_pull_t): New enum.
16430 (grub_disk_dev): Change iterate prototype.
16432 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
16434 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
16435 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
16436 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
16437 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
16439 * include/grub/util/raid.h: Removed.
16441 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16443 * po/POTFILES.in: Regenerate.
16445 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
16447 Unify sparc init with other ieee1275.
16449 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
16450 instead of kern/sparc64/ieee1275/init.c.
16451 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
16452 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
16453 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
16454 grub/machine/kernel.h.
16455 (grub_ieee1275_original_stack) [__sparc__]: New variable.
16456 (grub_claim_heap) [__sparc__]: Use sparc version.
16457 (grub_machine_init): Moved args parsing to
16458 (grub_parse_cmdline): ...this.
16459 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
16460 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
16462 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
16464 Move BOOTP to separate file.
16466 * grub-core/Makefile.core.def (net): Add net/bootp.c.
16467 * grub-core/net/net.c: Move all BOOTP functions to
16468 * grub-core/net/bootp.c: ... here.
16470 Use frame interface on PXE.
16472 * grub-core/Makefile.core.def (pxecmd): Removed.
16473 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
16474 * grub-core/commands/i386/pc/pxecmd.c: Removed.
16475 * grub-core/i386/pc/pxe.c: Moved from here ...
16476 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
16477 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
16478 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
16480 EFI network support.
16482 * grub-core/Makefile.core.def (efinet): New module.
16483 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
16485 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
16487 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
16488 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
16489 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
16490 * grub-core/net/drivers/efi/efinet.c: New file.
16491 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
16492 (grub_efi_net_config): New extern var.
16494 Various cleanups and bugfixes.
16496 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
16498 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
16499 disk declared as partition.
16500 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
16502 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
16503 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
16504 (grub_debug_zalloc): Likewise.
16505 (grub_debug_realloc): Likewise.
16506 (grub_debug_memalign): Likewise.
16507 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
16508 Check that target is IPv4.
16509 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
16510 local-mac-address as fallback.
16511 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
16513 * grub-core/net/ip.c (ipchksum): Rename to ...
16514 (grub_net_ip_chksum): ... this. All users updated.
16515 (grub_net_recv_ip_packets): Special handling for DHCP.
16516 * util/grub-mkimage.c (generate_image): Zero-out aout header.
16518 Unify prefix handling
16520 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
16521 (grub_machine_get_bootlocation): ... this.
16522 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
16523 (grub_machine_get_bootlocation): ... this.
16524 (grub_prefix): New variable.
16526 (root_dev): New variable.
16528 (main): Use new variables.
16529 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
16531 (grub_machine_get_bootlocation): ... this.
16532 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
16533 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
16534 (grub_machine_get_bootlocation): ... this.
16535 (grub_machine_set_prefix): Removed.
16536 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
16537 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
16539 (grub_machine_get_bootlocation): ... this.
16540 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
16541 (grub_set_prefix_and_root): ... this. All users updated.
16542 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
16544 (grub_machine_get_bootlocation): ... this.
16545 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
16546 (grub_machine_get_bootlocation): New proto.
16547 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
16549 Less intrusive and more reliable seek on network implementation.
16551 * grub-core/kern/file.c (grub_file_net_seek): Removed.
16552 (grub_file_seek): Don't call grub_file_net_seek.
16553 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
16554 (grub_net_fs_read_real): .. this.
16555 (grub_net_seek_real): Use net->offset.
16556 (grub_net_fs_read): Seek if necessary.
16558 Unify IEEE1275 netwotk config with the other platforms.
16560 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
16562 (grub_machine_get_bootlocation): Support network.
16563 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
16564 Support type and device parsing.
16565 (grub_ieee1275_get_device_type): New function.
16566 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
16568 (grub_ieee1275_net_config_real): ... this.
16569 (grub_ofnet_probecards): Removed.
16570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
16571 * include/grub/ieee1275/ofnet.h: Removed.
16572 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
16574 (grub_ieee1275_get_device_type): New function.
16576 Unify network device closing across platforms and make more robust.
16578 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
16580 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
16582 * grub-core/net/net.c (grub_net_network_level_interface_register):
16584 (grub_net_card_unregister): Close all interfaces.
16585 (receive_packets): Don't poll if no iterfaces are registered.
16587 (grub_net_fini_hw): New function.
16588 (grub_net_restore_hw): Likewise.
16589 (fini_hnd): New variable.
16590 (GRUB_MOD_INIT): Register preboot hook.
16591 (GRUB_MOD_FINI): Run and unregister preboot hook.
16593 Poll network cards when idle.
16595 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
16596 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
16597 * grub-core/net/net.c (receive_packets): Save last poll time.
16598 (grub_net_poll_cards_idle_real): New function.
16599 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
16600 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
16601 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
16603 Rename ofnet interfaces.
16605 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
16606 (grub_ofnet_findcards): Use ofnet_%s names.
16608 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
16610 Cleanup socket opening.
16612 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
16613 (grub_net_fs_close): Likewise.
16614 (grub_net_fs_read_real): Use eof member.
16615 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
16616 (+grub_net_udp_close): New inline function.
16618 * include/grub/net/tftp.h: Moved to the top of ...
16619 * grub-core/net/tftp.c: ... here.
16620 * include/grub/net/ip.h: Moved mostly to the top of ...
16621 * grub-core/net/ip.c: ... here.
16622 * include/grub/net/ethernet.h: Moved mostly to the top of ...
16623 * grub-core/net/ethernet.c: ... here.
16625 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
16627 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
16630 * include/grub/net/ip.h (ipv4_ini): Removed.
16631 (ipv4_fini): Likewise.
16633 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
16634 (grub_net_send_ip_packets): Likewise.
16636 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16638 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
16639 grub_read_cmos prototype.
16641 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16643 VGA text support in qemu-mips
16645 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
16646 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
16647 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
16649 * grub-core/kern/i386/qemu/init.c: Renamed to ...
16650 * grub-core/kern/vga_init.c: ... this.
16651 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
16652 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
16653 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
16655 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
16656 GRUB_MACHINE_PCI_IO_BASE.
16658 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16660 MIPS qemu flash support.
16662 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
16664 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
16665 (grub_machine_init): Probe memory if its size isn't known.
16666 * util/grub-mkimage.c (image_targets): Add flash targets.
16667 (generate_image): Handle flash targets.
16669 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16671 MIPS qemu at_keyboard support.
16673 * gentpl.py (videoinkernel): Add qemu-mips.
16674 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
16675 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
16676 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
16678 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
16679 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
16680 * grub-core/term/serial.c (grub_serial_register)
16681 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
16683 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
16685 CMOS support on sparc.
16687 * gentpl.py (cmos): Add powerpc and sparc.
16688 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
16690 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
16691 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
16692 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
16693 grub_set_datetime_cmos.
16694 * grub-core/lib/ieee1275/cmos.c: New file.
16695 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
16696 (find_rtc): Set no_ieee1275_rtc on error.
16697 (grub_get_datetime): Call grub_get_datetime_cmos on error.
16698 (grub_set_datetime): Call grub_set_datetime_cmos on error.
16699 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
16700 fail. Move value to argument. All users updated
16701 (grub_cmos_write): Likewise.
16702 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
16703 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
16704 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
16705 grub_get_datetime_cmos and grub_set_datetime_cmos.
16707 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
16709 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
16710 sourcing grub-mkconfig_lib.
16711 * util/update-grub_lib.in: Likewise.
16712 * util/grub.d/00_header.in: Likewise.
16713 * util/grub.d/10_hurd.in: Likewise.
16714 * util/grub.d/10_kfreebsd.in: Likewise.
16715 * util/grub.d/10_linux.in: Likewise.
16716 * util/grub.d/10_netbsd.in: Likewise.
16717 * util/grub.d/10_windows.in: Likewise.
16718 * util/grub.d/20_linux_xen.in: Likewise.
16719 * util/grub.d/30_os-prober.in: Likewise.
16721 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
16723 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
16724 default_bg_color rather than black.
16725 (grub_gfxterm_fullscreen): Likewise.
16726 (grub_gfxterm_background_color_cmd): Save new background color in
16729 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16731 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
16733 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16735 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
16738 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16740 Chainloading on coreboot support.
16742 * grub-core/Makefile.core.def (chain): Add coreboot.
16743 * grub-core/loader/i386/coreboot/chainloader.c: New file.
16745 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16747 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
16750 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16752 Implement time command.
16754 * grub-core/Makefile.core.def (time): New module.
16755 * grub-core/commands/time.c: New file.
16756 * grub-core/script/parser.y: Remove "time" keyword.
16757 * grub-core/script/yylex.l: Likewise.
16759 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16761 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
16763 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16765 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
16766 when handling leftovers.
16768 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16770 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
16771 so that help2man doesn't fail.
16773 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16775 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
16776 type in pointers on sparc64.
16777 (get_card_packet): Likewise.
16779 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
16781 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
16783 (grub_cmd_videoinfo): Fetch current video mode.
16785 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16787 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
16788 because of underlying system restrictions.
16790 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16792 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
16795 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16797 Coreboot video support.
16799 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
16801 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
16802 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
16804 * grub-core/kern/i386/int.S: ... here.
16805 * grub-core/video/i386/pc/vbe.c: Updated includes.
16806 * grub-core/video/i386/pc/vga.c: Likewise.
16807 * include/grub/i386/coreboot/memory.h
16808 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
16809 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
16810 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
16811 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
16812 Disable interrupts.
16813 * include/grub/i386/pc/vga.h: Removed. All users updated.
16815 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16817 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
16818 definitions for dprintf.
16819 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
16821 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
16823 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
16825 (get_card_packet): Likewise.
16827 2011-06-26 Yves Blusseau <blusseau@zetam.org>
16829 Display the path of the file when file is not found
16831 * grub-core/fs/fat.c: Display the filename when file is not found.
16832 * grub-core/fs/fshelp.c: Likewise.
16833 * grub-core/fs/hfs.c: Likewise.
16834 * grub-core/fs/jfs.c: Likewise.
16835 * grub-core/fs/minix.c: Likewise.
16836 * grub-core/fs/ufs.c: Likewise.
16837 * grub-core/fs/btrfs.c: Likewise.
16838 * grub-core/commands/i386/pc/play.c: Likewise.
16840 2011-06-26 Szymon Janc <szymon@janc.net.pl>
16842 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
16843 pointer checks before calling grub_free().
16844 * grub-core/commands/wildcard.c (match_devices): Likewise.
16845 * grub-core/commands/wildcard.c (match_files): Likewise.
16846 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
16847 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
16848 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
16849 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
16850 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
16851 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
16852 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
16853 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16854 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
16856 2011-06-25 Patrick <p55@mailinator.com>
16858 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
16860 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
16862 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
16863 (grub_pxe_send): Likewise.
16864 (GRUB_MOD_INIT): Fix types.
16866 2011-06-24 Szymon Janc <szymon@janc.net.pl>
16868 * grub-core/io/xzio.c: Fix code style issues
16870 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16871 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
16873 Network infrastructure.
16874 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
16876 * include/grub/net/arp.h: New file.
16877 * include/grub/net/device.h: Likewise.
16878 * include/grub/net/ethernet.h: Likewise.
16879 * include/grub/net/ip.h: Likewise.
16880 * include/grub/net/netbuff.h: Likewise.
16881 * include/grub/net/tftp.h: Likewise.
16882 * include/grub/net/udp.h: Likewise.
16883 * include/grub/ieee1275/ofnet.h: Likewise.
16884 * include/grub/emu/export.h: Likewise.
16885 * include/grub/net.h: Likewise.
16886 * grub-core/net/arp.c: Likewise.
16887 * grub-core/net/ethernet.c: Likewise.
16888 * grub-core/net/ip.c: Likewise.
16889 * grub-core/net/udp.c: Likewise.
16890 * grub-core/net/tftp.c: Likewise.
16891 * grub-core/net/netbuff.c: Likewise.
16892 * grub-core/net/net.c: Likewise.
16893 * grub-core/net/drivers/emu/emunet.c: Likewise.
16894 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
16895 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
16897 * grub-core/Makefile.core.def (net): New module.
16900 (emunet): Likewise.
16901 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
16903 * grub-core/kern/device.c (grub_net_open) : New variable.
16904 (grub_device_open): Handle network device.
16905 (grub_device_close): Likewise.
16906 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
16907 (grub_grubnet_fini): Likewise.
16908 (grub_file_seek): Seek in network device.
16909 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
16910 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
16912 (grub_machine_fini): Call grub_grubnet_fini.
16913 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
16915 (grub_ieee1275_get_aliasdevname): New function.
16916 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
16917 Add unofficial Solaris network info.
16918 (grub_multiboot_make_mbi): Likewise.
16919 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
16920 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
16921 * include/grub/device.h (grub_fs): Removed.
16922 * include/grub/err.h (grub_err_t): Add network-related values.
16923 * include/grub/i386/pc/pxe.h: Removed bootp parts.
16924 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
16925 (grub_ieee1275_get_aliasdevname): New proto.
16926 * include/grub/net.h: Rewritten.
16928 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16930 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
16933 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16935 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
16936 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
16937 it truncates the output.
16938 Reported by: Ximin Luo.
16940 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16942 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
16944 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16946 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
16947 partmap before abstraction.
16949 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
16951 * util/grub-mkconfig_lib.in: Add missing quotes.
16953 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16955 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
16956 old method if mountinfo would return /dev/root and /dev/root doesn't
16959 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16963 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
16964 (decomp_table): Add zlib entries.
16965 (zio_read): USe 8 bits for compression function rather than 3.
16966 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
16968 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
16970 * grub-core/disk/ahci.c: Add missing license statements.
16971 * grub-core/fs/romfs.c: Likewise.
16972 * grub-core/lib/ia64/setjmp.S: Likewise.
16973 * grub-core/loader/i386/pc/freedos.c: Likewise.
16974 * grub-core/loader/ia64/efi/linux.c: Likewise.
16975 * grub-core/video/colors.c: Likewise.
16976 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
16978 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
16982 * grub-core/Makefile.core.def (ata_pthru): Removed.
16983 (ahci): New module.
16985 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
16987 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
16989 (grub_hdparm_do_check_powermode_cmd): Likewise.
16990 (grub_hdparm_do_smart_cmd): Likewise.
16991 (grub_hdparm_set_val_cmd): Likewise.
16992 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
16993 * grub-core/disk/ahci.c: New file.
16994 * grub-core/disk/ata.c: Factor out the low-level part into ...
16995 * grub-core/disk/pata.c: ... here.
16996 * grub-core/disk/ata_pthru.c: Contents moved to ...
16997 * grub-core/disk/pata.c: ... here.
16998 * grub-core/disk/scsi.c (grub_scsi_names): New array.
16999 (grub_scsi_iterate): Use grub_scsi_names.
17000 (grub_scsi_open): Likewise.
17001 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
17002 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
17003 (grub_ata_regs_t): New struct.
17004 (grub_disk_ata_pass_through_parms): Likewise.
17005 (grub_ata_device): Renamed to ...
17006 (grub_ata): ... this.
17007 (grub_ata_dev): New struct.
17008 Removed all low-level inline functions.
17009 * include/grub/scsi.h: Add PATA and AHCI subsystems.
17010 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
17011 iterate hooks and open. All users updated.
17012 * util/grub-install.in: Handle AHCI disk module.
17014 2011-06-23 Szymon Janc <szymon@janc.net.pl>
17016 Add support for DRI and RSTn markers in JPEG files.
17018 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
17019 (JPEG_MARKER_RST0): Likewise.
17020 (JPEG_MARKER_RST1): Likewise.
17021 (JPEG_MARKER_RST2): Likewise.
17022 (JPEG_MARKER_RST3): Likewise.
17023 (JPEG_MARKER_RST4): Likewise.
17024 (JPEG_MARKER_RST5): Likewise.
17025 (JPEG_MARKER_RST6): Likewise.
17026 (JPEG_MARKER_RST7): Likewise.
17027 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
17028 (grub_jpeg_decode_dri): New function.
17029 (grub_jpeg_decode_sos): Move image data related part into
17030 grub_jpeg_decode_data function.
17031 (grub_jpeg_decode_data): New function.
17032 (grub_jpeg_reset): New function.
17033 (grub_jpeg_decode_jpeg): Handle new markers.
17035 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17037 * util/ieee1275/ofpath.c (check_sas): Close fd.
17038 (main): Free of_path.
17039 Reported by: David Volgyes <dvolgyes>.
17041 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17043 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
17044 Reported by: David Volgyes <dvolgyes>.
17046 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17048 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
17050 Reported by: David Volgyes <dvolgyes>.
17052 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17054 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
17056 Reported by: David Volgyes <dvolgyes>.
17058 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17060 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
17061 Prevent memory leak.
17063 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17065 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
17066 (main): Close file.
17067 Reported by: David Volgyes <dvolgyes>.
17069 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17071 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
17072 to continue if allocation is failed.
17074 Reported by: David Volgyes <dvolgyes>.
17076 2011-06-23 David Volgyes <dvolgyes>
17078 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
17081 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17083 Fix spurious warning.
17085 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
17086 (acorn_partition_map_find): Use .bin member.
17088 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17090 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
17091 /dev/root as a valid device.
17093 2011-06-23 Jim Meyering <meyering@redhat.com>
17095 Avoid NULL deref in grub_device_open.
17097 * grub-core/kern/device.c (grub_device_open): Don't dereference
17098 a NULL pointer upon failed grub_env_get.
17100 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
17102 Support non-512B sectors and agglomerate reads.
17104 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
17105 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
17106 (disk_io_guid): Removed.
17107 (make_devices): Locate solely by BlockIO.
17108 (grub_efidisk_open): Fill log_sector_size and total_sectors.
17109 (grub_efidisk_read): Use read_blocks.
17110 (grub_efidisk_write): Use write_blocks.
17111 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
17113 (get_safe_sectors): Handle non-512B sectors.
17114 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
17116 (grub_biosdisk_write): Handle non-512B sectors.
17117 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
17118 (grub_scsi_read): Remove special non-512B block handling (now handled
17120 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
17121 and do sanity checks.
17122 (grub_disk_adjust_range): Handle non-512B sectors.
17123 (transform_sector): New function.
17124 (grub_disk_read_small): Likewise.
17125 (grub_disk_read): Rewritten.
17126 (grub_disk_write): Handle non-512B sectors.
17127 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
17129 (open_device): Use log_sector_size.
17130 (grub_util_biosdisk_read): Likewise.
17131 (grub_util_biosdisk_write): Likewise.
17132 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
17134 (pc_partition_map_embed): Likewise.
17135 * include/grub/disk.h (grub_disk): New field log_sector_size.
17136 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
17137 (GRUB_DISK_CACHE_BITS): Increased to 6.
17138 * util/grub-fstest.c (fstest): New command testload.
17139 (argp_parser): Likewise.
17141 2011-06-16 Robert Millan <rmh@gnu.org>
17143 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
17144 `ata' driver on kernel of FreeBSD 9.
17146 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
17147 (get_ataraid_disk_name): New functions.
17148 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
17149 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
17150 get_ataraid_disk_name() and get_ada_disk_name().
17152 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
17154 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
17157 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
17159 * docs/grub.texi (Obtaining and Building GRUB): Substitute
17160 `ftp.gnu.org' for `alpha.gnu.org'.
17162 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17164 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
17165 partitions under /dev/disk/by-id/.
17167 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
17169 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
17170 after ten consecutive open failures. Scanning all the way up to
17171 10000 is excessive and can cause serious performance problems in
17172 some configurations.
17173 Fixes Ubuntu bug #787461.
17175 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17177 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
17180 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
17181 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
17183 Don't stat devices unless we have to.
17185 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
17186 dir == /dev/mapper.
17187 (grub_guess_root_device): Use already known os_dev if possible.
17188 * grub-core/kern/emu/hostdisk.c
17189 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
17190 if device is known to be a dm one.
17192 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
17194 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
17195 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
17196 Reported by: Pawel Tecza.
17198 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
17200 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
17201 (lsefisystab): Likewise.
17203 (lsefimmap): Likewise.
17204 (hdparm): Enable on qemu-mips.
17205 (setjmp): Add ia64 nodist.
17206 (serial): Simplify tags.
17208 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17210 * Makefile.util.def (grub-ofpathname): Install manual page.
17212 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17214 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
17216 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17218 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
17220 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17222 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
17225 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17227 Use full 64-bit division.
17229 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
17230 (grub_divmod64): ... this.
17231 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
17234 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17236 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
17239 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17241 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
17242 to avoid accidents when debugging with 'sh -x'.
17243 * grub-core/gensyminfo.sh.in: Likewise.
17244 * tests/example_scripted_test.in: Likewise.
17245 * tests/grub_cmd_regexp.in: Likewise.
17246 * tests/grub_script_blanklines.in: Likewise.
17247 * tests/grub_script_dollar.in: Likewise.
17248 * tests/grub_script_expansion.in: Likewise.
17249 * tests/grub_script_final_semicolon.in: Likewise.
17250 * tests/partmap_test.in: Likewise.
17251 * tests/util/grub-shell-tester.in: Likewise.
17252 * tests/util/grub-shell.in: Likewise.
17254 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17256 Move gfxmenu color handling to video, so that gfxterm can use it
17259 * grub-core/gfxmenu/named_colors.c: Move to ...
17260 * grub-core/video/colors.c: ... here. Rename
17261 grub_gui_get_named_color to grub_video_get_named_color.
17262 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
17263 * grub-core/video/colors.c (my_isxdigit): ... here.
17264 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
17266 * grub-core/video/colors.c (parse_hex_color_component): ... here.
17267 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
17269 * grub-core/video/colors.c (grub_video_parse_color): ... here.
17271 * include/grub/gui.h (grub_gui_color_t): Move to ...
17272 * include/grub/video.h (grub_video_rgba_color_t): ... here.
17273 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
17274 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
17275 * include/grub/gui.h (grub_gui_map_color): Move to ...
17276 * include/grub/video.h (grub_video_map_rgba_color): ... here.
17277 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
17279 * include/grub/video.h (grub_video_get_named_color): ... here.
17280 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
17281 * include/grub/video.h (grub_video_parse_color): ... here.
17283 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
17285 (gfxmenu): Remove gfxmenu/named_colors.c.
17286 (video) [videomodules]: Add video/colors.c.
17288 Add a background_color command.
17290 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
17292 (GRUB_MOD_INIT): Register background_color command.
17293 (GRUB_MOD_FINI): Unregister background_color command.
17294 (redraw_screen_rect): Allow blend/replace of text layer to be
17295 controlled independently from whether there is a background bitmap.
17296 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
17299 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17301 Patch BPB in ntldr and chainloader --bpb.
17303 * grub-core/fs/fat.c: Include grub/fat.h.
17304 (grub_fat_bpb): Moved to ...
17305 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
17306 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
17308 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
17310 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
17312 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
17314 (grub_chainloader_cmd): Patch BPB if --bpb is given.
17315 (GRUB_MOD_INIT): Show --bpb.
17316 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
17317 * grub-core/normal/main.c (features): New variable.
17318 (GRUB_MOD_INIT): Set feature_* variables.
17319 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
17321 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
17323 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17325 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
17328 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17330 FreeDOS direct loading support.
17332 * docs/grub.texi (Supported OS): Add FreeDOS.
17333 * grub-core/Makefile.core.def (freedos): New module.
17334 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
17336 (grub_relocator16_boot): Handle %ebx.
17337 * grub-core/lib/i386/relocator16.S: Likewise.
17338 * grub-core/loader/i386/pc/freedos.c: New file.
17340 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17342 Long Linux command line support.
17344 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17345 (maximal_cmdline_size): New variable.
17346 (allocate_pages): Use maximal_cmdline_size.
17347 (grub_cmd_linux): Set and use maximal_cmdline_size.
17348 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
17349 (allocate_pages): Use maximal_cmdline_size.
17350 (grub_cmd_linux): Set and use maximal_cmdline_size.
17351 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
17352 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
17355 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17356 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
17358 Improve devmapper support
17360 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
17361 (grub_util_is_lvm): New function.
17362 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
17363 than lvm if not dmraid.
17364 Handle mapped md nodes.
17365 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
17366 (grub_util_device_is_mapped): ... this. Make always available. All users
17368 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
17369 (convert_system_partition_to_system_disk): Handle lvm, mpath and
17371 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
17373 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
17375 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
17377 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
17378 * grub-core/modinfo.sh.in: New file.
17379 * grub-core/Makefile.core.def (modinfo.sh): New script.
17380 * util/grub-mknetdir.in: Use modinfo.sh.
17381 * util/grub-mkrescue.in: Likewise.
17383 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17385 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
17386 Fix potential usage of Elf32 instead of Elf64 when compiling on
17387 32-bit architecture. Add endianness macros while on it.
17389 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17391 Use mipsel- rather than mips- in directories involving mipsel ports to
17392 allow both endiannesses coexist.
17394 * configure.ac: proparate target_cpu=mipsel rather than resetting to
17395 mips. All conditions adjusted.
17396 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
17398 * util/grub-install.in: Adjust conditions to take renaming into account.
17399 * util/grub-mkimage.c (image_targets): Likewise. New target
17400 mips-qemu_mips-elf for bigendian mips.
17402 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17404 Avoid unnecessary copying on MIPS.
17406 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
17407 early if src == dest.
17408 * util/grub-mkimage.c (generate_image): Arange for src == dest if
17409 compression is none.
17411 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17413 Reduce memory footprint on SGI by putting modules before the kernel
17414 as opposed to after.
17416 * grub-core/Makefile.core.def (kernel): Increase linking address.
17417 (none_decompress): Likewise.
17418 (xz_decompress): Likewise.
17419 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
17421 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
17423 (grub_arch_modules_addr): New function.
17424 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
17425 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
17426 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
17428 * grub-core/kern/mips/startup.S (total_size): Rename to ...
17429 (grub_total_modules_size): ... this. Make global.
17430 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
17431 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
17433 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
17434 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
17435 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
17436 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
17437 * util/grub-mkimage.c (image_target_desc): New flag
17438 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
17439 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
17440 (generate_image): Handle images with modules before kernel.
17442 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17444 Prevent potential loss of memory map by overwrite on qemu-mips.
17446 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17447 Save ram size in $s4.
17448 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
17449 All users changed to grub_arch_memsize.
17450 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
17452 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
17453 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
17454 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
17457 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17459 * .bzrignore: Remove grub-dumpbios.
17461 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17463 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
17464 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
17465 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
17466 existing options which append).
17467 * docs/grub.texi (Simple configuration): Document new options.
17468 Reported by: Ian Jackson. Fixes Debian bug #617538.
17470 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17472 * util/grub-fstest.c (cmd_cat): New function.
17473 (fstest): Handle CMD_CAT.
17474 (options): Add cat.
17475 (argp_parser): Handle cat.
17477 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
17479 * Makefile.util.def (grub-bin2h): Don't install.
17480 * docs/man/grub-bin2h.h2m: Remove.
17482 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17484 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
17487 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17489 Reenable qemu-mips port.
17491 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
17492 Fix small arc bug while on it.
17493 * gentpl.py: Handle qemu_mips.
17494 * grub-core/Makefile.am: Likewise.
17495 * grub-core/Makefile.core.def: Likewise.
17496 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
17497 inappropriate includes.
17498 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
17499 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
17500 * grub-core/kern/main.c (grub_modules_get_end)
17501 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
17502 * grub-core/kern/mips/qemu-mips: Moved to ..
17503 * grub-core/kern/mips/qemu_mips: ... this.
17504 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
17505 (grub_machine_init): Call terminfo_init and serial_init.
17506 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
17507 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
17509 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
17511 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
17512 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
17513 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
17514 * include/grub/mips/qemu_mips/cmos.h: New file.
17515 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
17516 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
17518 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
17519 Use correct mips-style address.
17520 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
17521 (GRUB_TICKS_PER_SECOND): Removed.
17522 (grub_get_rtc): Likewise.
17523 (grub_cpu_idle): Likewise.
17524 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
17526 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
17527 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
17528 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
17529 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
17530 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
17531 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
17532 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
17533 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
17535 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
17539 * Makefile.util.def (libgrubmods.a): Add dvh.c.
17540 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
17542 * configure.ac: New target mips-arc.
17543 * gentpl.py: Likewise.
17544 * grub-core/Makefile.am: Likewise.
17545 * grub-core/Makefile.core.def: Likewise.
17546 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
17547 (none_decompress): Likewise.
17548 (lsdev): New module.
17549 (datetime): Use lib/arc/datetime.c on ARC.
17550 (part_dvh): New module.
17551 * grub-core/commands/arc/lsdev.c: New file.
17552 * grub-core/disk/arc/arcdisk.c: Likewise.
17553 * grub-core/kern/mips/arc/init.c: Likewise.
17554 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
17556 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
17558 (grub_arch_dl_relocate_symbols): Likewise.
17559 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
17560 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
17561 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
17563 * grub-core/lib/arc/datetime.c: New file.
17564 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
17565 pci.h on non-loongson.
17566 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
17567 (grub_linux_boot): Set unused registers to 0.
17568 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
17569 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
17570 * grub-core/mmap/mips/uppermem.c: ...here.
17571 * grub-core/partmap/dvh.c: New file.
17572 * grub-core/term/arc/console.c: Likewise.
17573 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
17574 (grub_terminfo_set_current): Add terminal "arc".
17575 (grub_terminfo_readkey): Support ARC sequences.
17576 * include/grub/arc/arc.h: New file.
17577 * include/grub/arc/console.h: Likewise.
17578 * include/grub/disk.h (grub_disk_dev_id): Add
17579 GRUB_DISK_DEVICE_ARCDISK_ID.
17580 * include/grub/mips/arc/kernel.h: New file.
17581 * include/grub/mips/arc/memory.h: Likewise.
17582 * include/grub/mips/arc/time.h: Likewise.
17583 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
17584 * include/grub/mips/kernel.h (grub_halt): ... here.
17585 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
17587 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
17588 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
17589 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
17590 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
17592 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
17594 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
17595 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
17596 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
17597 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
17598 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
17599 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
17600 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
17601 (grub_phys_addr_t): Moved from here ...
17602 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
17603 (grub_vtop): Moved from here ...
17604 * include/grub/mips/memory.h (grub_vtop): ... here.
17605 (grub_map_memory): Moved from here ...
17606 * include/grub/mips/memory.h (grub_map_memory): ... here.
17607 (grub_unmap_memory): Moved from here ...
17608 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
17609 (grub_machine_mmap_iterate): Moved from here ...
17610 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
17611 (grub_mmap_get_lower): Moved from here ...
17612 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
17613 (grub_mmap_get_upper): Moved from here ...
17614 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
17615 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17617 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17618 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
17620 * include/grub/mips/time.h (grub_get_rtc): ... here.
17621 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
17623 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
17624 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
17626 * include/grub/mips/time.h (grub_cpu_idle): ... here.
17627 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
17629 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
17630 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
17631 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
17632 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
17633 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
17634 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
17635 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
17636 (GRUB_MACHINE_LINK_ADDR): Likewise.
17637 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
17639 * util/grub-install.in: Run dvhtool on ARC.
17640 * util/grub-mkimage.c (image_targets): Add mips-arc.
17641 (generate_image): Handle ECOFF output for mips-arc.
17643 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17645 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
17648 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17650 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
17651 after enabling port.
17653 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17655 Skip incorrect USB devices.
17657 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
17659 * include/grub/usb.h (grub_usb_err_t): New enum value
17660 GRUB_USB_ERR_BADDEVICE.
17662 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
17664 Fuloong video init support.
17666 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
17668 (grub_vga_read_arx): New function.
17669 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
17671 (framebuffer): New members io, mmioptr and mmiobase.
17672 (read_sis_cmd): New function.
17673 (write_sis_cmd): Likewise.
17674 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
17675 rather than 640x400.
17676 * grub-core/video/sis315_init.c: New file.
17678 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17680 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
17682 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
17683 to grub_dl_register_symbol.
17685 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17687 Fix compilation errors.
17689 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
17690 potentially unused.
17691 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
17692 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
17693 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
17694 to loongson machines.
17696 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17698 Several FS mtime support.
17700 * grub-core/fs/affs.c (grub_affs_time): New struct.
17701 (grub_affs_file): New field mtime.
17702 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
17703 type. Removed 'size'. New field 'di'. All users updated.
17704 (grub_affs_mount): Simplify checsum checking.
17705 (grub_affs_iterate_dir): New helper grub_affs_create_node.
17706 (grub_affs_dir): Handle mtime.
17707 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
17708 (grub_cpio_dir): Likewise.
17709 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
17710 (grub_hfs_filerec): New field mtime.
17711 (grub_hfs_dir): Handle mtime.
17712 (grub_hfs_mtime): New function.
17713 (grub_hfs_fs): Register grub_hfs_mtime.
17714 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
17715 (grub_iso9660_dir): New field mtime.
17716 (grub_fshelp_node): New field dirent.
17717 (iso9660_to_unixtime): New function.
17718 (iso9660_to_unixtime2): Likewise.
17719 (grub_iso9660_read_symlink): Use node->dirent.
17720 (grub_iso9660_iterate_dir): Likewise.
17721 (grub_iso9660_dir): Set mtime.
17722 (grub_iso9660_mtime): New function.
17723 (grub_iso9660_fs): Register grub_iso9660_mtime.
17724 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
17725 (grub_jfs_inode): New fields atime, ctime and mtime.
17726 (grub_jfs_dir): Set mtime.
17727 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
17728 * grub-core/fs/ntfs.c (list_file): Set mtime.
17729 (grub_ntfs_dir): Likewise.
17730 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
17731 (grub_reiserfs_iterate_dir): Set mtime.
17732 (grub_reiserfs_dir): Likewise.
17733 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
17734 (grub_fshelp_node): Likewise.
17735 (grub_sfs_iterate_dir): Set mtime.
17736 (grub_sfs_dir): Likewise.
17737 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
17738 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
17739 (grub_xfs_inode): New fields atime, mtime, ctime.
17740 (grub_xfs_dir): Set mtime.
17741 * include/grub/datetime.h (grub_datetime2unixtime): New function.
17742 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
17743 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
17745 Support UDF symlinks.
17747 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
17748 (grub_ufs_read_symlink): New function. All users updated.
17750 Check amiga partmap checksum.
17752 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
17753 (grub_amiga_partition): Likewise.
17754 (amiga_partition_map_checksum): New function.
17755 (amiga_partition_map_iterate): Check checksum.
17757 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17761 * Makefile.util.def (libgrubmods.a): Add romfs.
17762 * grub-core/Makefile.core.def (romfs): New module.
17763 * grub-core/fs/romfs.c: New file.
17765 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17767 Squashfs v4 support.
17769 * Makefile.util.def (libgrubmods.a): Add squash4.
17770 * grub-core/Makefile.core.def (squash4): New module.
17771 * grub-core/fs/squash4.c: New file.
17772 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
17773 disk_input_start, disk_input.
17774 (get_byte): Handle disk_input.
17775 (grub_zlib_disk_read): New function.
17776 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
17778 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17779 2011-05-15 Feiran Zheng <famcool@gmail.com>
17781 * Makefile.util.def (libgrubmods.a): Add minix3.
17782 * grub-core/Makefile.core.def (minix3): New module.
17783 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
17784 (GRUB_MINIX_BSIZE): Removed.
17785 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
17786 (grub_minix_ino_t): New type.
17787 (grub_minix_le_to_cpu_ino): New macro.
17788 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
17789 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
17790 (grub_minix_data): New field block_size.
17791 (grub_minix_read_file): Handle 64-bit correctly.
17792 * grub-core/fs/minix3.c: New file.
17794 2011-05-15 Tristan Gingold <gingold@free.fr>
17795 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
17796 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17800 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
17801 * configure.ac: Add ia64-efi target.
17802 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
17803 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
17804 * gentpl.py: Add ia64_efi platform.
17805 Rename x86_efi to efi and Add ia64-efi. All users updated.
17806 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
17807 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
17808 Remove kern/generic/rtc_get_time_ms.c on EFI.
17809 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
17810 kern/ia64/dl_helper.c on ia64-efi.
17811 Add kern/emu/cache.c on emu.
17812 (linux): Use on loader/ia64/efi/linux.c on ia64.
17813 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
17814 whether symbol is a function.
17815 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
17816 (grub_symbol): New field 'isfunc'.
17817 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
17818 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
17819 (grub_dl_load_segments): Place all sections into the same region.
17820 [__ia64__]: Create trampolines and got.
17821 [GRUB_MACHINE_EMU]: Call mprotect.
17822 (grub_dl_resolve_symbols): Resolve symbol type as well.
17823 [__ia64__]: Create function descriptors.
17824 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
17825 (grub_rtc_get_time_ms): ... this. Expressions simplified.
17826 (grub_get_rtc): New function.
17827 * grub-core/kern/emu/cache.c [__ia64__]: New file.
17828 * grub-core/kern/emu/cache.S: Renamed to ...
17829 * grub-core/kern/emu/cache_s.S: ... this.
17830 [__ia64__]: Add a nop.
17831 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
17832 [__ia64__]: New function.
17833 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
17834 * grub-core/kern/ia64/dl.c: New file.
17835 * grub-core/kern/ia64/dl_helper.c: Likewise.
17836 * grub-core/kern/ia64/efi/init.c: New file.
17837 * grub-core/kern/ia64/efi/startup.S: Likewise.
17838 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
17839 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
17840 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
17841 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
17842 * grub-core/loader/ia64/efi/linux.c: New file.
17843 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
17844 (GRUB_MOD_DEP): Likewise.
17845 (grub_dl) [__ia64__]: New fields got and tramp.
17846 (grub_dl): New field 'base'.
17847 (grub_dl_register_symbol): New argument isfunc. All users updated.
17848 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
17849 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
17850 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
17851 (grub_ia64_dl_get_tramp_got_size): New proto.
17852 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
17853 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
17854 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
17855 * include/grub/efi/api.h: Skip call wrappers on ia64.
17856 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
17857 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
17858 * include/grub/elf.h (ELF_ST_INFO): New definition.
17859 * include/grub/ia64/efi/kernel.h: New file.
17860 * include/grub/ia64/efi/memory.h: Likewise.
17861 * include/grub/ia64/efi/time.h: Likewise.
17862 * include/grub/ia64/kernel.h: Likewise.
17863 * include/grub/ia64/setjmp.h: Likewise (from glibc).
17864 * include/grub/ia64/time.h: New file.
17865 * include/grub/ia64/types.h: Likewise.
17866 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
17867 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
17869 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
17870 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
17871 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
17872 * util/grub-mkimage.c (image_target_desc): New field pe_target.
17874 (EFI64_HEADER_SIZE): New definition. All users updated.
17875 (image_targets): Add ia64-efi.
17876 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
17877 jumpers_addr. All users updated.
17878 Create function descriptors.
17879 (count_funcs): New function.
17880 (unaligned_uint32): New struct.
17881 (MASK20): New definition.
17882 (MASK19): Likewise.
17883 (MASKF21): Likewise.
17884 (add_value_to_slot_20b): New function.
17885 (add_value_to_slot_21_real): Likewise.
17886 (add_value_to_slot_21): Likewise.
17887 (ia64_kernel_trampoline): New struct.
17888 (nopm): New variable.
17890 (make_trampoline): New function.
17891 (relocate_addresses): Handle ia64.
17892 (make_reloc_section): Likewise.
17893 (load_image): Likewise.
17895 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17897 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
17898 warning. Move variables before code while on it.
17900 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
17904 * configure.ac: Rename yeeloong platform to loongson. All users updated.
17905 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
17906 * grub-core/boot/mips/loongson/fuloong.S: New file.
17907 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
17908 Explicitly init CS5536.
17909 [FULOONG]: Don't use serial until CS5536 is available.
17910 Set GPIO based on dumps.
17911 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
17912 [FULOONG]: Handle GPIO and memory controller differences.
17913 Parse machine type in $a2.
17914 * grub-core/boot/mips/startup_raw.S: Determine and save the
17916 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
17917 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
17918 init on architecture type.
17919 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
17920 SIS315E. Don't init at_keyboard on fuloong.
17921 (grub_halt): Support Fuloong.
17922 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
17923 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
17924 (loongson_machtypes): New array.
17925 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
17927 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
17928 config. All users updated. Handle CS5536 serial.
17929 * grub-core/term/serial.c (grub_serial_register): Conditionalise
17930 default port on machine type. Register serial as inactive.
17931 * grub-core/video/sis315pro.c: New file.
17932 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
17934 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
17935 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
17936 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
17937 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
17938 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
17939 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
17941 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
17942 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
17944 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
17945 (grub_arch_machine): New extern var.
17946 * include/grub/mips/loongson/serial.h
17947 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
17948 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
17949 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
17950 (GRUB_MACHINE_SERIAL_PORT0): ... this.
17951 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
17952 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
17953 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
17954 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
17955 * include/grub/term.h (grub_term_register_input_inactive): New inline
17957 (grub_term_register_output_inactive): Likewise.
17958 * include/grub/video.h (grub_video_driver_id): New value
17959 GRUB_VIDEO_DRIVER_SIS315PRO.
17960 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
17961 New field "names". All users updated.
17962 New field value IMAGE_FULOONG_FLASH.
17963 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
17965 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
17967 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
17968 and add some clarification.
17970 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17972 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
17973 platforms if kernel is compressed.
17975 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17977 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
17978 unused modules since currently referrence counter isn't reliable and
17979 there isn't much memory to recover there anyway.
17981 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17983 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
17984 rather than resetting it to allow modules to reference themselves
17987 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17989 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
17990 counter on dependencies since grub_dl_unref already handles this.
17992 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17994 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
17995 on error if not already done.
17997 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
17999 Fix few potential memory misusage.
18001 * grub-core/font/font.c (load_font_index): Don't free char_index to
18003 (grub_font_load): Zero-fill font at alloc for safety.
18004 Close file on error.
18005 (free_font): Free bmp_idx.
18007 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18009 * docs/grub.texi (Installation): Fix several outdated claims.
18011 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18013 Handle module_license on windows.
18015 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
18017 (insert_string): Make argument const char * instead of char *.
18018 (write_section_data): Handle long section names.
18019 Handle module_license.
18021 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18023 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
18024 handle class-free menuentries.
18025 (grub_normal_add_menu_entry): Add a check to be sure.
18027 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
18029 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
18032 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18034 * configure.ac: Bump version to 1.99.
18036 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18038 Give ATA device a bit more time on first try in order to allow disks
18041 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
18042 if dev->present is 1. Reset dev->present on failure.
18043 (grub_ata_device_initialize): Set dev->present to 1.
18044 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
18045 (grub_ata_device): New member 'present'.
18047 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18049 * util/grub-mkimage.c (generate_image): Update hash.
18051 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18053 Flush caches on DMA memory.
18055 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
18056 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
18057 (grub_dma_free): Likewise.
18058 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
18060 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18062 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
18063 to avoid asm treating ld and sd as macros.
18065 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18067 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
18070 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18072 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
18073 grub_decompress_core since later would fail if grub_decompress_core
18076 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
18078 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
18079 R_MIPS_JALR since it's used by newer compiler.
18081 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
18083 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
18085 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18087 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
18088 file_path to 0 for surety.
18089 (grub_chainloader_boot): Set exit_data to NULL.
18090 Unset the loader once done.
18091 (grub_cmd_chainloader): Fix confusing error message if file is empty.
18093 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18095 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
18096 unknown key into a dprintf.
18098 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18100 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
18101 on first non-existant partition.
18103 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18105 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
18107 Reported by: Mark Korenberg.
18109 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18111 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
18114 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18116 * util/grub-mkimage.c (main): Explicitely flush and sync the output
18117 before closing to ensure that it will be readable by grub-setup.
18119 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18121 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
18122 (devpath_1): Use MAKE_PIWG_PATH.
18123 (devpath_2): Likewise.
18124 (devpath_3): Likewise.
18125 (devpath_4): Likewise.
18126 (devpath_5): Likewise.
18127 (devpath_6): Likewise.
18129 The appleldr.mod was checked that to be binary identical to previous
18132 2011-05-05 Zach <mikezackles>
18134 Support 2010 Macbooks.
18136 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
18137 (devs): Add devpath_6.
18139 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18141 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
18142 /dev/random. /dev/urandom is good enough for our purposes (salting).
18144 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18146 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
18148 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18150 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
18153 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
18155 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
18156 and not 0 on failure.
18158 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18160 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
18161 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
18162 disk; otherwise grub_fs_probe will not fall back to the next
18164 (grub_pxefs_open): Likewise, for consistency.
18165 Reported and tested by: Ezekiel Grave.
18167 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
18169 * tests/partmap_test.in: Don't hardcode path to parted.
18170 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
18172 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
18174 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
18175 of `ls' to find out which devices are available.
18177 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18179 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
18180 than source address for efi mmap buffer.
18182 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18184 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
18185 wrong action on non-detecting the magic.
18187 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18189 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
18190 already supplied by another part of the module (fixes compilation on
18193 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
18195 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
18196 match the one used by mdadm.
18198 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18200 * po/README: Add instructions for creating po/LINGUAS.
18202 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18204 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
18207 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
18208 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
18209 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
18210 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
18211 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
18212 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
18213 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
18214 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
18215 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
18216 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
18217 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
18218 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
18219 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
18220 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
18221 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
18222 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
18223 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
18224 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
18225 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
18226 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
18227 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
18228 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
18230 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18232 * grub-core/kern/emu/getroot.c
18233 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
18234 test that was incorrectly reintroduced in r3214.
18235 Reported by: Ian Dall. Fixes Savannah bug #33133.
18237 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
18239 Fix stack pointer handling in 16-bit relocator.
18241 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
18242 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
18243 Fixes Ubuntu bug #683904.
18245 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18247 * configure.ac: Bump version to 1.99~rc2.
18249 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18251 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
18252 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
18253 * grub-core/lib/x86_64/setjmp.S: Likewise.
18254 * grub-core/lib/mips/setjmp.S: Likewise.
18255 * grub-core/lib/powerpc/setjmp.S: Likewise.
18256 * grub-core/lib/sparc64/setjmp.S: Likewise.
18258 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
18260 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
18261 * grub-core/lib/efi/datetime.c: Likewise.
18263 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18265 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
18267 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
18268 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
18269 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
18271 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18273 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
18275 (grub_gfxterm_term_init): Likewise.
18277 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
18279 Take into account the decorations the computing menu entry width.
18281 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
18282 (grub_gfxmenu_create_box): Register get_border_width.
18283 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
18285 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
18288 2011-04-18 Endres Puschner <code@e7p.de>
18290 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
18291 Don't skip first class.
18293 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18295 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
18297 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
18299 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18301 Complete 64-bit division support.
18303 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
18304 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
18305 * include/grub/misc.h (grub_divmod64): Rename to ...
18306 (grub_divmod64_full): ... this.
18307 (grub_divmod64): New inline function.
18309 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18311 * util/grub-mkimage.c (generate_image): Add forgotten comma.
18313 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
18315 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
18316 performing the necessary test.
18318 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18320 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
18321 (kfreebsd.elf): Likewise.
18322 (pc-chainloader.elf): Likewise.
18323 (ntldr.elf): Likewise.
18325 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
18327 Identify RAID by its UUID rather than (guessed) name.
18329 * grub-core/disk/raid.c (ascii2hex): New function.
18330 (grub_raid_open): Accept mduuid/%s specification.
18331 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
18332 (get_mdadm_uuid): ... this.
18333 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
18335 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
18337 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
18340 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18342 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
18344 * util/grub.d/20_linux_xen.in: Likewise.
18346 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
18348 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
18349 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
18351 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
18352 Build a list of relevant visible mounts using the mnt_id and
18353 parent_mnt_id fields, and then scan that list at the end.
18355 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18357 * docs/grub.texi (normal): New section.
18358 (normal_exit): New section.
18359 (Embedded configuration): Add reference to normal.
18360 (GRUB only offers a rescue shell): Likewise.
18361 * docs/grub-dev.texi (Error Handling): Fix typo.
18363 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18365 * NEWS: Drop obsolete entry about probe-only btrfs support.
18367 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
18369 * util/import_gcry.py: Fix typo.
18371 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18373 * NEWS: Add btrfs support.
18375 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18376 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18378 BtrFS support. Written by me (Vladimir) with important bugfixes and
18379 even more important testing by Colin.
18381 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
18382 * grub-core/Makefile.core.def (btrfs): Add crc.c.
18383 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
18384 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
18385 mem_input_off and mem_input. All users updated to accept in-RAM input.
18386 (gzio_seek): New function.
18387 (test_zlib_header): Likewise.
18388 (grub_gzio_read): Likewise.
18389 (grub_zlib_decompress): Likewise.
18390 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
18391 Accept partial and non-virtual mounts.
18392 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
18393 avoid receiving /dev/dm-X as device.
18394 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
18395 Handle bind and partial mounts.
18396 * grub-core/lib/crc.c: New file.
18397 * include/grub/deflate.h: Likewise.
18398 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
18400 * include/grub/lib/crc.h: New file.
18402 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18404 Implement automatic module license checking according to new GNU
18407 * grub-core/kern/dl.c (grub_dl_check_license): New function.
18408 (grub_dl_load_core): Use grub_dl_check_license.
18409 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
18410 (GRUB_MOD_LICENSE): Likewise.
18411 (GRUB_MOD_DUAL_LICENSE): Likewise.
18412 All modules updated.
18414 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
18416 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
18417 reserved_first_sector to 1. btrfs reserves plenty of space for boot
18419 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
18421 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18423 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
18425 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18427 * util/grub-fstest.c (read_file): Report GRUB error if file opening
18430 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
18432 * grub-core/kern/file.c (grub_file_open): Don't take into account the
18433 parenthesis in the middle of the filename.
18435 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18437 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
18438 rather than trying to put initrd way too high.
18439 Reported by: Ryan Lortie <desrt@desrt.ca>
18441 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18443 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
18444 improperly removed string.
18446 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18448 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
18450 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
18451 (open_device) Likewise.
18452 (grub_util_biosdisk_close): Likewise.
18453 Reported by: Mark Korenberg.
18455 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
18457 * util/grub-mkconfig_lib.in: Add missing quotes.
18459 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
18461 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
18464 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18466 Dynamically count the number of lines for the lower banner.
18468 * grub-core/normal/menu_entry.c (per_term_screen): New member
18470 (print_down): Use num_entries.
18471 (update_screen): Likewise.
18472 (grub_menu_entry_run): Set num_entries.
18473 * grub-core/normal/menu_text.c (menu_viewer_data): New member
18475 (grub_print_message_indented): Move real part to ...
18476 (grub_print_message_indented_real): ... here. Additional argument
18478 (draw_border): Additional argument num_entries.
18479 (print_message): Additional argument dry_run.
18480 (print_entries): Receive menu viewer data.
18481 (grub_menu_init_page): New argment num_entries.
18482 (menu_text_set_chosen_entry): Use num_entries.
18483 (grub_menu_try_text): Likewise.
18484 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
18486 (grub_ucs4_count_lines): New function.
18487 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
18488 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
18489 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
18490 (grub_term_border_height): Likewise.
18491 (grub_term_num_entries): Likewise.
18493 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
18495 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
18496 Remove now unused string.
18498 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18500 * docs/grub-dev.texi (Finding your way around): Update for 1.99
18502 (Getting started): GRUB is developed in Bazaar now, not Subversion.
18504 (Comment): Fix typo.
18505 (Getting started): General copy-editing.
18506 (Typical Development Experience): Likewise.
18507 (Error Handling): Likewise.
18508 (Video API): Likewise.
18510 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
18512 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
18515 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18517 * util/grub-mkimage.c (main): Handle special naming of yeeloong
18520 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18522 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
18523 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
18526 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18528 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
18529 grub_strcpy since the lines aren't necessarily 0-terminated.
18531 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18533 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
18536 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18538 * grub-core/commands/probe.c (options): Argument to set isn't optional.
18539 (GRUB_MOD_INIT): DEVICE isn't optional.
18541 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18543 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
18544 word on new line if it's too long anyway. Fixes a hang.
18546 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18548 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
18550 * util/grub-setup.c (main): Reuse md device name if available.
18551 * util/raid.c (grub_util_raid_getmembers): Receive device name and
18552 not GRUB name as argument.
18553 Based on patch by: Florian Wagner <fwagner>.
18555 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18557 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
18558 Place mbi on low memory for better compatibility.
18560 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18562 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
18564 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18565 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
18567 * autogen.sh: Ensure that collate and ctype locale is C.
18568 * conf/Makefile.common: Likewise.
18570 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18572 * grub-core/normal/menu.c: Add missing include.
18574 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18576 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
18578 2011-04-08 Martin Zuther <mzuther@mzuther.de>
18580 * util/grub-mkconfig.in: Ignore emacsen backup.
18582 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18584 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
18586 (grub_util_biosdisk_close): Likewise.
18588 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
18590 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
18591 const attribute and use grub_isdigit.
18593 2011-04-06 Andrey <dev_null@ukr.net>
18595 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
18598 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18600 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
18601 useful grub_dprintf's.
18603 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18605 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
18607 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18609 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
18611 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18613 Output errors if theme loading failed.
18615 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
18616 grub_gfxterm_fullscreen on error paths to ...
18617 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
18618 theme loading error.
18620 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18622 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
18623 space for older compilers.
18624 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
18626 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
18628 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
18629 and report them as not RAID members since they are useless for GRUB.
18630 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
18632 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18634 Increase LVM implementation robustness in order not to crash on
18635 configurations like pvmove. Previously code assumed that in some places
18636 only lvs or only pvs are used whereas it seems that they are used
18639 * grub-core/disk/lvm.c (read_node): New function.
18640 (read_lv): Use read_node.
18641 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
18642 Match volumes only at the end when all lvs are found. Take both
18643 pvs (first) and lvs (second) into account.
18644 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
18645 mirror_* into node_*. All users updated.
18646 (grub_lvm_stripe): Merge this ...
18647 (grub_lvm_mirror): ... and this ...
18648 (grub_lvm_node): ... into this. All users updated.
18650 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18652 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
18653 of function to allow further scanning for LVMs.
18655 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18657 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
18658 on failed seek as it breaks open fd reusage.
18660 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18662 * util/grub-install.in: Add a recommendation to use --recheck before
18665 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18667 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
18670 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
18672 GRUB developper manual based on existing Internals section and
18673 contributions by the various authors with active copyright assignment.
18675 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
18676 * docs/font_char_metrics.png: New file.
18677 * docs/font_char_metrics.txt: Likewise.
18678 * docs/grub-dev.texi: Likewise.
18679 * docs/grub.texi (Internals): Move from here ...
18680 * docs/grub-dev.texi: ... here.
18682 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18684 Store the loopback device as data on loopback grub_disk structures,
18685 rather than the file it points to. This fixes use of freed memory
18686 if an existing loopback device is replaced.
18688 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
18689 disk->data, not dev->file.
18690 (grub_loopback_read): Adjust file assignment to match.
18691 Fixes Ubuntu bug #742967.
18693 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18695 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
18696 when replacing an existing device.
18698 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
18700 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
18701 memory corruptions.
18703 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
18705 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
18706 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
18707 (grub_jfs_read_inode): Likewise.
18708 (grub_jfs_opendir): Likewise. Remove now useless casts.
18709 (grub_jfs_getent): Likewise.
18710 Make ino a grub_uint32_t rather than int.
18711 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
18712 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
18713 division and module with bit operations.
18714 (grub_jfs_find_file): Make ino a grub_uint32_t.
18715 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
18717 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
18719 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
18720 warning. (This was in fact always initialised before use, but GCC
18721 wasn't smart enough to prove that.)
18722 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
18724 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
18726 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
18728 (efi_wrap_1): Likewise.
18729 (efi_wrap_2): Likewise.
18730 (efi_wrap_3): Likewise.
18731 (efi_wrap_4): Likewise.
18732 (efi_wrap_5): Likewise.
18733 (efi_wrap_6): Likewise.
18734 (efi_wrap_10): Likewise.
18735 Based on information by: Red Hat/Peter Jones.
18737 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18739 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
18740 set-but-not-used variable.
18742 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
18744 * docs/grub.texi (Simple configuration): Be more explicit about
18745 GRUB_DEFAULT, and add an example.
18746 Reported by: Leslie Rhorer.
18748 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18750 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
18753 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18755 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
18756 * util/grub.d/20_linux_xen.in: Likewise.
18758 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18760 * util/grub.d/10_linux.in: Try alternative config filenames where
18761 we parse config file.
18762 * util/grub.d/20_linux_xen.in: Likewise.
18764 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
18766 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
18767 * util/grub.d/20_linux_xen.in: Likewise.
18769 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18771 * grub-core/disk/raid.c (insert_array): Add few potentially
18772 useful grub_util_info.
18773 (grub_raid_register): Likewise.
18775 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18777 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
18778 Preserve partition number in mdadm code path.
18780 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18782 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
18783 few potentially useful grub_util_info.
18785 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18787 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
18789 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18791 * docs/grub.texi (default): Use @example rather than nested
18792 itemized lists to avoid breaking gendocs.
18794 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18796 * docs/grub.texi (Future): Update.
18798 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18800 * docs/grub.texi (Environment): New chapter.
18801 (Changes from GRUB Legacy): Link to "Environment block" section for
18802 details of limitations.
18803 (Simple configuration): Likewise. Link to documentation of gfxmode
18804 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
18806 (Shell-like scripting): Note that normal variables are stored in the
18808 (gettext): Link to documentation of lang and locale_dir.
18809 (list_env): New section.
18810 (load_env): New section.
18811 (save_env): New section.
18813 (Reporting bugs): Fix typo.
18815 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18817 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
18820 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
18822 * grub-core/term/at_keyboard.c (set_scancodes)
18823 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
18825 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18827 * docs/grub.texi (Menu-specific commands): Remove some semantics
18828 that were true in GRUB Legacy but not in GRUB 2.
18829 (submenu): New section.
18830 (false): New section.
18831 (read): New section.
18832 (true): New section.
18834 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18836 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
18838 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
18840 * docs/grub.texi (Simple configuration): Explain some of the
18841 current limitations of grub-mkconfig.
18842 Reported by: Leslie Rhorer.
18844 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18846 Old macs search for boot.efi rather than for bootia32.efi.
18848 * util/grub-install.in: Copy bootia32.efi to boot.efi.
18849 * util/grub-mkrescue.in: Likewise.
18850 Suggested by: Peter Jones.
18852 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18854 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
18856 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18858 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
18859 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
18860 (grub_lvm_mirror): New struct.
18861 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
18862 (grub_lvm_iterate): Iterate only visible volumes.
18863 (grub_lvm_read): Factor out to ..
18864 (read_lv): ... this. Support mirrors.
18865 (grub_lvm_read): New wrapper function.
18866 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
18867 stripped or mirrored.
18869 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18871 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
18873 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18875 * docs/grub.texi (loopback): New section.
18877 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18879 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
18882 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18884 * docs/grub.texi (BIOS installation): New section, partly based on
18885 previous text in other sections.
18886 (Installing GRUB using grub-install): Replace BIOS discussion with a
18888 (Images): Likewise.
18890 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18892 * grub-core/kern/emu/hostdisk.c (find_partition_start)
18893 [HAVE_DIOCGDINFO]: Add safety checks.
18895 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18897 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
18898 per default compiled in kernel and prior to 8.0 isn't shipped at all.
18900 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
18902 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
18903 real_sb->size is zero (e.g. RAID-0), get the disk size from
18904 real_sb->data_size instead.
18905 Fixes Ubuntu bug #743136.
18907 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18909 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
18910 printf clauses for printing size and start.
18912 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18914 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
18915 Reported and tested by: Timothy Nikkel.
18917 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18919 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
18920 (dirty_region_add_real): ... this.
18921 (dirty_region_add): Don't discard margin refresh when performing
18924 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
18926 * grub-core/lib/relocator.c (allocate_regstart)
18927 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
18928 terminals are capabple of malloc-free operation.
18929 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18930 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
18932 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
18934 * util/grub-setup.c: Copy the partition table zone if floppy support
18935 is disabled, even if no partition table is found.
18937 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
18938 during POST if an invalid partition table is contained in the PBR
18939 of the active partition when GRUB is installed to a partition.
18941 2011-03-28 Colin Watson <cjwatson@debian.org>
18943 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
18946 2011-03-28 Colin Watson <cjwatson@debian.org>
18948 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
18949 to be specific about what kind of RAID device we're scanning for.
18951 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
18953 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
18954 return freed string.
18956 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18958 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
18960 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18962 Use libgeom on FreeBSD to detect partitions.
18964 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
18965 (grub-mkrelpath): Likewise.
18966 (grub-script-check): Likewise.
18967 (grub-editenv): Likewise.
18968 (grub-mkpasswd-pbkdf2): Likewise.
18969 (grub-fstest): Likewise.
18970 (grub-mkfont): Likewise.
18971 (grub-mkdevicemap): Likewise.
18972 (grub-probe): Likewise.
18973 (grub-setup): Likewise.
18974 (grub-ofpathname): Likewise.
18975 (grub-mklayout): Likewise.
18976 (example_unit_test): Likewise.
18977 (grub-menulst2cfg): Likewise.
18978 * grub-core/Makefile.core.def (grub-emu): Likewise.
18979 (grub-emu-lite): Likewise.
18980 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
18981 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
18982 define HAVE_DIOCGDINFO.
18983 (follow_geom_up) [FreeBSD]: New function.
18984 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
18985 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
18986 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
18987 unconditionally of HAVE_DIOCGDINFO.
18989 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
18991 Fix FreeBSD compilation problem.
18993 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
18994 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
18996 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
18998 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
18999 Switch back to page zero before loading a kernel, since some kernel
19000 drivers expect that.
19001 Thanks to: Felix Kuehling.
19003 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19005 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
19006 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
19007 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
19009 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19011 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
19012 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
19014 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19016 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
19017 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
19018 malloc is disabled.
19020 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
19022 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
19023 for modules headers when counting the needed allocation size.
19025 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19027 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
19028 if no ASCII character is found to prevent crash.
19030 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
19032 * grub-core/video/bitmap.c (match_extension): Ignore case.
19034 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19036 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
19038 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19040 * grub-core/script/parser.y: Declare "time" as valid argument.
19042 2011-03-23 Peter Jones <pjones@redhat.com>
19044 Fix incorrect assert failure reporting.
19046 * grub-core/tests/example_functional_test.c (example_test): Add
19048 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
19049 (failure_start): ...this. Check that malloc succeeded.
19050 Don't call xvasprintf. Return failure struct.
19051 (failure_append_vtext): New function.
19052 (failure_append_text): Likewise.
19053 (add_failure): Likewise.
19054 (grub_test_assert_helper): Likewise.
19055 * include/grub/test.h (grub_test_assert_helper): New declaration.
19056 (grub_test_assert): Macro rewritten.
19058 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19060 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
19062 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19064 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
19066 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19068 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
19069 into GRUB-style one.
19071 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19073 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
19074 error and not grub_errno.
19075 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
19077 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19079 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
19080 GRUB_USB_SPEED_NONE in case of failure and not the error code.
19082 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19084 * grub-core/efiemu/i386/pc/cfgtables.c
19085 (grub_machine_efiemu_init_tables): Make declaration a prototype.
19086 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
19087 (grub_xnu_unlock): Likewise.
19088 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
19090 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19092 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
19093 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
19094 * grub-core/commands/hashsum.c (aliases): Likewise.
19095 * grub-core/commands/setpci.c (pci_registers): Likewise.
19096 * grub-core/disk/usbms.c (attach_hook): Likewise.
19097 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
19098 (zio_checksum_table): Likewise.
19099 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
19100 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
19101 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
19102 * grub-core/lib/relocator.c (leftovers): Likewise.
19103 (extra_blocks): Likewise.
19104 * grub-core/loader/i386/bsd.c (relocator): Likewise.
19105 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
19106 (modules_last): Likewise.
19107 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
19108 (devices): Likewise.
19109 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
19110 (modules_last): Likewise.
19111 * grub-core/normal/auth.c (users): Likewise.
19112 * grub-core/normal/context.c (initial_menu): Likewise.
19113 (current_menu): Likewise.
19114 * grub-core/normal/crypto.c (crypto_specs): Likewise.
19115 * grub-core/term/serial.c (grub_serial_ports): Likewise.
19116 (grub_serial_terminfo_input_template): Likewise.
19117 (grub_serial_terminfo_output_template): Likewise.
19118 (grub_serial_terminfo_input): Likewise.
19119 (grub_serial_terminfo_output): Likewise.
19120 (registered): Likewise.
19121 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
19123 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19125 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
19126 grub_video_mode_type_t.
19127 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
19128 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
19129 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
19131 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
19133 * util/grub-install.in: Correct the x86-64 name as x86_64.
19135 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
19137 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
19138 initial chunk read from the kernel always includes GRUB's multiboot
19139 header, which is now outside the first sector.
19141 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19143 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
19144 cached mmap_size, so that this works correctly when called multiple
19146 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
19148 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
19150 * docs/grub.texi (Simple configuration): Tidy up formatting.
19152 2011-03-07 Szymon Janc <szymon@janc.net.pl>
19154 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
19155 Set-but-not-used variable removed.
19157 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19159 Workaround yet another IEEE1275 bug.
19161 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
19162 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
19163 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
19164 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
19166 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
19167 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
19169 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
19171 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
19174 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
19176 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
19177 empty, since in that case we can only generate either nothing or a
19178 syntactically invalid configuration file.
19179 Reported by: Michal Suchanek. Fixes Debian bug #612898.
19181 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19183 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
19184 (Making a GRUB bootable CD-ROM): Likewise.
19185 (Invoking grub-mkrescue): New section.
19186 Reported by: Yann Dirson. Fixes Debian bug #612585.
19188 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
19190 * util/grub-install.in: Remove unnecessary brackets from tr
19192 * util/grub.d/10_hurd.in: Likewise.
19193 * util/grub.d/10_kfreebsd.in: Likewise.
19194 * util/grub.d/10_linux.in: Likewise.
19195 * util/grub.d/20_linux_xen.in: Likewise.
19196 Reported by: Jamie Heilman. Fixes Debian bug #612564.
19198 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
19200 * include/grub/file.h (not_easly_seekable): Rename to ...
19201 (not_easily_seekable): ... this. Update all users.
19203 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
19205 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
19208 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
19210 * util/grub-mkimage.c (generate_image): Refuse to create the images
19211 bigger than the actual flash (512K) in Loongson machines. 512K is also
19212 the biggest chip supported by them.
19214 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19216 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
19218 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
19220 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
19221 super_offset field.
19223 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19225 * util/grub-install.in: Ignore install device on platforms
19226 where it doesn't make sense. Always use UUIDs except on pc, efi and
19228 Reported by: Daniel Kahn Gillmor.
19230 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19232 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
19234 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19236 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
19237 (iterate_real): Don't rely on partition being non-NULL.
19239 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19241 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
19242 supported platforms. Put a compile time assert for this rather than
19243 generate a warning with 32-bit shift.
19245 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19247 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
19248 logical expression more readable.
19250 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
19252 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
19253 even if some elements have a name.
19254 Reported by: Alexander GQ Gerasiov.
19256 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19258 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
19259 path unreadable if `grub-probe -t abstraction' fails, for example if
19260 memberlist fails on an LVM volume group.
19261 Reported by: Darius Jahandarie.
19263 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
19265 * docs/grub.texi (Simple configuration): Document
19266 GRUB_PRELOAD_MODULES.
19268 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
19270 * .bzrignore: Remove nonexistent grub-pbkdf2.
19272 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
19274 * configure.ac: Bump version to 1.99~rc1.
19276 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
19278 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
19281 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19283 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
19286 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
19288 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
19290 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19292 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
19295 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
19297 Fix compilation on cygwin.
19299 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
19300 -R .drectve on cygwin.
19301 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
19302 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
19303 (COND_CYGWIN): New condition.
19304 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
19305 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
19306 not @TARGET_OBJ2ELF@.
19307 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
19308 type to determine whether aux is to be used.
19310 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19312 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
19313 realpath'ed device string.
19314 Handle floppy (somewhat).
19315 Issue error in unknown case rather than garbage.
19316 Reported by: Axel Beckert.
19318 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19320 * util/grub.d/00_header.in (load_video): Handle the case when no video
19322 Thanks to: Axel Beckert.
19324 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19326 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
19327 variable. Fixes problem on big endian platforms.
19329 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19331 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
19332 It doesn't work well there.
19334 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19336 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
19338 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
19339 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
19342 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
19344 Use alias->path rather than buggy "canon".
19346 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
19347 (ofdisk_hash_add): New argument curcan. All users updated.
19349 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19351 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
19353 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19355 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
19356 loadmask before doing any calculations. Use correct type for offset.
19357 (grub_linux_load64): Likewise.
19359 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
19361 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
19363 (console_grub_equivalences_unshift): Likewise.
19364 Reported by: Daniel Dehennin.
19366 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19368 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
19369 (set_env_limn_ro): Likewise.
19370 (GRUB_MOD_INIT): Likewise.
19371 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
19372 ARRAY_SIZE while on it.
19373 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
19374 * grub-core/normal/context.c (grub_env_export): Move from here ...
19375 * grub-core/kern/env.c (grub_env_export): ... here.
19376 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
19378 * grub-core/kern/main.c (grub_main): Export root and prefix.
19379 * include/grub/env.h (grub_env_export): Export.
19380 Reported by: Seth Goldberg.
19382 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19384 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19385 Take into account space used by ELF sections and multiboot palette.
19386 Reported by: Grégoire Sutre.
19388 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
19392 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19394 Pass more appropriate video id to Linux.
19396 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
19397 grub_video_get_driver_id and variable gfxpayloadforcelfb to
19399 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
19400 shift params->lfb_size.
19401 * include/grub/i386/linux.h: Make an enume out of have_vga values.
19403 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19405 * util/grub-menulst2cfg.c: Add missing include of misc.h.
19407 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19409 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
19410 separator and pass bootpath/devid even if only one of them is available.
19411 Reported by: Seth Goldberg.
19413 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19415 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
19416 implementations bug on them.
19418 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
19420 (filter_memory_map): Likewise.
19422 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19424 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
19425 Reported by: nebuchadnezzar.
19427 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19429 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
19430 Reported by: nebuchadnezzar.
19432 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19434 Submenu default support.
19436 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
19437 auto_boot. All users updated.
19439 Handle chosen and default with submenus.
19440 (grub_menu_execute_with_fallback): Declared static.
19441 Don't notify failure if autobooted. Upper level does it.
19442 (menuentry_eq): New function.
19443 (get_entry_number): Use menuentry_eq.
19444 (show_menu): New parameter "autobooted". All users updated.
19445 (grub_show_menu): Likewise.
19446 * include/grub/normal.h (grub_show_menu): Likewise.
19447 * include/grub/menu.h (grub_menu_execute_entry): Removed.
19448 (grub_menu_execute_with_fallback): Likewise.
19450 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19452 * util/grub-mklayout.c (usage): Update help text.
19454 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19456 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
19458 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19460 * util/grub-menulst2cfg.c (main): Trim the line.
19462 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19464 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
19465 (grub_machine_init): Don't check amount of low memory as reportedly
19466 INT 12h can be broken and if low memory is too low we wouldn't have
19467 gotten into grub_machine_init anyway.
19469 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19471 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
19472 (grub_machine_mmap_iterate): Take low memory into account
19474 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19476 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
19478 Reported by: TiCPU.
19480 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
19482 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
19485 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19487 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
19488 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
19490 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
19492 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
19493 openbsd and netbsd types being in part_bsd module.
19495 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19497 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
19498 (_FILE_OFFSET_BITS): Likewise.
19499 Reported by: Seth Goldberg.
19501 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19503 * configure.ac: Check for libdevmapper header.
19505 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19507 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
19509 (fzap_lookup): Likewise.
19510 (dnode_get): Likewise.
19511 (make_mdn): Likewise.
19512 (zfs_mount): Likewise.
19513 (fzap_iterate): Use temporary pointer to avoid aliasing.
19514 (grub_zfs_read): Likewise.
19515 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
19516 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
19517 pointers to avoid aliasing.
19518 (grub_cmd_xnu_kernel64): Likewise.
19519 (grub_xnu_load_driver): Likewise.
19521 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19523 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
19525 (grub_cmd_terminal_output): Likewise.
19526 Reported and tested by: Grégoire Sutre.
19528 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19530 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
19532 Reported and tested by: Grégoire Sutre.
19534 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19536 * configure.ac: Do CPU substitution even if it's specified explicitly.
19537 Reported and tested by: Alain Greppin.
19539 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19541 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
19542 Reported and tested by: Alain Greppin.
19544 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19546 Satisfy some bison versions need for inttypes.h.
19548 * grub-core/lib/posix_wrap/inttypes.h: New file.
19549 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
19550 (int16_t): Likewise.
19551 (int32_t): Likewise.
19552 (int64_t): Likewise.
19553 Reported and tested by: Alain Greppin.
19555 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
19557 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
19558 Silence spurious warning.
19559 Reported and tested by: Alain Greppin.
19561 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19563 * docs/grub.texi (Support automatic decompression): Update with xz
19564 decompression support.
19566 2011-01-07 Szymon Janc <szymon@janc.net.pl>
19568 Improve loaders' kernel command line handling.
19570 * grub-core/lib/cmdline.c: New file.
19571 * include/grub/lib/cmdline.h: Likewise.
19572 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
19573 grub_create_loader_cmdline to create kernel command line.
19574 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19575 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
19576 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
19577 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
19578 (linux): Add lib/cmdline.c on common.
19580 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19582 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
19583 inopos might be unaligned.
19585 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19587 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
19588 endian transformations.
19589 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
19590 Based on report by: Doug Nazar.
19592 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
19594 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
19595 array->members[i].start_sector.
19596 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
19598 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
19600 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
19601 Reported and tested by: Grégoire Sutre.
19603 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19605 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
19606 avoid causing test failures by clearing the screen.
19608 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
19610 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
19611 Fix prefix check to handle the case where dir ends with a slash
19612 (most significantly, "/" itself).
19613 Reported by: Michael Vogt.
19615 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19617 Run terminfo_cls on initing terminfo output to clear the screen and
19618 move the cursor to (0,0).
19620 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
19621 Call grub_terminfo_output_init.
19622 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
19623 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
19624 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
19626 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19628 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
19631 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19633 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
19636 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
19638 The E820 type 5 is BADRAM, not EXEC_CODE.
19640 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19641 (GRUB_E820_BADRAM): New define.
19642 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
19643 into reserved. Propagate BADRAM.
19644 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
19645 (GRUB_E820_BADRAM): New define.
19647 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19649 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
19650 Ignore the memory post-4G.
19651 (grub_relocator_firmware_alloc_region): Additional debug statement.
19653 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19655 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
19657 Reported by: David Pravec.
19659 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19661 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
19664 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19666 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
19668 (grub_reed_solomon_recover): Likewise.
19670 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19672 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
19674 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
19676 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
19679 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
19681 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
19682 descriptions of extract_legacy_entries_source and
19683 extract_legacy_entries_configfile.
19684 Reported by: Seung Soo, Ha.
19686 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
19688 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
19689 on devices that do not implement function 0.
19691 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
19693 * grub-core/fs/hfsplus.c: Make parent unsigned.
19694 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
19696 (grub_hfsplus_cmp_extkey): Likewise
19698 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19700 * util/grub-install.in: Correctly use bootloader_id and not
19701 GRUB_DISTRIBUTOR on efibootmgr line.
19703 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
19705 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
19707 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
19709 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
19710 Xen and reorder menu item wording to make it clearer that this entry
19711 will launch Xen. Print separate messages when loading Xen and
19714 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19716 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
19717 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
19718 loop in case of incorrect amiga partmap.
19720 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19722 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
19723 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
19726 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
19728 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
19730 Reported by: crocket
19732 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19734 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
19736 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
19738 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19740 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
19742 (grub_cmd_xnu_kextdir): Likewise.
19743 (grub_cmd_xnu_splash): Likewise.
19745 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19747 Avoid using Reed-Solomon with 0 redundancy.
19749 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
19750 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
19752 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
19753 (grub_reed_solomon_recover): Likewise.
19755 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
19757 Don't use disk subsystem in freebsd_boot.
19759 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
19760 (freebsd_biosdev): Likewise.
19761 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
19762 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
19764 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
19766 Handling of files of unknown size is currently limited. They can't be
19767 used e.g. for initrd or modules. Moreover gzip handling of not
19768 easily seekable files is buggy. Disable unknown file size for now. May
19769 be inefficient but works.
19771 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
19772 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
19774 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
19776 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
19779 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
19781 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
19783 2010-12-25 Shea Levy <shlevy>
19785 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
19787 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19789 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
19790 Windows Server 2008.
19791 Reported by: Devin Giddings.
19793 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
19795 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
19796 writing an error message because of async power management.
19797 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
19798 (grub_reboot): Likewise.
19800 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
19802 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
19803 keep unit tests from failing when they shouldn't.
19805 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19807 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
19808 previous patch increased the size of the RS code by 20 bytes (at
19809 least with gcc-4.4), so increase this by 20 bytes to match.
19810 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
19812 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19814 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
19815 scratch area. Make sure to initialise chosen in standalone mode as
19816 well as non-standalone.
19817 Reported by: Robert Hooker and Andy Whitcroft.
19818 Tested by: Andy Whitcroft.
19820 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19822 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
19823 constructing a new unescaped string and passing it to grub_xputs in
19824 one go, rather than passing characters to grub_printf one at a time.
19826 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19828 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
19829 initialising utf16.
19831 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
19833 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
19834 comment. Add an extra layer of quotation, requiring the output of
19835 this function to be used in a printf format string.
19836 (gettext_printf): New function.
19837 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
19838 Extract translatable strings from here-documents and use a temporary
19839 variable instead, so that xgettext can find them.
19840 * util/grub.d/10_kfreebsd.in: Likewise.
19841 * util/grub.d/10_linux.in: Likewise.
19842 * util/grub.d/20_linux_xen.in: Likewise.
19844 * po/grub.d.sed: New file.
19845 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
19846 arguments. Set c-format flags on all strings extracted from
19847 util/grub.d/ (xgettext refuses to include these itself for strings
19848 it extracted from a shell file, but these really are c-format).
19850 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19852 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
19853 Avoid next pointing to nowhere.
19855 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19857 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
19858 rather than assuming than rootblock is exactly in the middle.
19859 (grub_affs_label): Likewise.
19861 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19863 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
19864 reserved_first_sector to 0.
19865 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
19866 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
19867 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
19869 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19871 Fix handling of UTF-16 UDF labels.
19873 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
19874 (read_string): .. here.
19875 (grub_udf_label): Use read_string.
19877 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
19879 * grub-core/normal/menu_entry.c (run): Execute commands from menu
19880 editor under argument scope.
19881 Reported by: Jordan Uggla
19883 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19885 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
19887 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
19889 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
19890 line, and other keys scroll an entire page (previous handling was
19891 for \r and \n to scroll a page and other keys to scroll two lines).
19893 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19895 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
19896 Set ptrdest to correct get_physical_target_address rather than
19897 incorrect get_virtual_current_address.
19899 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
19901 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
19902 correct cat to grub_uint8_t * rather than grub_uint32_t *.
19904 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19906 * .bzrignore: Ignore grub-core/rs_decoder.S.
19908 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
19910 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
19911 .mo/.mo.gz opening sequence to ...
19912 (grub_mofile_open_lang): ... here.
19913 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
19914 * util/grub.d/00_header.in (grub_lang): Include country part of
19916 Reported by: Mario Limonciello.
19918 2010-12-09 Robert Millan <rmh@gnu.org>
19920 * NEWS: Document addition of ZFS support.
19922 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
19924 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
19925 rather than `/ 2', as the latter requires -Wa,--divide which would
19926 require bumping our minimum binutils version.
19928 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
19930 * util/grub-script-check.c (main): Print script line number on
19933 2010-12-01 Robert Millan <rmh@gnu.org>
19935 * grub-core/fs/zfs/zfs.c: New file.
19936 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
19937 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
19938 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
19939 * grub-core/fs/zfs/zfsinfo.c: Likewise.
19941 * include/grub/zfs/dmu.h: Likewise.
19942 * include/grub/zfs/dmu_objset.h: Likewise.
19943 * include/grub/zfs/dnode.h: Likewise.
19944 * include/grub/zfs/dsl_dataset.h: Likewise.
19945 * include/grub/zfs/dsl_dir.h: Likewise.
19946 * include/grub/zfs/sa_impl.h: Likewise.
19947 * include/grub/zfs/spa.h: Likewise.
19948 * include/grub/zfs/uberblock_impl.h: Likewise.
19949 * include/grub/zfs/vdev_impl.h: Likewise.
19950 * include/grub/zfs/zap_impl.h: Likewise.
19951 * include/grub/zfs/zap_leaf.h: Likewise.
19952 * include/grub/zfs/zfs.h: Likewise.
19953 * include/grub/zfs/zfs_acl.h: Likewise.
19954 * include/grub/zfs/zfs_znode.h: Likewise.
19955 * include/grub/zfs/zil.h: Likewise.
19956 * include/grub/zfs/zio.h: Likewise.
19957 * include/grub/zfs/zio_checksum.h: Likewise.
19959 * Makefile.util.def: Build ZFS into libgrubmods.
19960 * grub-core/Makefile.core.def: Build zfs.mod.
19962 2010-11-30 Szymon Janc <szymon@janc.net.pl>
19964 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
19966 * grub-core/commands/wildcard.c (match_files): Likewise.
19968 2010-11-30 Robert Millan <rmh@gnu.org>
19970 * grub-core/loader/i386/bsd.c
19971 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
19972 whether kernel is loaded using grub_loader_is_loaded(), rather
19973 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
19974 certain error conditions.
19976 2010-11-30 Robert Millan <rmh@gnu.org>
19978 * grub-core/commands/echo.c: Include `<grub/term.h>'.
19979 (grub_cmd_echo): Call grub_refresh() after printing a message.
19981 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19983 Avoid using tricks for initialising endian variables.
19985 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
19987 (GRUB_MOD_INIT): Don't byte-swap.
19988 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
19989 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
19990 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
19991 (grub_swap_bytes32_compile_time): Likewise.
19992 (grub_cpu_to_le32_compile_time): Likewise.
19993 (grub_cpu_to_le16_compile_time): Likewise.
19995 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
19997 * util/grub-setup.c (setup): Stop recommending --force. People who
19998 understand the dangers of blocklists are able to find this option
19999 anyway and the ones who don't shouldn't use it anyway.
20001 2010-11-26 Robert Millan <rmh@gnu.org>
20003 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
20006 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
20008 Fix LVM-on-RAID probing.
20010 * util/grub-probe.c (probe): Remember which disk was detected as
20011 RAID (perhaps an LVM physical volume). Use that disk's raidname
20012 rather than that of the top-level disk.
20014 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
20016 Fix cmdline argument quotes for setparams command of menuentry
20019 * grub-core/commands/menuentry.c (setparams_prefix): Use single
20020 quotes for arguments.
20021 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
20022 grub_strchrsub function instead.
20024 * include/grub/misc.h (grub_strchrsub): New function.
20026 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20028 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
20029 effort by skipping "." and ".." entries up-front.
20030 Suggested by: Michael Lazarev.
20032 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20034 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
20035 ldflags to ldadd, to fix link line ordering.
20036 (none_decompress): Likewise.
20038 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
20040 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
20042 (grub-emu-lite): Remove kern/emu/cache.S.
20044 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20046 * util/deviceiter.c (compare_devices): If the by-id link for a
20047 device couldn't be resolved, fall back to sorting by the by-id link
20048 rather than segfaulting.
20049 Reported and tested by: Daniel Mierswa.
20051 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20053 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
20054 ldflags, to fix link line ordering.
20056 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20058 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
20059 linkers are picky about this.
20061 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20063 * grub-core/Makefile.am (command.lst): Adjust sed expression
20064 ordering so that extended and priority commands aren't treated as
20067 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
20069 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
20070 Remove byte-swapping function calls, which are not valid in
20071 structure initialisers.
20072 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
20074 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
20075 grub_gpt_partition_type_bios_boot.
20077 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20079 Fix test program build on GNU/kFreeBSD.
20081 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
20082 $(LIBNVPAIR)' library dependencies.
20084 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20086 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
20088 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
20090 * util/grub-install.in: Remove excessive quoting that broke
20091 installations to RAID devices.
20093 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20095 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
20096 bootloader version instead of 0.
20098 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20100 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
20103 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
20105 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
20106 retrieve the metadat sector if size isn't known.
20107 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20109 2010-11-18 Robert Millan <rmh@gnu.org>
20111 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
20112 with grub_memcmp().
20114 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
20116 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
20118 Reported by: Jordan Uggla.
20120 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20122 Make better UTF compliant.
20124 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
20125 sequences as incorrect.
20126 (grub_is_valid_utf8): Likewise.
20127 (grub_utf8_to_ucs4): Likewise.
20128 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
20129 (grub_ucs4_to_utf8_alloc): Likewise.
20130 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
20132 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20134 Make legacy_source behave like source.
20136 * grub-core/commands/legacycfg.c (legacy_file): Don't call
20138 (grub_cmd_legacy_source): Call grub_show_menu if needed.
20140 2010-11-16 Colin Watson <cjwatson@debian.org>
20142 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
20143 (-Wunused implies -Wunused-parameter, but not vice versa).
20145 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
20147 * configure.ac: Make error messages less confusing by testing for
20148 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
20149 accepted, but produces a diagnostic if something else is wrong).
20151 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20153 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
20154 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
20156 (grub_keyboard_controller_init)
20157 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
20158 read the initial state since controller isn't inited yet.
20160 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
20162 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
20163 allocate_regbeg may need to create new chunk header.
20165 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20167 Fix quoting in legacy parser.
20169 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
20171 (grub_legacy_parse): Likewise.
20172 Reported by: Jordan Uggla.
20173 Tested by: Jordan Uggla.
20175 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20177 Don't add -lgcc on i386 and x86_64.
20179 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
20180 * conf/Makefile.common (LDADD_KERNEL): Likewise.
20181 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
20183 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20185 * configure.ac: Add -Wno-trampolines when supported.
20187 2010-11-14 Modestas Vainius <modax@debian.org>
20189 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
20192 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20194 Add generic logical block size support for UDF.
20196 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
20197 (GRUB_UDF_BLKSZ): Removed.
20198 (struct grub_udf_data): New field "lbshift" to hold the logical block
20199 size of the file system in log2 format. All users updated.
20200 (sblocklist): Change type to unsigned.
20201 (grub_udf_mount): Change type of "sblklist" to unsigned.
20202 Move AVDP search before VRS recognition, because the latter requires
20203 knowledge of the logical block size, which is detected during the
20205 Detect and validate logical block size during AVDP search, adding
20206 support for block sizes 512, 1024 and 4096.
20207 Make VRS recognition independent of block size.
20209 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20211 Properly handle deleted files on UDF.
20213 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
20214 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
20217 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
20219 Support reading files larger than 2 GiB.
20221 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
20222 "offset" to grub_off_t.
20223 (grub_udf_read_file): Likewise for parameter "pos".
20225 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20227 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
20229 (Simple configuration): Refer to Changes from GRUB Legacy about
20230 save_env availability.
20232 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20234 * util/grub-install.in: Ignore empty partition table detection
20235 instead of trying to include part_ module.
20237 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20239 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
20240 LVM on RAID support.
20242 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
20244 Properly define WORDS_BIGENDIAN in wrapped environments.
20246 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
20248 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
20250 Reported by: Manoel Rebelo Abranches.
20251 Tested by: Manoel Rebelo Abranches.
20253 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20255 * util/grub-mkconfig.in: Fix quoting.
20257 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20259 Support big ext2 files.
20261 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
20262 (grub_ext2_read_block): Support triple indirect blocks.
20263 (grub_ext2_read_file): Use 64-bit types and read size_high.
20264 (grub_ext2_open): Read size_high.
20265 Reported by: Ximin Luo.
20266 Tested by: Manoel Rebelo Abranches.
20268 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20270 * util/grub-install.in: Handle filenames containing spaces.
20271 Reported by: Jordan Uggla.
20272 Tested by: Jordan Uggla.
20274 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20276 * util/grub-mkconfig.in (grub_script_check): New variable.
20277 Use grub_script_check instead of grub-script-check.
20278 Reported by: Barry Jackson.
20280 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
20282 * docs/grub.texi (menu): Correct the order.
20283 Reported by: D. Hugh Redelmeier.
20285 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
20287 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
20290 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
20292 * include/grub/elfload.h (grub_elf32_size): New parameter.
20294 Return maximum segments alignment.
20295 (grub_elf64_size): Likewise.
20296 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
20297 Return maximum segments alignment.
20298 (grub_elf64_size): Likewise.
20299 * grub-core/loader/powerpc/ieee1275/linux.c:
20300 (grub_linux_claimmap_iterate): New function. Uses the
20301 "available" property in the "memory" node for memory allocation
20302 for kernel in the PowerPC loader.
20303 (grub_linux_load32): Correctly find linux entry point offset.
20304 (grub_linux_load64): Likewise.
20306 2010-11-07 Robert Millan <rmh@gnu.org>
20308 On mips-yeeloong, build with -march=loongson2f when this flag is
20309 available (GCC >= 4.4).
20310 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
20312 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
20313 or otherwise add -march=mips3.
20315 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
20317 Suppress shell expansion on echo '*' and echo "*" like cases.
20318 Reported by: Jordan Uggla.
20320 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
20321 string arguments before shell expansion.
20322 * tests/grub_cmd_echo.in: New testcases.
20324 2010-11-07 Robert Millan <rmh@gnu.org>
20326 * conf/mips-qemu-mips.rmk: Remove stale file from previous
20329 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
20331 * grub-core/kern/emu/hostdisk.c
20332 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
20334 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20336 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
20337 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
20338 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
20340 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20342 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
20344 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20346 * util/grub-install.in: Replace useless recomendation to pass
20347 --modules with a recomendation to report a bug.
20349 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
20351 Properly register serial terminfo.
20352 Reported by: Jordan Uggla
20354 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
20356 (grub_serial_terminfo_output_template): Likewise.
20357 (grub_cmd_serial): Register "serial" with terminfo.
20358 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
20359 grub_serial_terminfo_output.
20361 2010-11-05 Robert Millan <rmh@gnu.org>
20363 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
20366 2010-11-05 Robert Millan <rmh@gnu.org>
20368 On Yeeloong, pass machine type information to Linux.
20370 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
20371 (LOONGSON_MACHTYPE): New macro, set to
20372 "machtype=lemote-yeeloong-2f-8.9inches".
20373 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
20374 additional argument to Linux.
20376 2010-11-04 Robert Millan <rmh@gnu.org>
20378 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
20379 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
20380 (its SATA disks are detected as slaveless IDE master drives on
20382 Reported by Carsten Aulbert.
20384 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
20386 * util/bin2h.c (main): Fix spelling error in generated output.
20388 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
20390 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
20392 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20394 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
20395 vga= option is supplied.
20397 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20399 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
20400 * util/grub.d/10_kfreebsd.in: Likewise.
20401 * util/grub.d/10_linux.in: Likewise.
20402 * util/grub.d/20_linux_xen.in: Likewise.
20404 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20406 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
20407 argument as an argument to no-argument option.
20409 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20411 * util/grub.d/10_linux.in: Add missing load_video with explicit
20412 GRUB_GFXPAYLOAD_LINUX.
20414 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20416 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
20418 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20420 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
20421 elements with invlid index.
20422 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
20423 * grub-core/disk/raid.c (insert_array): Automatically reallocate
20425 * include/grub/raid.h (grub_raid_member): New struct.
20426 (grub_raid_array): Transform devices and start_sector into usage of
20427 grub_raid_member. All users updated
20428 (allocated_devs): New member.
20430 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
20432 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
20435 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
20437 NetBSD build fix for getline function conflict from gnulib.
20439 * Makefile.util.def (libgrubkern.a): New library for grub kernel
20440 components that depend on gnulib headers.
20441 (libgrubmods.a): Renamed from earlier libgrub.a.
20442 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
20444 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20446 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
20447 install rather than creating a broken install.
20449 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20451 * util/grub-setup.c (argp): Remove misleading example of installing to
20454 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20456 * util/grub-setup.c (setup): Clarify the error message.
20458 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
20460 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
20462 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20464 * grub-core/kern/emu/misc.c
20465 (grub_make_system_path_relative_to_its_root)
20466 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
20468 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
20470 * grub-core/kern/emu/misc.c
20471 (grub_make_system_path_relative_to_its_root): Revert r2882.
20473 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
20475 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
20476 useless field head. All users updated.
20477 (free_subchunk): Correct handling of IN_REGION subchunk.
20479 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
20481 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
20482 (Supported kernels): Likewise.
20484 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20486 Make mktemp invocations portable.
20488 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
20489 exit if mktemp fails.
20490 * tests/grub_script_blockarg.in: Likewise.
20491 * tests/partmap_test.in: Likewise.
20492 * tests/util/grub-shell-tester.in: Likewise.
20493 * tests/util/grub-shell.in: Likewise.
20494 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
20495 * Makefile.am: Likewise, and chain shell commands with `&&'
20497 * util/grub-mkrescue.in: Use the same explicit template as above, and
20498 exit if mktemp fails.
20500 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
20502 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
20503 Linux kernel, reported by Dennis Schridde.
20505 2010-10-17 Szymon Janc <szymon@janc.net.pl>
20507 * grub-core/normal/auth.c (grub_auth_check_authentication):
20508 Set-but-not-used variable removed.
20510 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20512 * docs/grub.texi (GNU/Linux): Document APM unavailability with
20513 32-bit linux protocol.
20515 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20517 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
20518 cursor shape for sanity.
20520 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20522 * docs/grub.texi (Installation): Document buggy BIOS install.
20524 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20526 * docs/grub.texi (Installation): Indent.
20528 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20530 * util/grub-setup.c (setup): New parameter allow_floppy.
20531 (arguments): New member allow_floppy.
20532 (argp_parser): Handle --allow-floppy.
20533 (main): Pass allow_floppy.
20534 * util/grub-install.in: New option --allow-floppy passed though to
20537 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20539 * util/grub-install.in: Handle partitionless disks.
20541 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
20543 * util/grub-setup.c (setup): Don't clean blocklists before readability
20546 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20548 * docs/grub.texi (Installation): Document embedding zone. Remove
20549 obsolete grub-install example.
20551 2010-10-16 Szymon Janc <szymon@janc.net.pl>
20553 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
20554 Set-but-not-used variable ifdef'ed.
20555 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
20556 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
20558 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
20559 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
20560 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
20561 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
20562 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
20563 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
20564 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
20565 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
20566 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
20567 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
20568 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
20571 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20573 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
20574 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
20577 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20579 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
20580 synonym to _S5_. Needed for some DSDTs.
20582 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20584 Userspace ACPI parser debugging.
20586 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
20587 headers and add relevant defines. Don't include standard headers.
20588 (main) [GRUB_DSDT_TEST]: New function.
20589 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
20590 Don't declare functions.
20592 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20594 Remove dead grub_efi_mm_fini.
20596 * grub-core/kern/efi/mm.c (allocated_page): Removed.
20597 (ALLOCATED_PAGES_SIZE): Likewise.
20598 (MAX_ALLOCATED_PAGES): Likewise.
20599 (allocated_pages): Likewise.
20600 (grub_efi_allocate_pages): Don't record allocated pages.
20601 (grub_efi_free_pages): Likewise.
20602 (grub_efi_mm_init): Likewise.
20603 (grub_efi_mm_fini): Removed.
20605 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20607 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
20608 (grub_efi_mm_init): Take into account the memory map size increase.
20610 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20612 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
20613 (serial_hw_put): Wait based on real time rather than port reads. Don't
20615 * include/grub/serial.h (grub_serial_port): New field broken.
20617 2010-10-16 Robert Millan <rmh@gnu.org>
20619 * grub-core/kern/emu/misc.c
20620 (grub_make_system_path_relative_to_its_root): Fix premature return
20621 when processing non-root ZFS filesystems.
20622 Reported by Sergio Talens-Oliag.
20624 2010-10-15 Robert Millan <rmh@gnu.org>
20626 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
20627 guarantee compressed ones are processed first.
20629 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20631 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
20632 grub_efiemu_autocore.
20634 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
20636 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
20638 (grub_console_getkey): Use correct jae opcode rather than ja.
20640 2010-10-12 Robert Millan <rmh@gnu.org>
20642 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
20643 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
20644 variable. All references updated.
20646 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
20648 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
20650 Correctly distinguish mdraid flavours.
20652 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
20653 (insert_array): New argument raid.
20654 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
20655 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
20656 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
20658 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
20660 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
20661 handling of special keys.
20663 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20665 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
20666 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
20668 2010-10-02 Aleš Nesrsta <starous@volny.cz>
20670 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
20671 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
20673 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
20674 Use right endpoint when querying descriptor.
20676 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20678 Clear out 0x80 color bit on EFI.
20680 Reported by: decoder and meta tech.
20682 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
20683 (grub_console_setcolorstate): Clear out 0x80 bit.
20684 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
20685 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
20686 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
20688 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
20690 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
20693 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20695 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
20696 mo_file after freeing.
20698 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20700 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
20702 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20704 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
20707 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20709 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
20712 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
20714 Put terminfo into core on ieee1275 and yeeloong (needed for console).
20716 * gentpl.py: New groups terminfoinkernel and terminfomodule.
20717 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
20718 and terminfo.h when needed.
20719 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
20720 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
20721 (terminfo): Enable only on terminfokernel.
20722 (extcmd): Likewise.
20723 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
20724 * include/grub/lib/arg.h: Likewise.
20725 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
20726 incorrect usage of ->.
20728 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20730 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
20731 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
20733 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20735 Fix coreboot compilation.
20737 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
20738 Take VBE info into account even if only text is supported.
20739 (fill_vbe_info): Take into account the case when only VGA text
20741 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
20742 on coreboot, multiboot and qemu.
20744 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20746 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
20748 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
20750 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20752 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
20755 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20757 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
20758 if they were BSD-style.
20760 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20762 * grub-core/boot/i386/pc/lnxboot.S: Replace
20763 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
20764 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
20766 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
20768 Write embedding zone using Reed-Solomon.
20770 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
20771 * grub-core/Makefile.am (rs_decoder.S): New target.
20772 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
20773 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
20774 (multiboot): Move to RS part.
20775 (post_reed_solomon): New label.
20776 (grub_boot_drive): Move to non-RS part since it's modified in memory
20778 Include rs_decoder.S.
20779 * grub-core/lib/reed_solomon.c: New file.
20780 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
20782 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
20783 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
20784 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
20785 * include/grub/partition.h (grub_partition_map): Change prototype of
20786 embed to allow returning additional sectors.
20787 * include/grub/reed_solomon.h: New file.
20788 * util/grub-setup.c (setup): Handle Reed-Solomon.
20790 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
20792 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20793 i386 and x86-64 definedness tests.
20795 2010-09-27 Yves Blusseau <blusseau@zetam.org>
20797 Fix generation of kernel_syms.lst
20799 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
20802 2010-09-26 Robert Millan <rmh@gnu.org>
20804 Support degraded ZFS arrays in "grub-probe -t device" resolution.
20806 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
20807 the pool is an array of devices, iterate through it and return the
20808 first device that passes a stat() test (instead of blindly returning
20811 2010-09-26 Robert Millan <rmh@gnu.org>
20813 Build fixes for GNU/kFreeBSD.
20815 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
20816 to programs that require ZFS conversion.
20817 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
20818 kernels that don't have FLOPPY_MAJOR.
20820 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20822 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
20824 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
20826 Fix grub-emu build.
20828 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
20829 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
20830 mdraid09 and mdraid1x.
20832 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
20834 Re-enable grub-extras.
20836 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
20837 avoid confusing Automake. Run autogen only twice, once for the top
20838 level and once for grub-core. Add Makefile.util.def and
20839 Makefile.core.def from extra modules to the appropriate autogen
20840 invocations. If Makefile.common exists in an extra module, include
20841 it in both Makefile.util.am and grub-core/Makefile.core.am;
20842 similarly, include any Makefile.util.common file in Makefile.util.am
20843 and any Makefile.core.common file in grub-core/Makefile.core.am.
20844 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
20845 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
20846 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
20847 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
20849 * gentpl.py (gvar_add): Turn GVARS into a set.
20850 (global_variable_initializers): Sort global variables on output.
20851 (vars_init): New function.
20852 (first_time): Likewise.
20853 (library): Ensure that non-global variable initialisations are
20854 emitted before the first time we emit code for a library block.
20855 Append to variables rather than setting them. Only emit
20856 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
20857 each conditional path.
20858 (program): installdir() emits an Autogen macro, so must be passed to
20859 var_add rather than gvar_add.
20861 (script): Likewise.
20862 (rules): New function, centralising handling for different target
20863 types. Set up Guile association lists for first_time and vars_init,
20864 and send most output to a diversion so that variable initialisations
20865 can be emitted first.
20866 (module_rules): Use new rules function.
20867 (kernel_rules): Likewise.
20868 (image_rules): Likewise.
20869 (library_rules): Likewise.
20870 (program_rules): Likewise.
20871 (script_rules): Likewise.
20872 (data_rules): Likewise.
20874 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
20876 * .bzrignore: Add contrib and grub-core/contrib. Remove
20877 grub-core/Makefile.gcry.am.
20879 2010-09-24 Yves Blusseau <blusseau@zetam.org>
20881 * grub-core/lib/LzFind.c: Add missing include.
20882 * grub-core/lib/LzmaEnc.c: Likewise.
20883 * grub-core/script/lexer.c: Likewise.
20884 * grub-core/script/yylex.l: Likewise.
20885 * util/grub-macho2img.c: Likewise.
20886 * util/grub-menulst2cfg.c: Likewise.
20887 * util/grub-mklayout.c: Likewise.
20888 * util/grub-mkpasswd-pbkdf2.c
20889 * util/grub-mkrelpath.c: Likewise.
20890 * util/resolve.c: Likewise.
20892 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
20894 * Makefile.util.def (example_unit_test): Add
20895 grub-core/gnulib/libgnu.a.
20897 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
20899 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
20901 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
20903 Support xz compression on yeeloong.
20905 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
20906 * configure.ac: Check for LZMA.
20907 * grub-core/Makefile.core.def (xz_decompress): New target.
20908 (none_decompress): Likewise.
20909 * grub-core/boot/decompressor/minilib.c: New file.
20910 * grub-core/boot/decompressor/none.c: Likewise.
20911 * grub-core/boot/decompressor/xz.c: Likewise.
20912 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
20913 * grub-core/kern/mips/cache_flush.S: Likewise.
20914 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
20915 * grub-core/kern/mips/startup.S: Move first stage to ...
20916 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
20918 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
20919 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
20920 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
20921 Allocate statically.
20922 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
20923 Allocate statically or use scratch. Don't check CRC32.
20924 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
20925 Allocate statically. Don't check CRC32.
20926 * include/grub/decompressor.h: New file.
20927 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
20929 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
20930 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
20931 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
20932 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
20933 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
20934 * util/grub-mkimage.c (grub_compression_t): New type.
20935 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
20936 (image_target_desc): New field default_compression.
20937 (image_targets): Adjust yeeloong targets.
20938 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
20939 (compress_kernel): New parameter comp.
20940 (generate_image): Likewise. Handle new compression case.
20941 (options): New option --compression
20943 (main): Handle new option.
20945 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
20947 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
20949 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
20951 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
20952 typo in __i386__ conditional.
20954 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20956 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
20959 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
20961 Implement EFI and ACPI multiboot2 extensions.
20963 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
20964 new tags as supported.
20965 (acpiv2_size): New function.
20966 (grub_multiboot_get_mbi_size): Take new tags into account.
20967 (grub_multiboot_make_mbi): Add new tags.
20968 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
20970 2010-09-21 Aleš Nesrsta <starous@volny.cz>
20972 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
20973 Added missing configuration of USB device.
20975 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20977 * grub-core/normal/menu_entry.c (run): Make sure we always return
20980 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20982 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
20983 NumberOfPages is UINT64 according to the UEFI specification, not
20984 UINTN. Fix printf format.
20986 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20988 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
20989 `err' to grub_usb_err_t.
20990 Reported and tested by: KESHAV P.R.
20992 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
20994 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
20995 tpart non-const, so that we can assign to it. (Since this is a
20996 typedef, the constness refers to the pointer rather than what it
20999 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21001 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
21002 $(top_srcdir)/grub-core/gnulib as well as
21003 $(top_builddir)/grub-core/gnulib.
21004 Reported by: KESHAV P.R.
21006 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21008 * util/grub-install.in: Fix the bootloader ID option to be
21009 consistently --bootloader-id, not --bootloader_id.
21010 Reported by: KESHAV P.R.
21012 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21014 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
21015 check hash checksum." consistently translatable.
21017 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21019 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
21022 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21024 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
21025 (GRUB_MOD_INIT): Register sha1sum command.
21026 (GRUB_MOD_FINI): Unregister sha1sum command.
21028 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21030 Keep boot and grub directory names in sync with utils scripts
21032 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
21033 * config.h.in: Add previous macros.
21034 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
21035 * util/grub-install.in: Use $bootdir and $grubdir variables.
21037 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21039 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
21040 convert partition names to disk names if the new `convert' parameter
21042 (grub_util_biosdisk_get_grub_dev): If opening the disk device
21043 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
21044 disk in its own right. This can happen with Xen disk images.
21046 2010-09-21 Yves Blusseau <blusseau@zetam.org>
21048 * util/grub-editenv.c: Update strings to avoid warnings when generating
21050 * util/grub-setup.c: Likewise.
21052 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21054 * configure.ac: Change version to 1.99~beta0.
21056 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
21058 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21060 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
21062 * include/multiboot.h: Resynced with specification.
21063 * include/multiboot2.h: Likewise.
21065 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
21067 Fix po directory handling.
21069 * configure.ac: Create po/Makefile.in rather than po/Makefile.
21070 * grub-core/gnulib/Makefile.am: Import gettext module.
21071 * m4/gnulib-cache.m4: Likewise.
21072 * m4/gnulib-comp.m4: Likewise.
21073 * m4/gettext.m4: New file, from gnulib.
21074 * m4/glibc2.m4: Likewise.
21075 * m4/iconv.m4: Likewise.
21076 * m4/intdiv0.m4: Likewise.
21077 * m4/intl.m4: Likewise.
21078 * m4/intldir.m4: Likewise.
21079 * m4/intlmacosx.m4: Likewise.
21080 * m4/intmax.m4: Likewise.
21081 * m4/inttypes-pri.m4: Likewise.
21082 * m4/lcmessage.m4: Likewise.
21083 * m4/lib-ld.m4: Likewise.
21084 * m4/lib-link.m4: Likewise.
21085 * m4/lib-prefix.m4: Likewise.
21086 * m4/lock.m4: Likewise.
21087 * m4/nls.m4: Likewise.
21088 * m4/po.m4: Likewise.
21089 * m4/printf-posix.m4: Likewise.
21090 * m4/progtest.m4: Likewise.
21091 * m4/threadlib.m4: Likewise.
21092 * m4/uintmax_t.m4: Likewise.
21093 * m4/visibility.m4: Likewise.
21094 * po/Makefile.am: Remove.
21095 * po/Makefile.in.in: New file, from gettext.
21096 ($(DOMAIN).pot-update): Support POTFILES-shell.
21097 * po/Makevars: New file.
21098 * po/POTFILES-shell: Rename to ...
21099 * po/POTFILES-shell.in: ... this. Update.
21100 * po/POTFILES: Rename to ...
21101 * po/POTFILES.in: ... this. Update.
21102 * po/Rules-quot: New file, from gettext.
21103 * po/boldquot.sed: Likewise.
21104 * po/en@boldquot.header: Likewise.
21105 * po/en@quot.header: Likewise.
21106 * po/insert-header.sin: Likewise.
21107 * po/quot.sed: Likewise.
21108 * po/remove-potcdate.sin: Likewise.
21110 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21112 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
21114 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21116 * util/grub.d/20_linux_xen.in: Use submenus.
21118 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21122 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
21123 parameter submenu. All users updated.
21124 * grub-core/normal/main.c (free_menu): Rename to ...
21125 (grub_normal_free_menu): ... this. Made global.
21126 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
21128 * grub-core/normal/menu_entry.c (screen): New field submenu.
21129 (make_screen): Set submenu.
21130 (run): Open new context if requested.
21131 * include/grub/menu.h (grub_menu_entry): New field submenu.
21132 * include/grub/normal.h (grub_normal_free_menu): New proto.
21134 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21136 Menu entries extractor.
21138 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
21140 (GRUB_MOD_INIT): Register new variants.
21141 (GRUB_MOD_FINI): Unregister new variants.
21142 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
21143 into grub_cmd_legacy_source.
21144 (grub_cmd_legacy_source): Implement extractor variants.
21145 (GRUB_MOD_INIT): Register new variants.
21146 (GRUB_MOD_FINI): Unregister new variants.
21147 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
21149 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
21150 search as an extractor.
21151 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
21152 test as an extractor.
21153 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
21155 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
21156 (grub_env_new_context): New function.
21157 (grub_env_context_open): Likewise.
21158 (grub_env_extractor_open): Likewise.
21159 (grub_env_extractor_close): Likewise.
21160 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
21161 grub_extractor_level.
21162 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
21163 * include/grub/env.h (grub_env_extractor_open): New proto.
21164 (grub_env_extractor_close): Likewise.
21165 * include/grub/normal.h (grub_extractor_level): New external variable.
21167 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21169 Make cutmem accept a region specification.
21170 Suggested by: Samuel Thibault
21172 * grub-core/mmap/mmap.c (parsemem): New function.
21173 (grub_cmd_cutmem): Handle new arguments.
21175 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21177 New command cutmem.
21179 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
21180 (GRUB_MOD_INIT): Register new command.
21181 (GRUB_MOD_FINI): Unregister new command.
21183 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21185 Support some annoying BSD and Minix subpartitions.
21187 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
21188 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
21189 Properly handle concatenation.
21190 * grub-core/kern/device.c (grub_device_iterate): Likewise.
21191 * grub-core/normal/completion.c (iterate_partition): Likewise.
21192 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
21193 contain partition. All users updated.
21194 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
21196 (grub_openbsdlabel_partition_map): Likewise.
21197 (bsdlabel_partition_map_iterate): Rename to ..
21198 (iterate_real): ... this. New arguments sector, freebsd and pmap.
21199 (bsdlabel_partition_map_iterate): New function.
21200 (netopenbsdlabel_partition_map_iterate): Likewise.
21201 (netbsdlabel_partition_map_iterate): Likewise.
21202 (openbsdlabel_partition_map_iterate): Likewise.
21203 (GRUB_MOD_INIT): Register new partmaps.
21204 (GRUB_MOD_FINI): Unregister new partmaps.
21205 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
21206 (grub_partition_msdos_iterate): ... this. All users updated.
21207 Don't support embedding other than in a minix partition.
21208 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
21210 * include/grub/partition.h (grub_partition): New field msdostype.
21211 * util/grub-install.in: Handle openbsd and netbsd types being in
21214 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21216 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
21218 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
21219 * grub-core/Makefile.core.def (mdraid): Renamed to ...
21220 (mdraid09): ... this.
21221 (mdraid1x): New module.
21222 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
21223 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
21225 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21227 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
21230 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21232 * grub-core/commands/efi/lsefimmap.c: Correct header.
21235 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21237 * util/grub-editenv.c (argp_parser): Don't pass translated strings
21238 as printf format strings; the translations might contain '%' which
21239 could cause a crash.
21241 * util/grub-fstest.c (argp_parser): Likewise.
21242 * util/grub-setup.c (argp_parser): Likewise.
21245 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21247 Use argp in grub-fstest.
21249 * util/grub-fstest.c: Don't include getopt.h.
21251 (root): New variable.
21252 (args_count): Likewise.
21254 (num_disks): Likewise.
21255 (images): Likewise.
21257 (debug_str): Likewise.
21259 (options): Transformed to argp.
21261 (main): Split argument parsing into ...
21262 (argp_parser): ... this. Changed to argp format.
21263 (argp): New variable.
21264 (main): Use argp_parse.
21266 2010-09-20 Tristan Gingold <gingold@free.fr>
21267 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
21268 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21270 * grub-core/commands/efi/lsefimmap.c: New file.
21271 * grub-core/Makefile.core.def (lsefimmap): New module.
21272 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
21274 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21276 Pause the execution (10s max) if any errors are displayed so the user
21277 has a chance to see them.
21279 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
21280 (grub_print_error): Increment grub_err_printed_errors.
21281 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
21282 execution if any errors were displayed.
21283 (show_menu): Remove old code for pause.
21284 * grub-core/normal/menu_entry.c (run): Likewise.
21285 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
21287 (grub_normal_get_char_counter): Likewise.
21288 * include/grub/err.h (grub_err_printed_errors): New external variable.
21289 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
21291 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21293 Support multiboot VBE info.
21295 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
21296 Take VBE info into account.
21297 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
21298 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21299 Call fill_vbe_info when appropriate.
21300 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
21301 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
21303 (grub_multiboot_get_mbi_size): Take new tags into account.
21304 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
21305 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
21306 Call fill_vbe_tag when appropriate.
21307 (grub_multiboot_make_mbi): Properly align tags.
21308 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
21310 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
21312 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
21314 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21316 Suport manual terminal geometry specification.
21318 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
21319 Save state in grub_ofconsole_terminfo_output.
21320 (grub_ofconsole_term): Use grub_terminfo_getwh.
21321 (grub_ofconsole_getwh): Removed.
21322 * grub-core/term/serial.c (grub_serial_getwh): Removed.
21323 (grub_serial_term): Use grub_terminfo_getwh.
21324 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
21325 (options): New struct.
21326 (OPTION_*): New enum.
21327 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
21328 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
21330 (grub_terminfo_getwh): New proto.
21331 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
21333 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21335 Handle legacy "terminal" command.
21337 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
21339 (legacy_commands): Add terminal and title.
21340 (grub_legacy_parse): Handle terminal. Simplify title handling.
21342 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21344 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
21345 parameters overflow.
21347 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21349 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
21352 * docs/grub.texi (Shell-like scripting): Document `!'.
21353 (Network): Simplify using new i386-pc-pxe format. Mention
21358 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21360 * Makefile.am (SUBDIRS): Restore "."; it's important to force
21361 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
21364 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21366 * grub-core/commands/efi/lsefisystab.c: Correct header.
21367 * grub-core/commands/efi/lssal.c: Likewise.
21368 * grub-core/commands/testload.c: Likewise.
21370 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21372 * util/grub-mkrescue.in: Add explicit root argument to --set to
21373 prevent the UUID being interpreted as an argument to --set (matches
21374 previous change to prepare_grub_to_access_device).
21376 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
21378 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
21379 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
21380 the verbosity of later #ifs.
21381 (find_partition_start): Define this function on FreeBSD too.
21382 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
21384 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
21387 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21389 * util/grub-editenv.c: Use argp instead of getopt.
21391 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21393 * util/grub-setup.c: Use argp instead of getopt.
21395 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21397 Use gnulib-tool to create gnulib source files.
21399 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
21400 grub-core/gnulib directories
21401 * .bzignore: Add **/.deps and autogenerated gnulib files
21402 * configure.ac: Assign auxiliary directory to build-aux, add invocation
21403 of gnulib macros, add grub-core/gnulib/Makefile
21404 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
21405 include m4 directory to aclocal.
21406 * Makefile.util.def: Remove direct compilation of gnulib source files
21407 and use the new grub-core/gnulib/libgnu.a.
21408 * build-aux/config.rpath: move config.rpath from top directory to
21410 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
21412 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
21413 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
21414 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
21416 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
21419 2010-09-20 Yves Blusseau <blusseau@zetam.org>
21421 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
21422 grub-core/genmod.sh and grub-core/gensyminfo.sh
21424 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
21426 Add a test for echo command options.
21428 * tests/grub_cmd_echo.in: New test.
21429 * Makefile.util.def: Rules for new test.
21431 2010-09-20 Szymon Janc <szymon@janc.net.pl>
21433 Remove crc.mod and move crc command to hashsum.mod.
21434 Remove lib/crc.c - users updated to use gcrypt implementation.
21436 * grub-core/commands/crc.c: Removed.
21437 * grub-core/Makefile.core.def (crc): Module removed.
21438 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
21439 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
21440 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
21441 * grub-core/lib/crc.c: Removed.
21442 * include/grub/lib/crc.h: Removed.
21443 * Makefile.util.def (crc): Remove lib/crc.c
21444 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
21445 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
21446 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
21447 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
21448 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
21449 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
21451 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
21453 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
21455 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21457 Split config.h for util and core.
21459 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
21460 (ADDR32): Likewise.
21461 (DATA32): Likewise.
21462 (BSS_START_SYMBOL): Likewise.
21463 (END_SYMBOL): Likewise.
21464 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
21465 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
21466 * config.h.in: New file.
21467 * configure.ac: Use config-util.h as config define file.
21468 Rename MACHINE into GRUB_MACHINE. All users updated.
21469 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
21471 (NESTED_FUNC_ATTR): Likewise.
21472 Substitue new variables.
21473 (COND_HAVE_ASM_USCORE): New conditional.
21474 * grub-core/Makefile.am (ASM_PREFIX): New variable.
21475 (kernel_syms.lst): Use ASM_PREFIX.
21476 * grub-core/kern/emu/console.c: Include config-util.h.
21477 * grub-core/kern/emu/misc.c: Likewise.
21478 * grub-core/kern/emu/mm.c: Likewise.
21479 * include/grub/emu/misc.h: Likewise.
21480 * include/grub/libgcc.h: Likewise.
21482 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21484 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
21486 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
21487 Fix GRUB_TERM_KEY_* constants usage.
21488 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
21490 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21492 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
21494 * grub-core/bus/usb/uhci.c: Remove empty define.
21495 (grub_uhci_check_transfer): Add missing cast.
21496 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
21498 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
21500 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
21502 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21504 * grub-core/Makefile.core.def (legacycfg): Add
21505 lib/i386/pc/vesa_modes_table.c on emu.
21507 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21509 Reduce number of temporary files generated by build system.
21511 * grub-core/gencmdlist.sh: Removed.
21512 * grub-core/genfslist.sh: Removed.
21513 * grub-core/genhandlerlist.sh: Removed.
21514 * grub-core/genmodsrc.sh: Removed.
21515 * grub-core/genpartmaplist.sh: Removed.
21516 * grub-core/genparttoollist.sh: Removed.
21517 * grub-core/gentermiinallist.sh: Removed.
21518 * grub-core/genvideolist.sh: Removed.
21520 * grub-core/genmod.sh.in: New file.
21521 * grub-core/gensyminfo.sh.in: New file.
21523 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
21524 * conf/Makefile.extra-dist: Update with new files.
21525 * gentpl.py: Remove rules related to unnecessary temporary files.
21526 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
21528 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
21530 * grub-core/bus/usb/uhci.c: Remove empty #define.
21531 * grub-core/genmoddep.awk: Updated with new syminfo format.
21532 * util/bash-completion.d/Makefile.am: Add config.log to
21535 2010-09-19 Yves Blusseau <blusseau@zetam.org>
21537 * Makefile.util.def: Add forgotten $(LIBINTL) library.
21539 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
21541 * util/grub-mkconfig.in: Check the config script for syntax errors
21544 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
21545 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21547 * Makefile.util.def (grub-install): Use util/grub-install.in on all
21549 * util/grub-install.in: Add EFI and IEEE1275 support.
21550 * util/i386/efi/grub-install.in: Removed.
21551 * util/ieee1275/grub-install.in: Likewise.
21553 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
21555 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
21556 (grub_cmd_cmosclean): Likewise.
21557 (GRUB_MOD_INIT): Register command cmosclean.
21558 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
21559 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
21561 2010-09-18 Carles Pina i Estany <carles@pina.cat>
21562 2010-09-18 Aleš Nesrsta <starous@volny.cz>
21563 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21565 Add keyboard layouts support.
21567 * Makefile.util.def (grub-mklayout): New file.
21568 (grub-kbdcomp): New script.
21569 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
21570 Add keyboard_layouts.h.
21571 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
21572 commands/boot.c on yeeloong.
21573 (keylayouts): New module.
21574 * grub-core/bus/usb/ohci.c
21575 * grub-core/bus/usb/uhci.c
21576 * grub-core/bus/usb/usbhub.c (rescan): New variable.
21577 (grub_usb_add_hub): Poll interrupt pipe for device handling.
21578 (attach_root_port): Likewise.
21579 (poll_nonroot_hub): Likewise.
21580 (grub_usb_poll_devices): Likewise.
21581 (detach_device): Close transfer.
21582 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
21584 (grub_usb_bulk_setup_readwrite): Likewise.
21585 (grub_usb_bulk_finish_readwrite): Likewise.
21586 * grub-core/commands/keylayouts.c: New file.
21587 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
21588 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
21590 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
21591 support scancode 2.
21592 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
21593 * include/grub/keyboard_layouts.h: New file.
21594 * util/grub-mklayout.c: New file.
21595 * util/grub-kbdcomp.in: Likewise.
21597 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21599 Unify memory types.
21601 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
21602 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
21604 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
21605 (grub_upper_mem): Likewise.
21606 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
21607 * include/grub/memory.h (grub_memory_type_t): New enum.
21610 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21612 * grub-core/Makefile.core.def (lsapm): New module.
21613 * grub-core/commands/i386/pc/lsapm.c: New file.
21614 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
21615 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
21617 * include/grub/i386/pc/apm.h: New file.
21618 * include/multiboot.h (multiboot_apm_info): New struct.
21620 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
21622 GRUB-legacy configuration file support.
21624 * Makefile.util.def (grub-menulst2cfg): New util.
21625 * docs/man/grub-menulst2cfg.h2m: New file.
21626 * grub-core/Makefile.core.def (legacycfg): New module.
21627 * grub-core/commands/legacycfg.c: New file.
21628 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
21629 (grub_normal_add_menu_entry): ... this.
21630 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
21631 (grub_normal_set_password): ...this.
21632 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
21633 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
21634 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
21635 * grub-core/lib/legacy_parse.c: New file.
21636 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
21637 * include/grub/i386/pc/vesa_modes_table.h: New file.
21638 * include/grub/legacy_parse.h: Likewise.
21639 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
21640 * util/grub-menulst2cfg.c: New file.
21642 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21644 * grub-core/kern/emu/hostdisk.c
21645 (convert_system_partition_to_system_disk): Initialise node.
21647 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21649 * grub-core/kern/emu/hostdisk.c
21650 (convert_system_partition_to_system_disk): Fix devmapper memory pool
21652 Reported and based on patch by: Modestas Vainius.
21654 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
21656 Fix DM-RAID probing with recent versions of device-mapper udev
21659 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
21660 canonicalise device paths under /dev/mapper/.
21661 (convert_system_partition_to_system_disk): Compare the
21662 uncanonicalised path to /dev/mapper/ rather than the canonicalised
21663 path, since device nodes under /dev/mapper/ are often symlinks.
21665 2010-09-17 Yves Blusseau <blusseau@zetam.org>
21667 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
21669 2010-09-16 Yves Blusseau <blusseau@zetam.org>
21671 * configure.ac: Avoid some annoying error messages if freetype-config
21672 program is not found.
21674 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21676 Support RAID on virtio devices, and others.
21678 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
21680 [__MINGW32__] (grub_find_device): ... this.
21681 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
21682 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
21683 reasonable default if dir is NULL.
21684 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
21686 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
21687 (grub_guess_root_device): Update callers.
21688 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
21690 * util/raid.c (grub_util_getdiskname): Remove.
21691 (grub_util_raid_getmembers): Use grub_find_device rather than
21692 grub_util_getdiskname.
21694 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21696 * docs/grub.texi (serial): Remove obsolete comment about GRUB
21697 needing to be compiled with serial support.
21698 (ls): Indicate that multiple files are accepted.
21699 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
21700 indicate that multiple files are accepted.
21702 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
21704 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
21705 libgrub_a_init.c, and util/bash-completion.d/grub.
21707 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21709 * util/grub-setup.c (setup): Fix incorrect container semantics.
21711 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21713 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
21715 Reported by: J. Nick Terry
21717 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21719 Move embedding routines to partmap sources files.
21721 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
21722 [GRUB_UTIL]: New variable.
21723 (gpt_partition_map_iterate): Set part.parent.
21724 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
21725 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
21726 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
21728 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
21729 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
21730 (grub_partition_map) [GRUB_UTIL]: New field embed.
21731 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
21732 (setup): Use ->embed.
21734 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21736 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
21738 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
21739 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
21741 2010-09-15 Yves Blusseau <blusseau@zetam.org>
21743 Add function to get completions from usage.
21745 * util/bash-completion.d/grub-completion.bash.in: Add function to get
21746 completions from usage. Use LC_ALL=C to get options properly.
21748 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21750 * grub-core/gnulib/basename-lgpl.c: Imported.
21751 * grub-core/gnulib/basename.c: Likewise.
21752 * grub-core/gnulib/dirname-lgpl.c: Likewise.
21753 * grub-core/gnulib/dirname.c: Likewise.
21754 * grub-core/gnulib/dirname.h: Likewise.
21755 * grub-core/gnulib/stripslash.c: Likewise.
21757 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21759 * grub-core/gnulib/error.c: Resynced.
21760 * grub-core/gnulib/getopt.c: Likewise.
21761 * grub-core/gnulib/getopt_int.h: Likewise.
21762 * grub-core/gnulib/regex.h: Likewise.
21763 * grub-core/gnulib/regex_internal.c: Likewise.
21764 * grub-core/gnulib/regex_internal.h: Likewise.
21766 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21768 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
21769 CRC calculations and validity checks.
21770 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
21773 2010-09-15 Szymon Janc <szymon@janc.net.pl>
21775 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
21777 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21779 Fix incorrect echo options handling.
21780 Reported by: Yves Blusseau.
21782 * include/grub/command.h (grub_command_flags_t): New flags
21783 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
21784 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
21785 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
21787 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21789 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
21791 (GRUB_COMMAND_FLAG_MENU): Likewise.
21792 (GRUB_COMMAND_FLAG_BOTH): Likewise.
21793 (GRUB_COMMAND_FLAG_TITLE): Removed.
21794 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
21795 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
21796 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
21797 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
21798 (grub_command_flags_t): New enum. All users updated.
21800 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
21802 Fix solaris compilation.
21804 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
21805 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
21806 (grub-emu-list): Likewise.
21808 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21810 Remove deprecated root command.
21812 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
21815 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21817 * util/i386/pc/grub-setup.c: Merge this ...
21818 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
21819 * util/grub-setup.c: ... into this.
21820 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
21823 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21825 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
21828 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21830 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
21833 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21835 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
21836 explicit root argument to set to prevent UUID to be interpreted as
21839 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21841 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
21843 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21845 Don't export grub_gate_a20.
21847 * grub-core/kern/i386/pc/init.c: Remove leftovers.
21848 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
21850 (grub_gate_a20): ... this. All users updated.
21851 * include/grub/i386/pc/init.h: Removed. All users updated.
21853 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21855 Create euro.pf2 which supports most European languages.
21857 * Makefile.am (grubdata_DATA): Add euro.pf2.
21858 (euro.pf2): New target.
21859 (CLEANFILES): Add euro.pf2.
21861 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
21863 * configure.ac: Disable emu-usb by default to prevent inadvertent
21866 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21868 Disable usbserial on grub-emu since our libusb code isn't good enough
21871 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
21872 (usbserial_pl2303): Likewise.
21873 (usbserial_ftdi): Likewise.
21875 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21877 * include/grub/disk.h (grub_disk): Remove has_partitions.
21879 * disk/loopback.c (grub_loopback): Remove has_partitions.
21881 (options): Remove partitions. All users updated.
21882 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
21883 * util/i386/pc/grub-setup.c (setup): copy partition table only when
21884 actual partition table is found.
21886 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21888 Remove readability checks (too many false negatives).
21890 * util/grub-install.in: Remove readability checks.
21891 * util/grub-mkconfig.in: Likewise.
21892 * util/grub.d/10_hurd.in: Likewise.
21893 * util/grub.d/10_kfreebsd.in: Likewise.
21894 * util/grub.d/10_linux.in: Likewise.
21895 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
21898 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21900 Enable acpi shutdown on all ACPI platforms.
21902 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
21903 on coreboo, multiboot and EFI.
21904 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
21905 (grub_acpi_halt): Likewise.
21906 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
21907 (grub_cmd_halt): Don't call grub_acpi_halt directly.
21908 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
21909 * grub-core/lib/i386/halt.c (grub_halt)
21910 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
21912 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21914 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
21917 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21919 * grub-core/video/efi_gop.c: Fix over-80-chars line.
21920 * grub-core/video/efi_uga.c: Likewise.
21922 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21924 Filter devaliases and never open same device twice.
21926 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
21927 (last_ihandle): Likewise.
21928 (ofdisk_hash_ent): New member shortest.
21929 (ofdisk_hash_add): Add canonical path too.
21930 (scan): New function.
21931 (grub_ofdisk_iterate): Iterate over hashed entries.
21932 (compute_dev_path): Don't add :0.
21933 (grub_ofdisk_open): Don't really open the disk.
21934 (grub_ofdisk_close): Avoid closing unrelated disk.
21935 (grub_ofdisk_read): Implement reopen logic.
21936 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
21938 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
21941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21945 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
21946 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
21947 right address. Add sparc64_ieee1275_ldflags.
21948 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
21949 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
21950 to grub_host_to_target_addr
21951 (load_image): Likewise.
21953 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21955 * grub-core/normal/completion.c (complete_file): Handle device
21957 Fix based on patch by Doug Nazar.
21959 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21961 grub-mknetdir script.
21963 * Makefile.util.def (grub-mknetdir): New module.
21964 * tests/util/grub-shell.in: Support boot=net
21965 * util/grub-mknetdir.in: New file.
21967 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
21969 videoinfo on non-vbe.
21971 * grub-core/Makefile.core.def (vbeinfo): Removed.
21972 (vbetest): Removed.
21973 (videoinfo): New module.
21974 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
21975 * grub-core/commands/i386/pc/vbetest.c: Removed.
21976 * grub-core/commands/videoinfo.c: New file.
21977 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
21979 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
21981 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
21982 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
21983 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
21984 mode_number. New parameter mode. All users updated.
21985 (grub_video_gop_iterate): New function.
21986 (grub_video_efi_gop): New member iterate.
21987 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
21988 (grub_vbe_set_video_mode): Remove setting useless fields.
21989 (vbe2videoinfo): New function.
21990 (grub_video_vbe_iterate): Likewise.
21991 (grub_video_vbe_setup): Use vbe2videoinfo.
21992 (grub_video_vbe_print_adapter_specific_info): New function.
21993 (grub_video_vbe_adapter): New fields iterate and
21994 print_adapter_specific_info.
21995 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
21997 (grub_video_mode_info): New field mode_number.
21998 (grub_video_adapter): New fields iterate and
21999 print_adapter_specific_info.
22001 2010-09-13 Tristan Gingold <gingold@free.fr>
22002 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
22003 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22005 * grub-core/commands/efi/lsefisystab.c: New file.
22006 * grub-core/commands/efi/lssal.c: Likewise.
22007 * grub-core/Makefile.core.def (lsacpi): New module.
22008 (lsefisystab): Likewise.
22009 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
22010 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
22011 (grub_efi_sal_system_table): New struct.
22012 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
22013 (grub_efi_sal_system_table_memory_descriptor): Likewise.
22014 (grub_efi_sal_system_table_platform_features): Likewise.
22015 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
22016 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
22017 (grub_efi_sal_system_table_ap_wakeup): Likewise.
22018 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
22020 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22022 Support explicit user claim that a device is BIOS-visible.
22024 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
22025 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
22026 * grub-core/kern/emu/hostdisk.c
22027 (convert_system_partition_to_system_disk): Support mdX.
22028 (find_system_device): New parameter add. All users updated.
22029 (grub_util_biosdisk_is_present): New function.
22030 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
22033 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
22035 Search hints support.
22037 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
22040 2010-09-13 Yves Blusseau <blusseau@zetam.org>
22042 Bash completion script for util commands
22044 * Makefile.am: Add util/bash-completion.d directory
22045 * configure.ac: Likewise.
22046 * util/bash-completion.d/Makefile.am: New file.
22047 * util/bash-completion.d/grub-completion.bash.in: Likewise.
22049 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22051 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
22052 (print_backlog): set backlog_ucs4 and backlog_glyphs.
22053 Reported by: Yves Blusseau.
22055 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22057 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
22058 partition size and offset.
22060 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22062 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
22064 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22066 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
22068 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22070 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
22071 (grub_xvasprintf): Likewise.
22073 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22075 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
22077 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22079 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
22080 args ending with NULL.
22082 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
22084 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
22087 2010-09-11 Szymon Janc <szymon@janc.net.pl>
22089 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
22091 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22093 Shutdown using ACPI.
22095 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
22096 * grub-core/commands/acpihalt.c: New file.
22097 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
22098 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
22099 (grub_acpi_halt): New proto.
22100 (GRUB_ACPI_SLP_EN): New const.
22101 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
22102 (GRUB_ACPI_OPCODE_*): New enum.
22103 (GRUB_ACPI_EXTOPCODE_*): Likewise.
22105 2010-09-11 Tristan Gingold <gingold@free.fr>
22106 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
22107 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22109 * commands/lsacpi.c: New file.
22110 * grub-core/Makefile.core.def (lsacpi): New module.
22111 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
22112 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
22113 (grub_acpi_madt_entry_header): New struct.
22114 (grub_acpi_madt): Likewise.
22115 (grub_acpi_madt_entry_interrupt_override): Likewise.
22116 (grub_acpi_madt_entry_sapic): Likewise.
22117 (grub_acpi_madt_entry_lsapic): Likewise.
22118 (grub_acpi_madt_entry_platform_int_source): Likewise.
22119 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
22120 (PRIuGRUB_UINT32_T): Likewise.
22121 (PRIxGRUB_UINT64_T): Likewise.
22123 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22125 Implement loading palette on ieee1275_fb.
22127 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
22128 (have_setcolors): Likewise.
22129 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
22130 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
22131 (grub_video_ieee1275_set_palette): Implement.
22133 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22134 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
22136 * util/grub-install.in (grub_partition): New variable.
22137 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
22138 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
22139 Fixes a bug reported by Yves Blusseau.
22141 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
22145 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
22146 =grub_cpu_flush_cache on all mips and not only yeeloong.
22147 * configure.ac (COND_mips): New conditional.
22148 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
22150 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
22151 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
22152 [GRUB_LINKER_HAVE_INIT]: New function.
22153 (grub_emu_post_init): Likewise.
22154 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
22155 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
22156 * include/grub/cache.h (_mips): Include mips/cache.h.
22157 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
22158 LVM and RAID prototypes.
22159 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
22160 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
22163 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22165 * util/grub-install.in: Don't try to verify core.img until after
22166 running grub-mkimage to create it.
22168 2010-09-10 Robert Millan <rmh@gnu.org>
22170 * util/grub.d/10_hurd.in: Add misc readability checks.
22171 * util/grub.d/10_kfreebsd.in: Likewise.
22172 * util/grub.d/10_linux.in: Likewise.
22174 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22176 * util/grub-install.in: ${imgext} won't be defined here until the
22177 install branch is merged. For the meantime, only verify core.img on
22178 i386-pc and sparc64-ieee1275 platforms.
22180 2010-09-10 Robert Millan <rmh@gnu.org>
22182 Solaris support in grub_find_zpool_from_dir(). Thanks
22183 Seth Goldberg for referring to getextmntent() facility.
22185 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
22187 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
22189 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
22190 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
22191 method for finding zpool name.
22193 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
22195 grub-fstest needs the host and hostfs modules while other utilities
22196 actively require those modules to be absent, so grub-fstest needs
22197 its own initialisation and finalisation code.
22199 * Makefile.am (grub_fstest.pp): New target.
22200 (grub_fstest_init.lst): Likewise.
22201 (grub_fstest_init.c): Likewise.
22202 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
22204 2010-09-10 Robert Millan <rmh@gnu.org>
22206 * configure.ac: Check for `struct statfs.f_fstypename' and
22207 `struct statfs.f_mntfromname'.
22209 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
22210 kFreeBSD-specific code.
22212 2010-09-10 Robert Millan <rmh@gnu.org>
22214 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
22215 on ZFS. Now non-main filesystems are supported as / too.
22217 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
22219 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
22220 and grub-core/disk/host.c to ...
22221 (grub-fstest): ... here. Having the host disk implementation
22222 present confuses grub-probe and other utility programs.
22224 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
22225 when writing to a file, not when writing to stdout.
22227 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
22229 * tests/partmap_test.in: New test for partitions.
22230 * Makefile.util.def: Rules for new test.
22232 2010-09-09 Robert Millan <rmh@gnu.org>
22234 * util/grub-probe.c (probe): Fix a pair of unhandled error
22237 2010-09-09 Robert Millan <rmh@gnu.org>
22239 Basic Btrfs support (detection and UUID).
22241 * grub-core/fs/btrfs.c: New file.
22242 * Makefile.util.def (library): Register btrfs.c.
22243 * grub-core/Makefile.core.def: Likewise.
22245 2010-09-08 Robert Millan <rmh@gnu.org>
22247 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
22248 with (optional) parameters to specify device and relative path.
22249 * util/grub-install.in: Use is_path_readable_by_grub() to
22250 verify readability of a few critical files.
22251 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
22252 verify readability of grub.cfg.new.
22254 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22256 Split minix.mod into minix.mod and minix2.mod.
22258 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
22259 * grub-core/Makefile.core.def (minix2): New module.
22260 * grub-core/fs/minix.c: Use definitions instead of runtime version
22262 * grub-core/fs/minix2.c: New file.
22264 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22266 Add new --boot-directory option to replace --root-directory
22268 * util/grub-install.in: Add new --boot-directory option
22269 * util/grub-reboot.in: Likewise.
22270 * util/grub-set-default.in: Likewise.
22272 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22274 * util/grub-mkconfig.in: Use new variable.
22276 2010-09-08 Yves Blusseau <blusseau@zetam.org>
22278 * configure.ac: Define some useful variables.
22280 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
22282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
22283 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
22284 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
22285 Use terminfo and don't use cursor-on/cursor-off unless it's known
22287 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
22288 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
22290 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
22292 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
22293 starts with "(,", fill the drive containing the loaded image in
22294 between those two characters, but expect that a full partition
22295 specification including partition map names will follow.
22297 2010-09-08 Robert Millan <rmh@gnu.org>
22299 * configure.ac: Remove `--enable-grub-fstest' option.
22300 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
22302 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
22303 `grub-fstest' instead of `grub-probe' for readability verification.
22304 * util/grub-probe.c (probe): Remove readability verification kludge.
22306 2010-09-08 Robert Millan <rmh@gnu.org>
22308 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
22309 initializing `GRUB_FS'.
22311 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
22313 Not command (!) support to GRUB script.
22315 * tests/grub_script_not.in: New test.
22316 * Makefile.util.def: Rules for new test.
22318 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
22319 ! command as a special case.
22320 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
22322 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22324 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
22327 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22329 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
22331 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
22333 * docs/grub.texi (Shell-like scripting): Documentation for break,
22334 continue, shift and return commands.
22336 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
22338 Rename CD-ROM to cd on BIOS.
22340 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
22342 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
22344 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22346 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
22347 * util/grub-probe.c (main): Likewise.
22348 * util/i386/pc/grub-setup.c (main): Likewise.
22349 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
22350 Reported and debugged by: alexxy
22352 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22354 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
22357 2010-09-05 Jo Shields <directhex@apebox.org>
22359 * util/grub.d/30_os-prober.in: Add missing classes.
22361 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22363 * docs/grub.texi (Theme file format): Document new position format.
22365 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22367 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
22368 a table. Use @code instead of @verbatim.
22370 2010-09-05 Colin D Bennett <colin@gibibit.com>
22372 Gfxmenu documentation.
22374 * docs/grub.texi (Theme file format): New chapter.
22376 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22378 * grub-core/Makefile.core.def (xzio): New module.
22379 * grub-core/io/xzio.c: New file.
22380 * grub-core/lib/xzembed/xz.h: New file (from xembed).
22381 * grub-core/lib/xzembed/xz_config.h: Likewise.
22382 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
22383 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
22384 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
22385 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
22386 * grub-core/lib/xzembed/xz_private.h: Likewise.
22387 * grub-core/lib/xzembed/xz_stream.h: Likewise.
22388 * include/grub/file.h (grub_file_filter_id): New compression filter
22389 GRUB_FILE_FILTER_XZIO.
22391 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22393 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
22394 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
22397 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22399 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
22400 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
22402 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22404 Uncompressed checksum support.
22406 * grub-core/commands/hashsum.c (options): Add option --uncompress.
22407 (check_list): New parameter uncompress.
22408 (grub_cmd_hashsum): Handle --uncompress.
22410 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22412 Reintroduce testload.
22414 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
22416 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
22417 (GRUB_MOD_INIT): New function.
22418 (GRUB_MOD_FINI): Likewise.
22419 * grub-core/Makefile.core.def (testload): New module.
22421 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22423 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
22424 (uint8_t): New type.
22425 (uint16_t): Likewise.
22426 (uint32_t): Likewise.
22427 (uint64_t): Likewise.
22429 2010-09-05 Szymon Janc <szymon@janc.net.pl>
22431 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
22433 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
22435 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
22437 (grub_gzfile_open): Removed. All users updated.
22438 (GRUB_MOD_INIT): New function.
22439 (GRUB_MOD_FINI): Likewise.
22440 * grub-core/kern/file.c (grub_file_filters_all): New variable.
22441 (grub_file_filters_enabled): Likewise.
22442 (grub_file_open): Handle filters.
22443 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
22444 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
22445 * include/grub/file.h (grub_file_filter_id_t): New type.
22446 (grub_file_filter_t): Likewise.
22447 (grub_file_filters_all): New extern variable.
22448 (grub_file_filters_enabled): Likewise.
22449 (grub_file_filter_register): New inline function.
22450 (grub_file_filter_unregister): Likewise.
22451 (grub_file_filter_disable): Likewise.
22452 (grub_file_filter_disable_compression): Likewise.
22453 * include/grub/gzio.h: Removed.
22455 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22457 Filename expansion support for wildcards in GRUB script.
22459 * tests/grub_script_expansion.in: New test.
22460 * Makefile.util.def: Rule for new test.
22462 * grub-core/commands/wildcard.c: New file, implements filename
22463 expansion support for GRUB script.
22464 * grub-core/Makefile.core.def: Rule update for regexp.mod.
22465 * grub-core/script/argv.c: Cosmetic changes.
22466 * grub-core/script/execute.c (grub_script_arglist_to_argv):
22467 Refactored to perform wildcard expansion on arguments.
22468 * include/grub/script_sh.h (grub_script_wildcard_translator): New
22471 * tests/util/grub-shell.in: Fix quoting for read input.
22473 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22475 Support for updating environment variables with matched substrings
22478 * tests/grub_cmd_regexp.in: New test.
22479 * Makefile.util.def: Rule for new test.
22481 * grub-core/commands/regexp.c: New option -s to update environment
22482 variables with regexp matches.
22484 2010-09-04 Szymon Janc <szymon@janc.net.pl>
22486 * include/grub/file.h (grub_file): New member not_easly_seekable.
22487 (grub_file_seekable): New inline function.
22488 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
22490 (grub_gzio_open): Set not_easly_seekable.
22491 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
22492 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
22494 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22496 Support for options to appear multiple times on cmdline.
22498 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
22499 * grub-core/commands/extcmd.c: Support for repeatable option.
22500 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
22501 repeatable option support.
22503 Refactor menuentry into a regular command.
22505 * grub-core/commands/menuentry.c: New file, menuentry command
22507 * grub-core/Makefile.core.def: Rule update for normal.mod.
22508 * grub-core/normal/main.c: Moved menuentry creation to
22509 grub-core/commands/menuentry.c.
22510 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
22511 (grub_menu_execute_entry_real): Removed.
22512 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
22514 (grub_script_execute_menuentry): Removed.
22515 * grub-core/script/parser.y (menuentry): Removed.
22516 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
22517 * grub-core/script/yylex.l (menuentry): Removed.
22518 * include/grub/menu.h (grub_menu_init): New prototype.
22519 (grub_menu_fini): New prototype.
22520 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
22521 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
22522 (grub_script_execute_sourcecode): New prototype.
22524 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22526 "return" command for GRUB script functions.
22528 * tests/grub_script_return.in: New test.
22529 * Makefile.util.def: Rules for new test.
22531 * grub-core/script/execute.c (grub_script_return): New function.
22532 * grub-core/script/main.c: Register/unregister return commaond.
22533 * include/grub/script_sh.h (grub_script_return): New prototype.
22535 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22537 "setparams" command to update positional parameters.
22539 * tests/grub_script_setparams.in: New test.
22540 * Makefile.util.def: Rules for new test.
22542 * grub-core/script/argv.c (grub_script_argv_make): New function.
22543 * grub-core/script/execute.c (replace_scope): New function.
22544 (grub_script_setparams): New function.
22545 * grub-core/script/lexer.c: Remove unused variables.
22546 * grub-core/script/main.c: Register/unregister setparams command.
22547 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
22548 (grub_script_setparams): New prototype.
22550 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22552 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
22555 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22557 Support for passing block of commands as an argument to extcmds.
22559 * Makefile.util.def: Rules for new test.
22560 * tests/grub_script_blockarg.in: New test.
22561 * grub-core/tests/test_blockarg.c: New file, block argument
22562 command used in the test.
22564 * include/grub/extcmd.h (grub_extcmd_context): New struct.
22565 (grub_register_extcmd_prio): New function prototype.
22566 (grub_extcmd_dispatcher): New function prototype.
22567 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
22569 * include/grub/script_sh.h (struct grub_script): New members
22570 `children', `next_siblings' and `refcnt' for block arguments and
22571 reference counting.
22572 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
22573 (grub_script_arg): New member `script' for block argument.
22574 (grub_script_argv): New member `script' for block argument.
22575 (grub_parser_param): New member `scripts' for block argument.
22576 (grub_script_mem_free): New extern function prototype.
22577 (grub_script_ref): New function prototype.
22578 (grub_script_unref): New function prototype.
22580 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
22581 extcmd form to support block arguments.
22582 * grub-core/script/argv.c: Block arguments support.
22583 * grub-core/script/execute.c: Likewise.
22584 * grub-core/script/lexer.c: Likewise.
22585 * grub-core/script/main.c: Likewise.
22586 * grub-core/script/script.c: Likewise.
22587 * grub-core/script/parser.y: Likewise. New `block' and `block0'
22590 * grub-core/commands/acpi.c: Update extcmd implementations with
22591 grub_extcmd_context_t.
22592 * grub-core/commands/cat.c: Likewise.
22593 * grub-core/commands/echo.c: Likewise.
22594 * grub-core/commands/extcmd.c: Likewise.
22595 * grub-core/commands/hashsum.c: Likewise.
22596 * grub-core/commands/hdparm.c: Likewise.
22597 * grub-core/commands/help.c: Likewise.
22598 * grub-core/commands/hexdump.c: Likewise.
22599 * grub-core/commands/i386/cpuid.c: Likewise.
22600 * grub-core/commands/i386/pc/drivemap.c: Likewise.
22601 * grub-core/commands/i386/pc/halt.c: Likewise.
22602 * grub-core/commands/i386/pc/sendkey.c: Likewise.
22603 * grub-core/commands/iorw.c: Likewise.
22604 * grub-core/commands/keystatus.c: Likewise.
22605 * grub-core/commands/loadenv.c: Likewise.
22606 * grub-core/commands/ls.c: Likewise.
22607 * grub-core/commands/lspci.c: Likewise.
22608 * grub-core/commands/memrw.c: Likewise.
22609 * grub-core/commands/probe.c: Likewise.
22610 * grub-core/commands/search_wrap.c: Likewise.
22611 * grub-core/commands/setpci.c: Likewise.
22612 * grub-core/commands/sleep.c: Likewise.
22613 * grub-core/disk/loopback.c: Likewise.
22614 * grub-core/hello/hello.c: Likewise.
22615 * grub-core/loader/i386/bsd.c: Likewise.
22616 * grub-core/loader/xnu.c: Likewise.
22617 * grub-core/term/gfxterm.c: Likewise.
22618 * grub-core/term/serial.c: Likewise.
22619 * grub-core/tests/lib/functional_test.c: Likewise.
22621 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
22623 Multi-line quoted strings support.
22625 * grub-core/script/lexer.c (append_newline): Removed.
22626 (grub_script_lexer_yywrap): Refactored.
22627 (grub_script_lexer_init): Refactored.
22628 * grub-core/script/yylex.l (yywrap): New function.
22629 (grub_lexer_resplit): New function.
22630 (grub_lexer_unput): New function.
22631 * include/grub/script_sh.h (grub_lexer_param): New members, unput
22633 * tests/grub_script_echo1.in: Added few more testcases.
22635 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
22637 * grub-core/kern/misc.c: Don't add abort alias in utils.
22638 Reported by: echoline.
22640 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
22642 Add missing files into "make dist" tarball for other platforms.
22644 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
22645 * conf/Makefile.common (dist_noinst_DATA): New variable.
22646 * conf/Makefile.extra-dist: Added missing make dist files.
22647 * grub-core/Makefile.core.def: Likewise.
22649 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22651 Compress grub_prefix.
22653 * grub-core/boot/i386/pc/lnxboot.S: Use
22654 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
22655 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
22656 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
22657 GRUB_MACHINE_PREFIX_END. All users updated.
22658 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
22659 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
22661 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
22662 * util/grub-mkimage.c (image_target_desc): Change data_end to
22663 prefix_end. All users updated.
22665 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
22667 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
22669 (grub_openbsd_boot): Likewise.
22670 (grub_netbsd_boot): Likewise.
22671 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
22672 (grub_xnu_boot): Likewise.
22674 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22676 * configure.ac: Clean LIBS variable after tests.
22678 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22680 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
22682 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22684 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
22685 echo if libdevmapper will be used.
22687 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
22689 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
22690 constant for the same file.
22692 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22694 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
22696 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22698 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
22701 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
22703 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
22704 required by the boot protocol.
22706 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
22707 ebp and edi members.
22708 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
22709 state.ebp and state.edi.
22710 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
22711 %ebp and %edi according to grub_relocator32_ebp and
22712 grub_relocator32_edi respectively.
22713 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
22716 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22718 Add i386-pc-pxe image target.
22720 * util/grub-mkimage.c (image_target_desc): New enum value
22722 (image_targets): New target i386-pc-pxe.
22723 (generate_image): Handle i386-pc-pxe image.
22725 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
22729 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
22730 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
22732 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
22733 (grub_pxe_pxenv): Correct type.
22735 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22737 * NEWS: Document most of the important changes since 1.98.
22739 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22741 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
22742 generated manual page) a little.
22744 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
22746 * docs/grub.texi: Add myself as an author.
22748 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
22750 * Makefile.util.def (libgrub.a): Add missing sunpc.
22751 Reported by: Seth Goldberg.
22753 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22755 Interrupt wrapping and code simplifications.
22757 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
22758 x86_noieee1275 which are functionaly equivalent in this case.
22759 (grub-install): Make source on each platform explicit. Enable on
22761 * gentpl.py (x86_efi_pc): Removed group.
22762 (x86_noefi): Likewise.
22763 (i386_noefi): Likewise.
22764 (x86_noieee1275): Likewise.
22765 (i386_noieee1275): Likewise.
22766 (i386_noefi_noieee1275): Likewise.
22767 (i386_pc_qemu_coreboot): Likewise.
22768 (i386_coreboot_multiboot): Likewise.
22769 (i386_pc_coreboot_multiboot_qemu): Likewise.
22770 (x86_noefi_mips): Likewise.
22771 (noieee1275): Likewise.
22772 (ieee1275_mips): Likewise.
22773 (noemu_noieee1275): Likewise.
22776 (videoinkernel): Likewise.
22777 (videomodules): Likewise.
22778 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
22779 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
22780 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
22781 include/grub/loader.h, include/grub/msdos_partition.h,
22782 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
22783 include/grub/machine/console.h, include/grub/machine/vga.h,
22784 include/grub/machine/vbe.h, include/grub/machine/init.h,
22785 include/grub/machine/kernel.h, include/grub/cpu/time.h,
22786 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
22787 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
22788 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
22789 * grub-core/Makefile.core.def (kernel): Explicit the source for
22790 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
22791 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
22792 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
22793 Use videoinkernel tag.
22794 (usb): Enable on all usb.
22795 (usbserial_common): Likewise.
22796 (usbserial_pl2303): Likewise.
22797 (usbserial_ftdi): Likewise.
22798 (uhci): Enable on all x86.
22799 (ohci): Enable on all pci.
22800 (cmostest): Enable on all CMOS.
22801 (acpi): Include commands/acpi.c on all platforms.
22802 (halt): Add relevant lib/*/halt.c.
22803 (hdparm): Enable on all pci.
22805 (usbtest): Enable on all usb.
22806 (ata): Enable on all pci.
22807 (ata_pthru): Likewise.
22808 (usbms): Enable on all usb.
22809 (usb_keyboard): Likewise.
22810 (font): Use tag videomodules.
22812 (datetime): Use tag cmos. Enable on all noemu.
22813 (mmap): Use tags common and x86.
22814 (gfxterm): Use tag videomodules.
22815 (bitmap): Likewise.
22816 (bitmap_scale): Likewise.
22817 (video_fb): Likewise.
22819 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
22820 adjust padding accordingly. All users updated.
22821 (grub_ohci_transaction): Fix bad format specification.
22822 (GRUB_MOD_INIT): Add asserts for struct size.
22823 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
22824 (grub_alloc_td): Likewise.
22825 (grub_free_queue): Likewise.
22826 (grub_uhci_transfer): Likewise.
22827 (grub_uhci_transaction): Fix bad format specification.
22828 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
22829 (grub_usb_bulk_readwrite): Likewise.
22830 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
22831 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
22833 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
22835 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
22836 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
22837 Transformed into C.
22838 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
22839 Moved from here ...
22840 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
22841 ... here. Transformed into C. Made static.
22842 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
22843 Moved from here ...
22844 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
22845 ... here. Transformed into C. Made static.
22846 * grub-core/kern/i386/pc/startup.S
22847 (grub_biosdisk_check_int13_extensions): Moved from here ...
22848 * grub-core/disk/i386/pc/biosdisk.c
22849 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
22851 * grub-core/kern/i386/pc/startup.S
22852 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
22853 * grub-core/disk/i386/pc/biosdisk.c
22854 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
22855 Transformed into C. Made static.
22856 * grub-core/kern/i386/pc/startup.S
22857 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
22858 * grub-core/disk/i386/pc/biosdisk.c
22859 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
22860 Transformed into C. Made static.
22861 * grub-core/kern/i386/pc/startup.S
22862 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
22863 * grub-core/disk/i386/pc/biosdisk.c
22864 (grub_biosdisk_get_diskinfo_standard): ... here.
22865 Transformed into C. Made static.
22866 * grub-core/kern/i386/pc/startup.S
22867 (grub_biosdisk_get_num_floppies): Moved from here ...
22868 * grub-core/disk/i386/pc/biosdisk.c
22869 (grub_biosdisk_get_num_floppies): ... here.
22870 Transformed into C. Made static.
22871 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
22873 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
22874 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
22875 Transformed into C. Made static.
22876 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
22877 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
22878 Transformed into C. Made static.
22879 * grub-core/kern/i386/ieee1275/init.c: Removed.
22880 * grub-core/kern/i386/misc.S: Likewise.
22881 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
22882 Splitted from here ...
22883 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
22884 Transformed into C. Made static. All users updated.
22885 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
22886 Transformed into C. Made static. All users updated.
22887 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
22889 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
22890 Transformed into C. Made static. All users updated.
22891 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
22893 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
22894 Transformed into C. Made static. All users updated.
22895 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
22896 Removed (replaced by C version).
22897 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
22899 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
22900 Transformed into C. Made static.
22901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
22903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
22904 ... here. Transformed into C.
22905 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
22907 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
22908 ... here. Transformed into C.
22909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
22911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
22912 ... here. Transformed into C. Made static.
22913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
22915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
22916 ... here. Transformed into C.
22917 * grub-core/kern/i386/pc/startup.S
22918 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
22919 * grub-core/video/i386/pc/vbe.c
22920 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
22921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
22923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
22924 ... here. Transformed into C.
22925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
22927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
22928 ... here. Transformed into C.
22929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
22931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
22932 ... here. Transformed into C.
22933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
22935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
22936 ... here. Transformed into C.
22937 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
22939 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
22940 ... here. Transformed into C. Made static.
22941 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
22943 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
22944 ... here. Transformed into C. Made static.
22945 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
22947 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
22948 ... here. Transformed into C. Made static.
22949 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
22950 pxe_rm_entry as third argument.
22951 (grub_bios_interrupt): New function.
22952 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
22953 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
22954 of calling grub_stop.
22955 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
22956 * grub-core/lib/efi/halt.c (grub_halt): ...here.
22957 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
22958 * grub-core/lib/emu/halt.c (grub_halt): ... here.
22959 * grub-core/lib/i386/halt.c: Moved from here ...
22960 * grub-core/lib/i386/halt.c: ... here.
22961 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
22962 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
22963 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
22965 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
22966 * include/grub/i386/coreboot/init.h: Removed.
22967 * include/grub/i386/multiboot/init.h: Likewise.
22968 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
22969 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
22970 * include/grub/i386/pc/int.h: New file.
22971 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
22972 (grub_pxe_scan): Removed.
22973 (grub_pxe_call): Update prototype.
22974 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
22976 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
22977 * include/grub/i386/qemu/init.h: Removed.
22978 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
22980 (grub_halt): Likewise.
22981 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
22982 (grub_reboot): Likewise.
22983 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
22984 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
22985 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
22987 2010-08-30 Robert Millan <rmh@gnu.org>
22989 * NEWS: Document addition of ZFS support in `grub-install' and
22992 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
22994 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
22997 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
22999 Remove leftover embedding of font objects.
23001 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23002 * util/grub-install.in (font): Removed.
23003 * util/grub-mkimage.c (generate_image): Remove font support. All users
23006 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23008 Remove leftover embedding of font objects.
23010 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
23011 * util/grub-install.in (font): Removed.
23012 * util/grub-mkimage.c (generate_image): Remove font support. All users
23015 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23017 * docs/grub.texi (Network): Fix reference to pxe_blksize.
23018 Reported by: Ian Turner
23020 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23022 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
23023 timeout to avoid indefinite boot stalling.
23025 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23027 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
23028 (grub_env_write_color_highlight): Likewise.
23030 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23032 * grub-core/normal/term.c (print_more): Return to normal and not
23033 to standard state after printing "---MORE---".
23035 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
23037 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
23038 Mask out the bit 0x80 since it has other meaning that specifiing color.
23040 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23042 New relocator. Allows for more kernel support and more straightforward
23045 * Makefile.am (BOOTTARGET): New variable.
23046 (QEMU32): Likewise.
23047 (linux.init.x86_64): New target.
23048 (linux.init.i386): Likewise.
23049 (multiboot.elf): Likewise.
23050 (kfreebsd.elf): Likewise.
23051 (kfreebsd.aout): Likewise.
23052 (pc-chainloader.elf): Likewise.
23053 (pc-chainloader.bin): Likewise.
23054 (ntldr.elf): Likewise.
23055 (ntldr.bin): Likewise.
23056 (multiboot2.elf): Likewise.
23057 (kfreebsd.init.x86_64): Likewise.
23058 (kfreebsd.init.i386): Likewise.
23059 (knetbsd.init.i386): Likewise.
23060 (kopenbsd.init.i386): Likewise.
23061 (knetbsd.init.x86_64): Likewise.
23062 (kopenbsd.init.x86_64): Likewise.
23063 (linux-initramfs.i386): Likewise.
23064 (linux-initramfs.x86_64): Likewise.
23065 (kfreebsd-mfsroot.i386.img): Likewise.
23066 (knetbsd.image.i386): Likewise.
23067 (kopenbsd.image.i386): Likewise.
23068 (kopenbsd.image.x86_64): Likewise.
23069 (knetbsd.miniroot-image.i386.img): Likewise.
23070 (kfreebsd-mfsroot.x86_64.img): Likewise.
23071 (knetbsd.image.x86_64): Likewise.
23072 (knetbsd.miniroot-image.x86_64.img): Likewise.
23073 (kfreebsd-mfsroot.i386.gz): Likewise.
23074 (bootcheck-kfreebsd-i386): Likewise.
23075 (kfreebsd-mfsroot.x86_64.gz): Likewise.
23076 (bootcheck-kfreebsd-x86_64): Likewise.
23077 (knetbsd.miniroot-image.i386.gz): Likewise.
23078 (bootcheck-knetbsd-i386): Likewise.
23079 (bootcheck-kopenbsd-i386): Likewise.
23080 (bootcheck-kopenbsd-x86_64): Likewise.
23081 (knetbsd.miniroot-image.x86_64.gz): Likewise.
23082 (bootcheck-knetbsd-x86_64): Likewise.
23083 (bootcheck-linux-i386): Likewise.
23084 (bootcheck-linux-x86_64): Likewise.
23085 (bootcheck-linux16-i386): Likewise.
23086 (bootcheck-linux16-x86_64): Likewise.
23087 (bootcheck-multiboot): Likewise.
23088 (bootcheck-multiboot2): Likewise.
23089 (bootcheck-kfreebsd-aout): Likewise.
23090 (bootcheck-pc-chainloader): Likewise.
23091 (bootcheck-ntldr): Likewise.
23092 (CLEANFILES): Add new targets.
23093 (BOOTCHECKS): New variable.
23094 (.PHONY): Add bootchecks.
23095 (SUCCESSFUL_BOOT_STRING): New variable.
23096 (BOOTCHECK_TIMEOUT): Likewise.
23097 (bootcheck): New target
23098 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
23099 * configure.ac: Correct efiemu excuse.
23100 * docs/grub.texi (Supported kernels): New chapter.
23101 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
23102 include/grub/mm_private.h. Simplify inclusion of
23103 include/grub/boot.h, include/grub/loader.h
23104 and include/grub/msdos_partition.h
23105 (KERNEL_HEADER_FILES) [i386_coreboot]:
23106 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
23107 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
23108 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
23109 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
23110 include/grub/machine/loader.h.
23111 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
23112 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
23114 (pci.mod): Enable on i386-multiboot.
23115 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
23116 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
23118 (relocator.mod): Rewritten.
23119 (aout.mod): Enable on all x86.
23120 (bsd.mod): Likewise.
23121 (ntldr.mod): New module.
23122 (linux.mod): Use loader/i386/linux.c on all x86.
23123 (xnu.mod): Enable on all x86.
23124 (vga_text.mod): disable on EFI and QEMU.
23125 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
23126 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
23127 * grub-core/efiemu/loadcore.c: Likewise.
23128 * grub-core/efiemu/main.c: Likewise.
23129 (grub_efiemu_exit_boot_services): Removed.
23130 (grub_efiemu_finish_boot_services): Likewise.
23131 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
23133 * grub-core/efiemu/i386/nocfgtables.c: New file.
23134 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
23135 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
23136 (grub_efi_finish_boot_services): Moved from here ...
23137 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
23138 Fille finish memory map and related data.
23139 (finish_mmap_buf): New variable.
23140 (grub_efi_uintn_t finish_mmap_size): Likewise.
23141 (grub_efi_uintn_t finish_key): Likewise.
23142 (grub_efi_uintn_t finish_desc_size): Likewise.
23143 (grub_efi_uint32_t finish_desc_version): Likewise.
23144 (grub_efi_is_finished): Likewise.
23145 (grub_efi_get_memory_map): Use saved memory map if EFI is already
23147 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
23148 (grub_elf64_phdr_iterate): Likewise.
23149 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
23150 (grub_os_area_size): Likewise.
23151 (grub_machine_init): Don't reserve os area.
23152 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
23153 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
23154 * grub-core/kern/i386/loader.S: Removed.
23155 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
23156 (grub_os_area_size): Likewise.
23157 (grub_machine_init): Don't reserve os area.
23158 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
23159 Don't call grub_dl_unload_all.
23160 Don't include loader.S.
23161 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
23162 Declare the memory after _end as available.
23163 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
23164 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
23165 (GRUB_MM_ALLOC_MAGIC): Moved from here...
23166 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
23167 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
23168 * include/grub/mm_private.h (grub_mm_header): ... here.
23169 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
23170 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
23171 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
23172 (grub_mm_region): ..here. Removed addr. Added pre_size.
23174 * grub-core/kern/mm.c (base): Renamed to ...
23175 (grub_mm_base): ... this. Made global.
23176 (grub_real_malloc): Alloc from end of region.
23177 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
23178 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
23179 * grub-core/kern/powerpc/cache_flush.S: ... here.
23180 * grub-core/lib/efi/relocator.c: New file.
23181 * grub-core/lib/i386/relocator.c: Rewritten.
23182 * grub-core/lib/i386/relocator16.S: New file.
23183 * grub-core/lib/i386/relocator32.S: Likewise.
23184 * grub-core/lib/i386/relocator64.S: Likewise.
23185 * grub-core/lib/i386/relocator_asm.S: Rewritten.
23186 * grub-core/lib/i386/relocator_common.S: New file.
23187 * grub-core/lib/ieee1275/relocator.c: Likewise.
23188 * grub-core/lib/mips/relocator.c: Rewritten.
23189 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
23190 stylistic adjustments.
23191 * grub-core/lib/powerpc/relocator.c: New file.
23192 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
23193 * grub-core/lib/relocator.c: Rewritten.
23194 * grub-core/lib/x86_64/relocator_asm.S: New file.
23195 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
23196 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
23197 (bsd_tag): New struct.
23198 (tags): New variable.
23199 (tags_last): Likewise.
23200 (netbsd_module): New struct.
23201 (netbsd_mods): New variable.
23202 (netbsd_mods_last): Likewise.
23203 (openbsd_opts): New parameter "serial".
23204 (OPENBSD_SERIAL_ARG): New definition.
23205 (netbsd_opts): New parameter "serial".
23206 (NETBSD_SERIAL_ARG): New definition.
23207 (grub_freebsd_add_meta): Reorganised into ...
23208 (grub_bsd_add_meta): ...this. All users updated.
23209 (grub_freebsd_add_mmap): Reorganised into ...
23210 (generate_e820_mmap): ...this...
23211 (grub_bsd_add_mmap): ...and this. All users updated.
23212 (grub_freebsd_list_modules): Use tags.
23213 (grub_netbsd_add_meta_module): New function.
23214 (grub_netbsd_list_modules): Likewise.
23215 (grub_freebsd_boot): Use relocator and finish EFI.
23216 (grub_openbsd_boot): Likewise.
23217 (grub_netbsd_setup_video): New function.
23218 (grub_netbsd_add_modules): Likewise.
23219 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
23221 (grub_bsd_unload): Unload tags.
23222 (grub_bsd_load_aout): Use relocator.
23223 (grub_bsd_elf32_size_hook): New function.
23224 (grub_bsd_elf32_hook): Use relocator.
23225 (grub_bsd_elf64_size_hook): New function.
23226 (grub_bsd_elf64_hook): Use relocator.
23227 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
23228 (grub_bsd_load): Zero-out openbsd_ramdisk.
23229 (grub_bsd_load): Use relocator.
23230 (grub_cmd_openbsd): Support serial.
23231 (grub_cmd_netbsd): Support modules.
23232 (grub_cmd_freebsd_module): Use relocator.
23233 (grub_netbsd_module_load): New function.
23234 (grub_cmd_netbsd_module): Likewise.
23235 (grub_cmd_openbsd_ramdisk): Likewise.
23236 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
23238 (GRUB_MOD_FINI): Unregister new commands.
23239 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
23240 (grub_freebsd_load_elfmodule_obj): Use relocator.
23241 (grub_freebsd_load_elfmodule): Likewise.
23242 (grub_freebsd_load_elf_meta): Likewise.
23243 (grub_netbsd_load_elf_meta): New function.
23244 (grub_openbsd_find_ramdisk): Likewise.
23245 * grub-core/loader/i386/bsd_helper.S: Removed.
23246 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
23247 * grub-core/loader/i386/bsd_trampoline.S: Removed.
23248 * grub-core/loader/i386/efi/linux.c: Likewise.
23249 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
23250 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
23251 (DEFAULT_VIDEO_MODE): Likewise.
23252 (real_mode_target): New variable.
23253 (prot_mode_target): Likewise.
23254 (initrd_mem_target): Likewise.
23255 (relocator): Likewise.
23256 (efi_mmap_buf): Likewise.
23257 (efi_mmap_size): Likewise.
23258 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
23259 (free_pages): Use relocator.
23260 (allocate_pages): Account for efi_mmap and use relocator. Return error.
23261 (grub_linux_setup_video): Return error.
23262 (grub_linux_trampoline_start): Removed.
23263 (grub_linux_trampoline_end): Likewise.
23264 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
23265 andd video parameters depending on firmware.
23266 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
23267 [GRUB_MACHINE_EFI]: Pass EFI parameters.
23268 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
23269 (grub_cmd_initrd): Use relocator.
23270 * grub-core/loader/i386/linux_trampoline.S: Removed.
23271 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
23272 (elf_sec_entsize): Likewise.
23273 (elf_sec_shstrndx): Likewise.
23274 (elf_sections): Likewise.
23275 (grub_multiboot_load): Use relocator.
23276 (grub_multiboot_get_mbi_size): Account for sections.
23277 (grub_multiboot_make_mbi): Use relocator and support sections.
23278 (grub_multiboot_add_elfsyms): New function.
23279 (grub_multiboot_free_mbi): Free sections.
23280 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
23281 (grub_linux_real_target): Likewise.
23282 (grub_linux_real_chunk): Likewise.
23283 (grub_linux16_prot_size): Likewise.
23284 (grub_linux16_boot): Use relocator.
23285 (grub_linux_unload): Unload relocator.
23286 (grub_cmd_linux): Use relocator.
23287 (grub_cmd_initrd): Likewise.
23288 * grub-core/loader/i386/pc/ntldr.c: New file.
23289 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
23290 Don't try to guess CPU frequency.
23291 (grub_xnu_set_video): Stretch bitmap.
23292 (grub_xnu_boot): Use relocator.
23293 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
23294 (grub_linux_unload): Free relocator.
23295 (grub_linux_load32): Use relocator.
23296 (grub_linux_load64): Likewise.
23297 (grub_cmd_initrd): Likewise.
23298 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
23299 (grub_multiboot_unload): Unload relocator.
23300 (grub_cmd_multiboot): Use relocator.
23301 (grub_cmd_module): Likewise.
23302 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
23303 Use relocator and support sections.
23304 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
23305 (elf_sec_entsize): Likewise.
23306 (elf_sec_shstrndx): Likewise.
23307 (elf_sections): Likewise.
23308 (grub_multiboot_load): Use relocator.
23309 (grub_multiboot_get_mbi_size): Account for sections.
23310 (grub_multiboot_make_mbi): Use relocator and support sections.
23311 (grub_multiboot_add_elfsyms): New function.
23312 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
23313 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
23314 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
23315 Prototype changed. All users updated.
23316 (grub_xnu_align_heap): Simplified.
23317 (grub_xnu_writetree_toheap): Likewise.
23318 (grub_xnu_unload): Unload relocator.
23319 (grub_cmd_xnu_kernel): Use relocator.
23320 (grub_cmd_xnu_kernel64): Likewise.
23321 (grub_xnu_register_memory): Simplified.
23322 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
23323 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
23325 (grub_console_checkkey): Likewise.
23326 (grub_console_getkey): Likewise.
23327 (grub_console_getwh): Likewise.
23328 (grub_console_getxy): Likewise.
23329 (grub_console_gotoxy): Likewise.
23330 (grub_console_cls): Likewise.
23331 (grub_console_setcolorstate): Likewise.
23332 (grub_console_setcursor): Likewise.
23333 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
23334 * grub-core/tests/boot/kbsd.init-i386.S: New file.
23335 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
23336 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
23337 * grub-core/tests/boot/kernel-8086.S: Likewise.
23338 * grub-core/tests/boot/kernel-i386.S: Likewise.
23339 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
23340 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
23341 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
23342 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
23343 * grub-core/tests/boot/knetbsd.cfg: Likewise.
23344 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
23345 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
23346 * grub-core/tests/boot/linux.cfg: Likewise.
23347 * grub-core/tests/boot/linux.init-i386.S: Likewise.
23348 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
23349 * grub-core/tests/boot/linux16.cfg: Likewise.
23350 * grub-core/tests/boot/multiboot.cfg: Likewise.
23351 * grub-core/tests/boot/multiboot2.cfg: Likewise.
23352 * grub-core/tests/boot/ntldr.cfg: Likewise.
23353 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
23354 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
23355 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
23357 * include/grub/dl.h (grub_dl_unload_all): Removed.
23358 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
23359 (grub_efi_finish_boot_services): Change prototype.
23360 (grub_efi_is_finished): New variable.
23361 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
23363 (grub_efiemu_finish_boot_services): Removed.
23364 (grub_machine_efiemu_init_tables): New prototype.
23365 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
23366 (grub_elf64_phdr_iterate): Likewise.
23367 * include/grub/i386/bsd.h: Include relocator.h.
23368 (freebsd_tag_header): New struct.
23369 (grub_openbsd_bios_mmap): Removed.
23370 (grub_unix_real_boot): Removed.
23371 (grub_freebsd_load_elfmodule32): Changed prototype.
23372 (grub_freebsd_load_elfmodule_obj64): Likewise.
23373 (grub_freebsd_load_elf_meta32): Likewise.
23374 (grub_freebsd_load_elf_meta64): Likewise.
23375 (grub_freebsd_add_meta): Removed.
23376 (grub_netbsd_load_elf_meta32): New prototype.
23377 (grub_netbsd_load_elf_meta64): Likewise.
23378 (grub_bsd_add_meta): Likewise.
23379 (grub_openbsd_ramdisk_descriptor): New struct.
23380 (grub_openbsd_find_ramdisk32): New prototype.
23381 (grub_openbsd_find_ramdisk64): Likewise.
23382 * include/grub/i386/coreboot/loader.h: Removed.
23383 * include/grub/i386/efi/loader.h: Likewise.
23384 * include/grub/i386/ieee1275/loader.h: Likewise.
23385 * include/grub/i386/linux.h (linux_kernel_header): Change void *
23387 * include/grub/i386/loader.h: Removed.
23388 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
23390 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
23391 (grub_phys_addr_t): New type.
23392 (grub_vtop): New inline function.
23393 (grub_map_memory): Likewise.
23394 (grub_unmap_memory): Likewise.
23395 * include/grub/i386/multiboot/loader.h: Removed.
23396 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
23397 (NETBSD_BTINFO_CONSOLE): New definition.
23398 (NETBSD_BTINFO_SYMTAB): Likewise.
23399 (NETBSD_BTINFO_MODULES): Likewise.
23400 (NETBSD_BTINFO_FRAMEBUF): Likewise.
23401 (grub_netbsd_bootinfo): New struct.
23402 (grub_netbsd_btinfo_common): Use explicit bitsize.
23403 (grub_netbsd_btinfo_mmap_entry): Removed.
23404 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
23405 (grub_netbsd_btinfo_bootdisk): New struct.
23406 (grub_netbsd_btinfo_symtab): Likewise.
23407 (grub_netbsd_btinfo_serial): Likewise.
23408 (grub_netbsd_btinfo_modules): Likewise.
23409 (grub_netbsd_btinfo_framebuf): Likewise.
23410 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
23411 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
23413 (grub_openbsd_bootargs): Use explicit bitsize.
23414 (grub_openbsd_bootarg_console): New struct.
23415 (GRUB_OPENBSD_COM_MAJOR): New definition.
23416 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
23417 * include/grub/i386/pc/efiemu.h: Removed.
23418 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
23419 * include/grub/i386/qemu/loader.h: Removed.
23420 * include/grub/i386/relocator.h: Rewritten.
23421 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
23422 * include/grub/mips/memory.h: New file.
23423 * include/grub/mips/multiboot.h: Rewritten.
23424 * include/grub/mips/relocator.h: Rewritten.
23425 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
23426 (grub_vtop): New function.
23427 (grub_map_memory): Likewise.
23428 (grub_unmap_memory): Likewise.
23429 * include/grub/misc.h (ALIGN_DOWN): New definition.
23430 * include/grub/mm.h (grub_mm_check_real): New proto.
23431 (GRUB_MM_CHECK): New definition.
23432 * include/grub/mm_private.h: New file.
23433 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
23434 (grub_multiboot_get_mbi_size): Removed.
23435 (grub_multiboot_make_mbi): Change prottype.
23436 (grub_multiboot_set_accepts_video): New proto.
23437 (grub_multiboot_add_elfsyms): Likewise.
23438 (grub_multiboot_payload_eip): New variable.
23439 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
23441 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
23443 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
23444 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
23445 * include/grub/powerpc/ieee1275/loader.h: Removed.
23446 * include/grub/powerpc/memory.h: New file.
23447 * include/grub/powerpc/relocator.h: Likewise.
23448 * include/grub/relocator.h: Likewise.
23449 * include/grub/relocator_private.h: Likewise.
23450 * include/grub/sparc64/ieee1275/loader.h: Removed.
23451 * include/grub/x86_64/memory.h: New file.
23452 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
23453 (grub_xnu_heap_malloc): Likewise.
23454 (grub_xnu_heap_real_start): Removed.
23455 (grub_xnu_heap_start): Likewise.
23456 (grub_xnu_relocator): New variable.
23457 (grub_xnu_heap_target_start): Likewise.
23458 * tests/util/grub-shell.in: Support non-pc.
23459 * util/grub-mkimage.c (image_targets): Fix multiboot target.
23461 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23463 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
23465 (grub_bidi_logical_to_visual): Check that malloc succeded.
23466 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
23468 (grub_xputs_normal): Likewise.
23470 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23472 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
23475 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23477 * grub-core/efiemu/runtime/efiemu.sh: Removed.
23479 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23481 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
23483 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
23485 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
23488 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
23490 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
23492 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23494 * grub-core/normal/term.c (print_more): Fix a memory leak.
23495 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
23496 (grub_xputs_normal): Likewise.
23498 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23500 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
23501 the begining of the string
23503 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23505 * grub-core/script/script.c (grub_script_parse): Free parsed on
23508 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23510 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
23513 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23515 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
23518 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23520 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
23521 (scroll_up): Fix a memory leak.
23523 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
23525 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
23528 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
23530 Handle USB pendrives exposed as floppies.
23532 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
23534 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
23535 Check for partitions on all devices.
23537 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
23539 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
23540 (readkey): Likewise.
23542 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
23544 Multiple variable names support to "export" command.
23546 * normal/context.c (grub_cmd_export): "export" command supports
23547 multiple variable names.
23549 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
23551 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
23552 --target=drive output to Mach device name.
23554 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23556 New Automake based build system for GRUB.
23558 * ABOUT-NLS: New file.
23559 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
23560 in Makefile.util.def file.
23561 * Makefile.util.def: New file. Autogen build definitions file for
23563 * conf/Makefile.common: New file. Common variables for GRUB host
23564 utils and target modules.
23565 * conf/Makefile.extra-dist: New file. Extra files for make dist.
23566 * docs/Makefile.am: New file. Automake file for docs.
23567 * gentpl.py: New file. Python script to generate Autogen
23569 * grub-core/Makefile.am: New file. GRUB target modules' rules
23570 that doesn't fit in Makefile.core.def file.
23571 * grub-core/Makefile.core.def: New file. Autogen build
23572 definitions file for GRUB target modules.
23573 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
23574 specific setjmp.S file.
23575 * po/Makefile.am: New file.
23577 * .bzrignore: New ignores.
23578 * INSTALL: New requirements, without Ruby.
23579 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
23580 * autogen.sh: Updated to invoke autogen as necessary.
23581 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
23582 and defines for Automake conditionals.
23583 * geninit.sh: Refactoring.
23585 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
23587 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
23590 * include/grub/test.h: Fix functional test modules' naming.
23591 * grub-core/tests/example_functional_test.c: Fix test module name.
23593 * util/misc.c: Hosted versions' of grub functions for libgrub.a
23594 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
23595 * util/grub-editenv.c: Likewise.
23596 * util/grub-fstest.c: Likewise.
23597 * util/grub-mkdevicemap.c: Likewise.
23598 * util/grub-mkfont.c: Likewise.
23599 * util/grub-mkimage.c: Likewise.
23600 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23601 * util/grub-probe.c: Likewise.
23602 * util/grub-script-check.c: Likewise.
23603 * util/i386/pc/grub-setup.c: Likewise.
23604 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23606 * tests/util/grub-shell.in: Fix override directory path.
23607 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
23608 * util/import_gcry.py: Create Makefile.gcry.def file instead.
23610 * util/lvm.c: Update #includes.
23611 * util/raid.c: Likewise.
23612 * util/resolve.c: Likewise.
23613 * grub-core/bus/emu/pci.c: Likewise.
23614 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
23615 * grub-core/lib/posix_wrap/string.h: Likewise.
23616 * grub-core/kern/emu/main.c: Likewise.
23618 * grub-core/gensymlist.sh: New file. Script for generating kernel
23620 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
23622 * grub-core/gentrigtables.c: Fix unused variable warnings.
23624 * Makefile.in: Removed.
23625 * conf/any-emu.rmk: Removed.
23626 * conf/common.rmk: Removed.
23627 * conf/i386-coreboot.rmk: Removed.
23628 * conf/i386-efi.rmk: Removed.
23629 * conf/i386-ieee1275.rmk: Removed.
23630 * conf/i386-multiboot.rmk: Removed.
23631 * conf/i386-pc.rmk: Removed.
23632 * conf/i386-qemu.rmk: Removed.
23633 * conf/i386.rmk: Removed.
23634 * conf/mips-yeeloong.rmk: Removed.
23635 * conf/mips.rmk: Removed.
23636 * conf/powerpc-ieee1275.rmk: Removed.
23637 * conf/sparc64-ieee1275.rmk: Removed.
23638 * conf/tests.rmk: Removed.
23639 * conf/x86-efi.rmk: Removed.
23640 * conf/x86_64-efi.rmk: Removed.
23641 * gendistlist.sh: Removed.
23642 * geninitheader.sh: Removed.
23643 * genkernsyms.sh.in: Removed.
23644 * genmk.rb: Removed.
23645 * gensymlist.sh.in: Removed.
23646 * mkinstalldirs: Removed.
23648 * grub-core/boot: ... to here.
23650 * grub-core/bus: ... to here.
23651 * commands: Moved ...
23652 * grub-core/commands: ... to here.
23654 * grub-core/disk: ... to here.
23655 * efiemu: Moved ...
23656 * grub-core/efiemu: ... to here.
23658 * grub-core/font: ... to here.
23660 * grub-core/fs: ... to here.
23661 * gencmdlist.sh: Moved ...
23662 * grub-core/gencmdlist.sh: ... to here.
23663 * genemuinit.sh: Moved ...
23664 * grub-core/genemuinit.sh: ... to here.
23665 * genemuinitheader.sh: Moved ...
23666 * grub-core/genemuinitheader.sh: ... to here.
23667 * genfslist.sh: Moved ...
23668 * grub-core/genfslist.sh: ... to here.
23669 * genhandlerlist.sh: Moved ...
23670 * grub-core/genhandlerlist.sh: ... to here.
23671 * genmoddep.awk: Moved ...
23672 * grub-core/genmoddep.awk: ... to here.
23673 * genmodsrc.sh: Moved ...
23674 * grub-core/genmodsrc.sh: ... to here.
23675 * genpartmaplist.sh: Moved ...
23676 * grub-core/genpartmaplist.sh: ... to here.
23677 * genparttoollist.sh: Moved ...
23678 * grub-core/genparttoollist.sh: ... to here.
23679 * genterminallist.sh: Moved ...
23680 * grub-core/genterminallist.sh: ... to here.
23681 * gentrigtables.c: Moved ...
23682 * grub-core/gentrigtables.c: ... to here.
23683 * genvideolist.sh: Moved ...
23684 * grub-core/genvideolist.sh: ... to here.
23685 * gettext: Moved ...
23686 * grub-core/gettext: ... to here.
23687 * gfxmenu: Moved ...
23688 * grub-core/gfxmenu: ... to here.
23689 * gnulib: Moved ...
23690 * grub-core/gnulib: ... to here.
23692 * grub-core/hello: ... to here.
23694 * grub-core/hook: ... to here.
23696 * grub-core/io: ... to here.
23698 * grub-core/kern: ... to here.
23700 * grub-core/lib: ... to here.
23701 * loader: Moved ...
23702 * grub-core/loader: ... to here.
23704 * grub-core/mmap: ... to here.
23705 * normal: Moved ...
23706 * grub-core/normal: ... to here.
23707 * partmap: Moved ...
23708 * grub-core/partmap: ... to here.
23709 * parttool: Moved ...
23710 * grub-core/parttool: ... to here.
23711 * script: Moved ...
23712 * grub-core/script: ... to here.
23714 * grub-core/term: ... to here
23715 * tests/example_functional_test.c: Moved ...
23716 * grub-core/tests/example_functional_test.c: ... to here.
23717 * tests/lib/functional_test.c: Moved ...
23718 * grub-core/tests/lib/functional_test.c: ... to here.
23719 * tests/lib/test.c: Moved ...
23720 * grub-core/tests/lib/test.c: ... to here.
23722 * grub-core/video: ... to here.
23724 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
23726 Replace --enable-grub-emu-modules with grub-emu-lite.
23728 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
23731 * include/grub/emu/misc.h (grub_emu_init): New prototype.
23732 * kern/emu/full.c: New file. For grub-emu specific initialization.
23733 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
23734 * kern/emu/main.c: Call initialization function grub_emu_init.
23736 * Makefile.in: Include grub-emu-lite in install.
23737 * commands/parttool.c: Use grub_no_autoload to differentiate
23738 between grub-emu and grub-emu-lite.
23739 * include/grub/misc.h: New variable grub_no_autoload.
23741 * conf/any-emu.rmk: New rules for grub-emu-lite.
23742 * configure.ac: Remove --enable-grub-emu-modules.
23743 * genmk.rb: Cleanup unnecessary rules.
23744 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
23746 * normal/main.c: Don't load list files on grub-emu-lite.
23747 * util/misc.c (grub_arch_sync_caches): Removed.
23749 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
23751 * kern/mips/startup.S (grub_prefix): Update comment to refer to
23752 grub-mkimage rather than grub-mkelfimage.
23753 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
23755 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
23757 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
23758 a key after CapsLock or NumLock. It's just a qemu bug.
23760 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23762 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
23763 needed by libusb wrapper.
23765 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
23767 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
23769 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
23771 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
23772 --nounzip is passed.
23774 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
23776 USB hotunplugging and USB serial support.
23778 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
23779 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
23780 (grub_uhci_transfer): Respect timeout and set *actual.
23781 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
23782 non-standard length.
23783 (grub_usb_device_attach): Autoload modules.
23784 (GRUB_MOD_INIT): Set grub_term_poll_usb.
23785 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
23786 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
23788 (grub_usb_add_hub): Fill nports and children.
23789 (attach_root_port): Receive hub instead of controller.
23790 All users updated. Fill hub->devices.
23791 (grub_usb_root_hub): Allocate hub->devices.
23792 (detach_device): New function.
23793 (poll_nonroot_hub): Fill children and detach devices.
23794 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
23795 actual arguments. All users updated.
23796 (grub_usb_bulk_read_extended): New function.
23797 * bus/usb/serial/common.c: New file.
23798 * bus/usb/serial/ftdi.c: Likewise.
23799 * bus/usb/serial/pl2303.c: Likewise.
23800 * commands/terminal.c (handle_command): Support wildcard.
23801 * commands/usbtest.c: Output "Unknown" instead of empty string.
23802 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
23803 (usbserial_common_mod_SOURCES): New variable.
23804 (usbserial_common_mod_CFLAGS): Likewise.
23805 (usbserial_common_mod_LDFLAGS): Likewise.
23806 (pkglib_MODULES): Add usbserial_pl2303.mod.
23807 (usbserial_pl2303_mod_SOURCES): New variable.
23808 (usbserial_pl2303_mod_CFLAGS): Likewise.
23809 (usbserial_pl2303_mod_LDFLAGS): Likewise.
23810 (pkglib_MODULES): Add usbserial_ftdi.mod.
23811 (usbserial_ftdi_mod_SOURCES): New variable.
23812 (usbserial_ftdi_mod_CFLAGS): Likewise.
23813 (usbserial_ftdi_mod_LDFLAGS): Likewise.
23814 (pkglib_MODULES): Add serial.mod.
23815 (serial_mod_SOURCES): New variable.
23816 (serial_mod_CFLAGS): Likewise.
23817 (serial_mod_LDFLAGS): Likewise.
23818 * conf/i386-pc.rmk: Likewise.
23819 * conf/mips-yeeloong.rmk: Likewise.
23820 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
23821 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
23822 * disk/usbms.c (first_available_slot): New variable.
23823 (grub_usbms_attach): Don't reuse free slots due to potential cache
23825 * include/grub/serial.h: Moved to ..
23826 * include/grub/ns8250.h: ...this.
23827 * include/grub/serial.h: New file.
23828 * include/grub/term.h (grub_term_poll_usb): New variable.
23829 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
23830 readkey. All users updated.
23831 (grub_terminfo_output_state): Pass term to put.
23832 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
23833 (grub_usb_controller_dev): Add timeout and actual arguments to
23834 transfer. All users updated.
23835 (grub_usb_interface): New field detach_data.
23836 (grub_usb_device): New fields children and nports.
23837 (grub_usb_ep_type_t): New type.
23838 (grub_usb_get_ep_type): New function.
23839 (grub_usb_bulk_read_extended): Likewise.
23840 * include/grub/usbdesc.h (grub_usb_desc): New type.
23841 * include/grub/usbserial.h: New file.
23842 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
23843 * kern/term.c (grub_term_poll_usb): New variable.
23844 (grub_getkey): Call grub_term_poll_usb if set.
23845 (grub_checkkey): Likewise.
23846 (grub_getkeystatus): Likewise.
23847 * term/serial.c: Moved controller-specific parts to ...
23848 * term/ns8250.c: ... here.
23849 * term/serial.c: Mostly rewritten.
23850 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
23853 2010-08-20 Robert Millan <rmh@gnu.org>
23855 Make kFreeBSD code more generic to support ext2fs as root, ufs as
23856 a separate module and maybe other interesting combinations.
23858 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
23859 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
23860 (kfreebsd_entry): Add generic filesystem module load routine.
23861 Map GRUB `ext2' to kFreeBSD `ext2fs'.
23863 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
23865 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
23866 "numcenter" (I misunderstood the purpose of this entry).
23867 * docs/grub.texi (sendkey): Likewise.
23869 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
23871 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
23872 status flag options; simply omitting the option is equivalent and
23873 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
23874 (keysym_table): Rename "num5numlock" to "numlock".
23875 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
23876 can uniformly say that only the last of multiple `sendkey'
23877 invocations has any effect.
23878 * docs/grub.texi (sendkey): New section.
23880 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
23882 * commands/i386/pc/sendkey.c (options): Fix three typos.
23884 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
23886 Implement sendkey support.
23888 * commands/i386/pc/sendkey.c: New file.
23889 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
23890 (sendkey_mod_SOURCES): New variable.
23891 (sendkey_mod_CFLAGS): Likewise.
23892 (sendkey_mod_LDFLAGS): Likewise.
23894 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23896 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
23897 fix warnings from Autoconf.
23899 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
23901 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
23902 to avoid false positives with some assemblers that output things
23903 like "someprefix_func" as part of their output.
23905 2010-08-15 Robert Millan <rmh@gnu.org>
23907 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
23909 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
23910 grub_get_libzfs_handle() errors.
23912 2010-08-14 Robert Millan <rmh@gnu.org>
23914 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
23915 filesystem is not ZFS.
23917 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23919 Fix for misspelled color names defaulting to black/black (bug
23920 reported by Doug Nazar)
23922 * include/grub/normal.h (grub_parse_color_name_pair): Add return
23923 status to prototype.
23924 * normal/color.c (grub_parse_color_name_pair): Return failure
23926 (grub_env_write_color_normal): Ignore bad color names.
23927 (grub_env_write_color_highlight): Likewise.
23928 * normal/main.c (GRUB_MOD_INIT): Set default color names.
23930 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23932 "shift" command support to GRUB script.
23934 * include/grub/script_sh.h (grub_script_shift): New prototype.
23935 * script/execute.c (grub_script_shift): New function.
23936 * script/main.c (grub_script_init): Register shift command.
23937 (grub_script_fini): Unregister shift command.
23938 * util/grub-script-check.c (grub_script_cmd_shift): New function.
23940 * tests/grub_script_shift.in: New testcase.
23941 * conf/tests.rmk: Rules for new testcase.
23943 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23945 "continue" command support to GRUB script.
23947 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
23948 (grub_script_break): Continue support.
23949 * script/main.c (grub_script_init): Register continue command.
23950 (grub_script_fini): Unregister continue command.
23952 * tests/grub_script_continue.in: New testcase.
23953 * conf/tests.rmk: Rules for new testcase.
23955 2010-08-12 BVK Chaitanya <bvk@dbook>
23957 "break" command support to GRUB script.
23959 * conf/common.rmk: Rule updates to grub-script-check.
23960 * include/grub/misc.h (grub_min): New function.
23961 * include/grub/script_sh.h (grub_script_init): New prototype.
23962 (grub_script_fini): New prototype.
23963 (grub_script_break): New prototype.
23964 * script/main.c (grub_script_init): New function.
23965 (grub_script_fini): New function.
23966 * script/execute.c (grub_script_break): New function.
23967 * normal/main.c: Calls to grub_script_{init,fini}.
23968 * util/grub-script-check.c (grub_script_break): New function.
23970 * tests/grub_script_break.in: New testcase.
23971 * conf/tests.rmk: Rules for new test case.
23973 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
23975 Function parameters support to GRUB script.
23977 * script/yylex.l (VARIABLE): Regular expression update.
23978 * script/function.c (grub_script_function_call): Moved ...
23979 * script/execute.c (grub_script_function_call): ... to here.
23980 (grub_script_execute_arglist_to_argv): Removed.
23981 (grub_script_arglist_to_argv): New function.
23982 * script/argv.c: New file.
23983 (grub_script_argv_free): New function.
23984 (grub_script_argv_next): Likewise.
23985 (grub_script_argv_append): Likewise.
23986 (grub_script_argv_split_append): Likewise.
23987 * include/grub/script_sh.h (grub_script_argv): New struct.
23988 (grub_script_argv_free): New function.
23989 (grub_script_argv_next): Likewise.
23990 (grub_script_argv_append): Likewise.
23991 (grub_script_argv_split_append): Likewise.
23993 * conf/common.rmk (normal.mod): New source script/argv.c.
23995 * tests/grub_script_echo1.in: More tests.
23996 * tests/grub_script_vars1.in: Likewise.
23997 * tests/grub_script_functions.in: New test case.
23998 * conf/tests.rmk: Rules for new testcase.
24000 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
24002 Remove grub_script_cmdblock struct.
24004 * include/grub/script_sh.h: Remove grub_script_cmdblock.
24005 * script/parser.y: Likewise.
24006 * script/execute.c: Rename cmdblock suffix to cmdlist.
24007 * script/script.c: Likewise.
24008 * util/grub-script-check.c: Likewise.
24010 2010-08-11 Yves Blusseau <blusseau@zetam.org>
24012 * .bzrignore: add grub-macho2img
24014 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24016 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
24018 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
24020 Remove the dump of sm712 initialisation sequence.
24022 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
24023 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
24024 (GRUB_VGA_IO_MISC_WRITE): Likewise.
24025 (GRUB_VGA_CR_*): Added many registers.
24026 (GRUB_VGA_SR_*): Likewise.
24027 (GRUB_VGA_GR_*): Likewise.
24028 (grub_vga_write_arx): New function.
24029 (grub_video_hw_config): New struct.
24030 (grub_vga_set_geometry): New function.
24031 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
24032 GRUB_PCI_CLASS_SUBCLASS_VGA.
24033 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
24034 * video/sm712.c (grub_sm712_write_reg): New function
24035 (grub_sm712_read_reg): Likewise.
24036 (grub_sm712_sr_write): Likewise.
24037 (grub_sm712_gr_write): Likewise.
24038 (grub_sm712_cr_write): Likewise.
24039 (grub_sm712_write_arx): Likewise.
24040 (grub_sm712_cr_shadow_write): Likewise.
24041 (grub_sm712_write_dda_lookup): Likewise.
24042 (grub_video_sm712_setup): Initialise the video rather then
24043 blindly replay the dump.
24044 (main) [TEST]: Add a routine to be able to compile as standalone for
24046 * video/sm712_init.c (sm712_init): Removed.
24047 (sm712_sr_seq1): New array.
24048 (sm712_sr_seq2): Likewise.
24050 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24052 * include/grub/vga.h: Add missing grub/pci.h include.
24054 2010-08-10 Yves Blusseau <blusseau@zetam.org>
24056 * util/grub-macho2img.c (main): fix typo
24058 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
24060 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
24061 (grub_vga_gr_read): Likewise.
24062 (grub_vga_cr_write): Likewise.
24063 (grub_vga_cr_read): Likewise.
24064 (grub_vga_sr_write): Likewise.
24065 (grub_vga_sr_read): Likewise.
24066 (grub_vga_palette_read): Likewise.
24067 (grub_vga_palette_write): Likewise.
24068 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
24069 (grub_sm712_sr_read): New function.
24070 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
24071 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
24073 2010-08-09 Robert Millan <rmh@gnu.org>
24075 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
24076 out unused variables on non-ZFS build.
24078 2010-08-08 Robert Millan <rmh@gnu.org>
24080 Fix path generation for sub-filesystems in ZFS.
24082 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
24085 2010-08-08 Robert Millan <rmh@gnu.org>
24087 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
24089 2010-08-08 Robert Millan <rmh@gnu.org>
24091 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
24092 exist, issue a proper error message (rely on `ls' for translated
24095 2010-08-08 Robert Millan <rmh@gnu.org>
24097 Fix grub-probe invocation.
24099 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
24101 2010-08-04 Robert Millan <rmh@gnu.org>
24103 * configure.ac: Remove checks for getfsstat() and getmntany().
24104 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
24105 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
24106 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
24107 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
24108 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
24110 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
24111 via find_mount_point_from_dir() and getfsstat() / getmntany().
24113 2010-08-04 Robert Millan <rmh@gnu.org>
24115 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24116 (grub_find_zpool_from_mount_point): Merge into ...
24117 (grub_find_zpool_from_dir): ... this.
24118 * kern/emu/misc.c: Likewise.
24121 (grub_make_system_path_relative_to_its_root): Replace
24122 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
24123 with grub_find_zpool_from_dir().
24124 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
24126 2010-08-04 Robert Millan <rmh@gnu.org>
24128 Support OpenSolaris in ZFS device resolution.
24130 * configure.ac: Check for getmntany().
24131 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
24132 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
24135 2010-08-03 Robert Millan <rmh@gnu.org>
24137 Fix grub-emu build.
24139 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
24140 * include/grub/emu/misc.h: ... here.
24142 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
24143 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
24145 * util/misc.c: Remove `<grub/util/libzfs.h>'.
24146 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
24147 (grub_get_libzfs_handle): Move to ...
24148 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
24149 (grub_get_libzfs_handle): ... here.
24151 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
24153 * script/execute.c (grub_script_execute_cmdline): Check for NULL
24154 as command name case.
24156 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
24158 * disk/raid.c (insert_array): Select unique numbers for named arrays
24159 as well, for use as keys in the disk cache.
24161 2010-08-01 Robert Millan <rmh@gnu.org>
24163 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
24164 kFreeBSD device name, except on ZFS where the filesystem label is
24166 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
24167 `/boot/zfs/zpool.cache'.
24168 Set mountfrom kernel variable using ${kfreebsd_device}.
24170 2010-08-01 Robert Millan <rmh@gnu.org>
24172 Make it even harder to use uninitialized `libzfs_handle' (and
24173 make the interface a bit simpler).
24175 * include/grub/util/misc.h (grub_util_init_libzfs)
24176 (libzfs_handle): Remove.
24177 (grub_get_libzfs_handle): New prototype.
24179 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
24181 (grub_util_init_libzfs): Remove.
24182 (grub_get_libzfs_handle): New function.
24184 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
24185 grub_get_libzfs_handle() to obtain a libzfs handle instead of
24186 accessing `libzfs_handle' directly.
24188 2010-08-01 Robert Millan <rmh@gnu.org>
24190 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24191 (grub_find_zpool_from_mount_point): New function prototypes.
24193 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24194 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24196 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24197 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24198 `static' attribute.
24200 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24201 finding zpool from mount point into ...
24202 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24204 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24205 requested path is part of a ZFS pool, use
24206 grub_find_zpool_from_mount_point() to detect its filesystem name,
24207 and generate a path with `/fsname@path' syntax.
24209 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24211 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
24212 (void) rather than () so that this is a proper prototype.
24214 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24216 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
24218 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24220 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
24221 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
24223 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24225 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
24227 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24229 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
24231 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24233 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
24234 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
24235 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
24236 disable gfxpayload.
24237 (Shell-like scripting): Add real content.
24238 (Serial terminal): Suggest `terminal_input serial; terminal_output
24239 serial' rather than putting the two commands on separate lines,
24240 since console input will be inoperative after the first command.
24241 (menuentry): Document --class, --users, and --hotkey options.
24242 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
24243 Vladimir Serbinenko).
24245 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
24246 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24248 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
24250 2010-08-01 Robert Millan <rmh@gnu.org>
24252 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
24253 (grub_find_zpool_from_mount_point): New function prototypes.
24255 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
24256 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
24258 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
24259 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
24260 `static' attribute.
24262 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
24263 finding zpool from mount point into ...
24264 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
24266 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
24267 requested path is part of a ZFS pool, use
24268 grub_find_zpool_from_mount_point() to detect its filesystem name,
24269 and generate a path with `/fsname@path' syntax.
24271 2010-08-01 Robert Millan <rmh@gnu.org>
24273 Prevent accidental use of uninitialized libzfs_handle.
24275 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
24276 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
24277 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
24279 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
24281 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
24282 util/grub.d/10_linux.in). Fixes Debian bug #591093.
24284 2010-08-01 Robert Millan <rmh@gnu.org>
24286 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
24288 2010-07-31 Robert Millan <rmh@gnu.org>
24290 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
24292 2010-07-31 Robert Millan <rmh@gnu.org>
24294 * kern/emu/misc.c: Add missing license header.
24296 2010-07-31 Robert Millan <rmh@gnu.org>
24298 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
24300 * include/grub/util/libnvpair.h: Include `<config.h>'.
24301 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
24302 declaring libnvpair prototypes ourselves.
24303 * include/grub/util/libzfs.h: Include `<config.h>'.
24304 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
24305 declaring libzfs prototypes ourselves.
24307 (libzfs_handle): Moved to ...
24308 * include/grub/util/misc.h (libzfs_handle): ... here.
24309 Include `<grub/util/libzfs.h>'.
24311 2010-07-30 Robert Millan <rmh@gnu.org>
24313 * include/grub/emu/misc.h: Add missing license header.
24315 2010-07-30 Robert Millan <rmh@gnu.org>
24317 Enable `grub-probe -t device' resolution on ZFS.
24319 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
24320 * include/grub/util/libnvpair.h: New file.
24321 * include/grub/util/libzfs.h: New file.
24323 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
24324 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
24325 `<grub/util/libnvpair.h>'.
24326 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
24328 (find_mount_point_from_dir): New static function.
24329 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
24331 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
24332 find_root_device_from_libzfs() before ressorting to find_root_device().
24334 * include/grub/util/misc.h (grub_util_init_libzfs): New function
24336 * util/misc.c: Include `<grub/util/libzfs.h>'.
24337 (grub_util_init_libzfs): New function.
24338 [HAVE_LIBZFS] (libzfs_handle): New global variable.
24339 [HAVE_LIBZFS] (fini_libzfs): New static function.
24340 (grub_util_init_libzfs): New function.
24341 * util/grub-probe.c (main): Call grub_util_init_libzfs().
24343 2010-07-30 Robert Millan <rmh@gnu.org>
24345 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
24346 (xmalloc, xrealloc, xstrdup, xasprintf): Add
24347 `warn_unused_result' attribute.
24348 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
24349 (grub_xasprintf, grub_xvasprintf): Likewise.
24350 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
24352 2010-07-29 Robert Millan <rmh@gnu.org>
24354 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
24355 (probe): Handle `PRINT_FS_LABEL'.
24356 (main): Handle `-t fs_label'.
24358 2010-07-29 Robert Millan <rmh@gnu.org>
24360 * configure.ac: Remove grub-mkisofs checks.
24362 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
24364 * util/ieee1275/grub-install.in: Don't use empty grub_device.
24365 Reported by: Lennart Sorensen.
24367 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24369 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
24370 prior to terminal_input/terminal_output separation. It's been over 1.5
24371 years and those versions weren't widely deployed.
24373 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
24375 * disk/raid.c (insert_array): Don't count named arrays when looking
24376 for unused array numbers.
24377 Reported and tested by: Michael Guntsche.
24379 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24381 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
24382 implementation of this so that grub-emu links again, with a note
24383 that this should support hotplugging in the future.
24385 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24387 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
24389 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24391 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
24393 (grub_loopback_close): Remove empty function.
24394 (grub_loopback_dev): Remove close method.
24396 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24398 Disable EFI cursor when the EFI console becomes inactive.
24400 * term/efi/console.c (grub_efi_console_init): New function.
24401 (grub_efi_console_fini): New function.
24402 (grub_console_term_output): Register init and fini methods.
24404 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24406 * tests/util/grub-shell-tester.in: Remove bashism and declare as
24409 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24411 * disk/loopback.c (grub_loopback): Replace filename with file.
24412 (delete_loopback): Handle new semantics.
24413 (grub_cmd_loopback): Likewise.
24414 (grub_loopback_iterate): Likewise.
24415 (grub_loopback_close): Likewise.
24417 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24419 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
24421 Reported by: Tito Keitel.
24423 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24425 * docs/grub.texi (Naming convention): Document new naming convention.
24427 2010-07-20 Vadim Solomin <vadic052@gmail.com>
24428 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24430 Generate device.map in something closer to the old ordering.
24432 * util/deviceiter.c (struct device): New declaration.
24433 (compare_file_names): Rename to ...
24434 (compare_devices): ... this. Sort by kernel name in preference to
24435 the stable by-id name, but keep the latter as a fallback comparison.
24436 Update header comment.
24437 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
24438 of `struct device' rather than of plain file names.
24440 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
24442 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
24445 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
24447 * commands/acpi.c (setup_common_tables): Use sizeof instead of
24449 (setv1table): Likewise.
24451 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24453 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
24454 removing the homehost if present.
24455 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
24456 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
24457 removing the homehost if present.
24458 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
24460 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
24462 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
24463 parameter. Set its pointer target to 0.
24464 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
24465 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
24466 `data_offset' value from the superblock for 1.x metadata.
24467 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
24468 data on the device.
24469 (insert_array): Record the start sector of data on the device.
24470 (grub_raid_register): Pass start_sector parameters to
24471 grub_raid_list->detect and insert_array.
24472 * include/grub/raid.h (struct grub_raid_array): Add start_sector
24474 (struct grub_raid): Add start_sector parameter to `detect'.
24476 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
24477 __attribute__ ((packed)), leaving a comment.
24478 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
24479 (grub_mdraid_detect_09): ... here and ...
24480 (grub_mdraid_detect_1x): ... here.
24482 2010-07-20 Peter Henn <peter.henn@web.de>
24484 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
24485 chunk size and disk size, which are already given as sector counts
24486 as distinct from the 0.90 units. Fetch the correct device number
24487 from the role table instead of using the table index.
24489 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
24491 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
24492 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
24493 (WriteMostly1): New macro.
24494 Set array->name to NULL for metadata format 0.90. Add support for
24495 metadata 1.x. Fix some comments.
24496 * disk/raid.c (): Add support for name based RAID arrays. Fix a
24498 * util/getroot.c (grub_util_get_grub_dev): Add support for
24499 /dev/md/name style devices.
24501 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
24503 * .bzrignore: Ignore 20_linux_xen.
24505 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
24507 * util/import_unicode.py: Remove unnecessary imports.
24509 2010-07-17 Aleš Nesrsta <starous@volny.cz>
24511 Hotplugging and USB hub support.
24513 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
24514 (grub_ohci): Likewise.
24515 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
24516 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
24517 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
24518 (GRUB_OHCI_CTRL_EDS): Likewise.
24519 (GRUB_OHCI_BULK_EDS): Likewise.
24520 (GRUB_OHCI_TDS): Likewise.
24521 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
24522 (grub_ohci_ed_phys2virt): New function.
24523 (grub_ohci_virt_to_phys): Likewise.
24524 (grub_ohci_td_phys2virt): Likewise.
24525 (grub_ohci_td_virt2phys): Likewise.
24526 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
24528 (grub_ohci_find_ed): New function.
24529 (grub_ohci_alloc_td): Likewise.
24530 (grub_ohci_free_td): Likewise.
24531 (grub_ohci_free_tds): Likewise.
24532 (grub_ohci_transfer): Use previously allocated memory.
24533 (grub_ohci_portstatus): Reset status changed bit.
24534 (grub_ohci_detect_dev): Supply status changed.
24535 (grub_ohci_fini_hw): Free memory.
24536 (grub_ohci_restore_hw): Reallocate memory.
24537 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
24538 Reset status change.
24539 (grub_uhci_detect_dev): Supply status_change.
24540 * bus/usb/usb.c (attach_hooks): New var.
24541 (grub_usb_device_attach): New function.
24542 (grub_usb_register_attach_hook_class): Likewise.
24543 (grub_usb_unregister_attach_hook_class): Likewise.
24544 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
24545 (grub_usb_add_hub): Reset connection changed bit.
24546 (attach_root_port): New function.
24547 (grub_usb_root_hub): Likewise.
24548 (poll_nonroot_hub): Likewise.
24549 (grub_usb_poll_devices): Likewise.
24550 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
24551 * disk/usbms.c (grub_usbms_open): Use device hooks.
24552 (grub_usbms_iterate) :Poll devices.
24553 (grub_usbms_finddevs): Split into ...
24554 (grub_usbms_attach): ... this ...
24555 (grub_usbms_attach): ... and this.
24556 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
24558 (grub_usb_interface): New fields attached and detach_hook.
24559 (grub_usb_attach_hook_class): New type.
24560 (grub_usb_attach_desc): New struct.
24561 (grub_usb_register_attach_hook_class): New function.
24562 (grub_usb_unregister_attach_hook_class): Likewise.
24563 (grub_usb_poll_devices): Likewise.
24564 (grub_usb_device_attach): Likewise.
24565 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
24566 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
24568 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24570 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
24571 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
24572 delta determination style. Works with most NetBSD partitions too.
24574 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24576 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
24577 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
24579 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
24581 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
24583 2010-07-14 Anton Blanchard <anton@samba.org>
24585 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
24588 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24590 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
24592 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
24594 * kern/partition.c (grub_partition_check_containment): New function to
24595 check that a partition is physically contained in a parent. Since
24596 offsets are relative (and non-negative), this reduces to checking that
24597 the partition ends before its parent.
24598 (grub_partition_map_probe): Discard out-of-range sub-partitions.
24599 (grub_partition_iterate): Likewise.
24600 * include/grub/partition.h (grub_partition_map): Slightly more detailed
24602 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
24603 partitions that start before their parent, and add debug printfs.
24605 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24607 * Makefile.in (.SUFFIX): Spell correctly, as ...
24608 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
24609 bare module name without `.mod', e.g. `test') tried to invoke a
24612 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
24614 * README: Point to the Info manual.
24616 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
24618 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
24619 2nd superblock position from partition size.
24621 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
24623 * Makefile.in (MAINTAINER_CLEANFILES): Remove
24624 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
24625 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
24628 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24630 Restructure SCSI .id handling.
24631 Reported and tested by: Aleš Nesrsta.
24633 * disk/ata.c (grub_atapi_close): Removed. All users updated.
24634 (grub_atapi_dev): Changed .name to "ata". New field .id.
24635 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
24636 (grub_usbms_dev): New field .id.
24637 * disk/scsi.c (grub_scsi_iterate): Generate name.
24638 (grub_scsi_open): Parse name.
24639 * include/grub/scsi.h (grub_make_scsi_id): New function.
24640 (grub_scsi_dev): Change iterate and open to number instead of naming
24641 busses. All users updated.
24642 (grub_scsi): Remove name. Add .bus.
24644 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24646 * commands/help.c (grub_cmd_help): Fix a typo.
24648 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24650 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
24651 Reported and tested by: Colin Watson.
24653 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
24655 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
24658 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
24660 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
24662 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
24664 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
24667 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24669 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
24670 and disk/raid6_recover.c.
24671 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
24672 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
24674 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24676 * term/gfxterm.c (repaint_schedulded): Rename to ...
24677 (repaint_scheduled): ... this. Update all callers.
24678 (repaint_was_schedulded): Rename to ...
24679 (repaint_was_scheduled): ... this. Update all callers.
24681 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24683 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
24684 which we expect to be handled by upper layers.
24686 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
24688 * bus/usb/usbhub.c: #include time.h header.
24690 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24692 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
24693 entry_name also for entries without stat blocks (e.g. ".."); fixes
24694 corruption of the first entry in a directory.
24696 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
24698 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
24699 after setting gfxterm as the active terminal. GRUB_BACKGROUND
24700 doesn't work otherwise.
24702 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24704 * docs/grub.texi (Features): Update list of supported file systems.
24705 (GNU/Linux): Update for GRUB 2.
24706 (Serial terminal): Remove mention of --disable-serial, which was a
24707 GRUB Legacy configure option. Update instructions to use
24708 `terminal_input' and `terminal_output' rather than `terminal'.
24709 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
24710 configuration' and `Installing GRUB using grub-install'.
24711 (Menu entry editor): Update for GRUB 2.
24712 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
24713 Document new -a, -u, and -v options.
24714 (initrd): New section.
24715 (initrd16): New section.
24716 (linux): New section.
24717 (linux16): New section.
24718 (search): The `var' argument to `--set' is optional.
24719 (GRUB only offers a rescue shell): Go into a little more detail on
24722 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24724 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
24726 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24728 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
24729 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
24731 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
24733 * util/i386/pc/grub-setup.c (setup): Rename prefix to
24734 install_prefix, in line with install_dos_part and install_bsd_part.
24735 Add new prefix variable, which is copied to install_prefix after
24736 comparing core.img in memory with the one read from disk in the
24737 no-embedding case, and use that rather than overwriting
24738 install_prefix immediately when installing to a partition.
24739 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
24742 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24744 * configure.ac: Avoid == in test command, it's not portable.
24745 * util/grub.d/30_os-prober.in: Likewise.
24747 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
24749 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
24751 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
24753 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
24754 multiple (top-level) partmaps.
24756 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24758 * util/i386/efi/grub-install.in: Don't use empty grub_device.
24759 Reported by: Tino Keitel.
24761 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
24763 Bidi and diacritics support.
24765 * Makefile.in (widthspec.bin): New target.
24766 (widthspec.h): Likewise.
24767 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
24768 * autogen.sh: Generate unidata.c.
24769 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
24770 * commands/ls.c (grub_ls_list_devices): Likewise.
24771 (grub_ls_list_files): Likewise.
24772 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
24773 (grub_mini_cmd_lsmod): Likewise.
24774 * commands/read.c: Likewise.
24775 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
24776 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
24777 * lib/arg.c (grub_arg_show_help): Likewise.
24778 * lib/crypto.c (grub_password_get): Likewise.
24779 * normal/auth.c (grub_username_get): Likewise.
24780 * normal/misc.c (grub_normal_print_device_info): Likewise.
24781 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
24782 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
24783 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
24784 (normal/charset.c_DEPENDENCIES): New variable.
24785 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
24786 (pkglib_MODULES): Remove charset.mod.
24787 (charset_mod_SOURCES): Removed.
24788 (charset_mod_CFLAGS): Likewise.
24789 (charset_mod_LDFLAGS): Likewise.
24790 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
24791 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
24793 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24794 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
24795 (kernel_img_HEADERS): Add terminfo.h.
24796 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
24797 Fill ->font. Reverse ascii bitmaps.
24798 (grub_font_get_xheight): New function.
24799 * font/font.c (grub_font_get_string_width): Moved from here ...
24800 * gfxmenu/font.c (grub_font_get_string_width): ... here.
24801 * font/font.c (grub_font_draw_string): Moved from here ...
24802 * gfxmenu/font.c (grub_font_draw_string): ... here.
24803 * font/font.c (grub_font_dup_glyph): New function.
24804 (grub_font_blit_glyph): Likewise.
24805 (grub_font_blit_glyph_mirror): Likewise.
24806 (blit_comb): Likewise.
24807 (grub_font_construct_dry_run): Likewise.
24808 (grub_font_get_constructed_device_width): Likewise.
24809 (grub_font_construct_glyph): Likewise.
24810 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
24811 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
24812 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
24813 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
24814 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
24815 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
24816 (grub_font_get_xheight): New proto.
24817 (grub_font_get_constructed_device_width): Likewise.
24818 (grub_font_construct_glyph): Likewise.
24819 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
24820 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
24821 * include/grub/font.h (grub_font_draw_string): Moved from here ...
24822 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
24823 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
24824 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
24825 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
24826 (grub_console_getcharwidth): Likewise.
24827 * include/grub/misc.h (grub_xputs): New proto.
24828 (grub_puts): Inlined.
24829 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
24830 (grub_normal_get_line_counter): Removed.
24831 (grub_install_newline_hook): Likewise.
24832 (grub_normal_get_char_counter): New proto.
24833 (grub_normal_reset_more): Likewise.
24834 (grub_xputs_normal): Likewise.
24835 * include/grub/powerpc/ieee1275/console.h: Removed.
24836 * include/grub/sparc64/ieee1275/console.h: Likewise.
24837 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
24838 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
24839 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
24840 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
24841 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
24842 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
24843 (grub_term_input): Pass reference to self. All users updated.
24844 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
24845 Pass reference to self. New fields normal_color, highlight_color and
24846 data. All users updated.
24847 (grub_putchar): Removed.
24848 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
24849 (grub_unicode_estimate_width): New function.
24850 (grub_term_getcharwidth): Add defaults.
24851 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
24852 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
24853 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
24854 (grub_cls): Remove EXPORT_FUNC.
24855 (grub_setcolorstate): Inline.
24856 (grub_newline_hook): Removed.
24857 * include/grub/terminfo.h: Rewritten. All users updated.
24858 * include/grub/unicode.h: New file.
24859 * include/grub/video.h (grub_video_signed_rect): New type.
24860 * kern/emu/console.c (grub_console_highlight_color): Removed.
24861 (grub_console_normal_color): Likewise.
24862 (grub_console_standard_color): Made static.
24863 (grub_ncurses_putchar): Remove mapping.
24864 (grub_ncurses_getcharwidth): Removed.
24865 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24866 (grub_ncurses_setcolor): Removed.
24867 (grub_ncurses_getcolor): Likewise.
24868 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
24869 (grub_console_putchar): ... this.
24870 (grub_console_putchar): Handle argument difference.
24871 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
24872 console_init_early and console_init_lately.
24873 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
24874 * kern/misc.c (grub_puts): Removed.
24875 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
24876 (grub_vsnprintf_real): Remove str = NULL support.
24877 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
24878 * normal/charset.c (grub_utf8_to_ucs4): ... here.
24879 * kern/term.c (grub_putcode): Renamed to ...
24880 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
24881 (grub_putchar): Removed.
24882 (grub_xputs_dumb): New function.
24883 (grub_xputs): New variable.
24884 * lib/charset.c: Move from here ...
24885 * normal/charset.c: ... to here.
24886 (grub_ucs4_to_utf8): New function.
24887 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
24888 (join_types): New variable.
24889 (unpack_join): New function.
24890 (bidi_types): New variable.
24891 (unpack_bidi): New function.
24892 (get_bidi_type): Likewise.
24893 (get_join_type): Likewise.
24894 (is_mirrored): Likewise.
24895 (grub_unicode_get_comb_type): Likewise.
24896 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
24897 (is_type_after): Likewise.
24898 (grub_unicode_aglomerate_comb): Likewise.
24899 (bidi_line_wrap): Likewise.
24900 (grub_bidi_line_logical_to_visual): Likewise.
24901 (grub_bidi_logical_to_visual): Likewise.
24902 (grub_unicode_mirror_code): Likewise.
24903 (grub_unicode_shape_code): Likewise.
24904 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
24905 Don't use grub_putchar.
24906 * normal/main.c (grub_normal_init_page): Use grub_putcode.
24907 (grub_normal_reader_init): Likewise.
24908 (grub_xputs_saved): New variable.
24909 (GRUB_MOD_INIT): Set grub_xputs.
24910 (GRUB_MOD_FINI): Restore grub_xputs.
24911 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
24912 (menu_init): Avoid printing gfxmenu error.
24913 (show_menu): Use grub_normal_get_char_counter.
24914 * normal/menu_entry.c (update_screen): Fix out-of-array.
24915 (complete): Avoid NULL dereferencing.
24916 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
24917 * normal/menu_text.c (print_spaces): Removed.
24918 (grub_print_ucs4): Likewise.
24919 (grub_print_message_indented): Use grub_print_ucs4.
24920 (print_message): Use grub_putcode.
24921 (print_entry): Hanlde diacritics.
24922 * normal/term.c (term_state): New type.
24923 (grub_more_lines): Removed.
24924 (term_states): New variable.
24925 (grub_normal_line_counter): Renamed to ..
24926 (grub_normal_char_counter): ...this. All users updated.
24927 (grub_normal_get_line_counter): Renamed to ...
24928 (grub_normal_get_char_counter): ... this.
24929 (grub_normal_reset_more): New function.
24930 (process_newline): Removed.
24931 (print_more): New function.
24932 (grub_install_newline_hook): Removed.
24933 (map_code): New function.
24934 (grub_puts_terminal): Use grub_print_ucs4.
24935 (putglyph): New function.
24936 (putcode_real): Likewise.
24937 (grub_putcode): Use putcode_real.
24938 (get_maxwidth): New function.
24939 (get_startwidth): Likewise.
24940 (print_ucs4_terminal): Likewise.
24941 (find_term_state): Likewise.
24942 (put_glyphs_terminal): Likewise.
24943 (print_backlog): Likewise.
24944 (print_ucs4_real): Likewise.
24945 (grub_print_ucs4): Likewise.
24946 (grub_xputs_normal): Likewise.
24947 * term/efi/console.c (grub_console_putchar): Output diacritics.
24948 (grub_console_getcharwidth): Removed.
24949 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24950 * term/gfxterm.c (clear_char): Free chars.
24951 (scroll_up): Avoid leaking memory.
24952 (grub_gfxterm_putchar): Support diacritics.
24953 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
24954 * term/i386/pc/console.c (grub_console_term_output): Declare as
24955 GRUB_TERM_CODE_TYPE_VGA.
24956 * term/i386/pc/vga.c (grub_vga_term): Declare as
24957 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
24958 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
24959 GRUB_TERM_CODE_TYPE_VGA.
24960 * term/i386/vga_common.c (map_char): Removed.
24961 (grub_console_putchar): Likewise.
24962 (grub_console_getcharwidth): Likewise.
24963 * term/ieee1275/ofconsole.c: Simplify using terminfo.
24964 (colors): Reordered to match terminfo.
24965 (grub_ofconsole_normal_color): Removed.
24966 (grub_ofconsole_writeesc): Likewise.
24967 (grub_ofconsole_highlight_color): Likewise.
24968 (grub_ofconsole_getcharwidth): Likewise.
24969 (grub_ofconsole_setcolorstate): Likewise.
24970 (grub_ofconsole_setcolor): Likewise.
24971 (grub_ofconsole_getcolor): Likewise.
24972 (grub_ofconsole_readkey): Renamed to ...
24973 (readkey): ... this. Remove escape sequence handling. Return -1 on no
24975 (grub_ofconsole_checkkey): Removed.
24976 (grub_ofconsole_getkey): Likewise.
24977 (grub_ofconsole_getxy): Likewise.
24978 (grub_ofconsole_gotoxy): Likewise.
24979 (grub_ofconsole_cls): Likewise.
24980 (grub_ofconsole_refresh): Likewise.
24981 (grub_ofconsole_terminfo_input): New struct.
24982 (grub_ofconsole_terminfo_output): Likewise.
24983 (grub_ofconsole_term_input): Use terminfo.
24984 (grub_ofconsole_term_output): Likewise.
24985 (grub_console_init): Split into ...
24986 (grub_console_init_early): ...this and ...
24987 (grub_console_init_lately): ...this. Use terminfo.
24988 (grub_ofconsole_putchar): Renamed to ...
24989 (put): ... this. Remove mapping.
24990 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
24991 * term/serial.c: Simplify using terminfo.
24994 (keep_track): Likewise.
24995 (registered): Likewise.
24996 (input_buf): Likewise.
24997 (npending): Likewise.
24998 (serial_translate_key_sequence): Likewise.
24999 (fill_input_buf): Likewise.
25000 (grub_serial_checkkey): Likewise.
25001 (grub_serial_getkey): Likewise.
25002 (grub_serial_getxy): Likewise.
25003 (grub_serial_gotoxy): Likewise.
25004 (grub_serial_putchar): Likewise.
25005 (grub_serial_cls): Likewise.
25006 (grub_serial_setcolorstate): Likewise.
25007 (grub_serial_setcursor): Likewise.
25008 (serial_hw_init): Use serial_hw_fetch.
25009 (grub_serial_terminfo_input): New variable.
25010 (grub_serial_terminfo_output): Likewise.
25011 (grub_serial_term_input): Use terminfo.
25012 (grub_serial_term_output): Likewise.
25013 * term/terminfo.c (putstr): Use put.
25014 (grub_terminfo_all_free): New function
25015 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
25016 (grub_terminfo_output_register): New function.
25017 (grub_terminfo_output_unregister): Likewise.
25018 (grub_terminfo_getxy): Likewise.
25019 (grub_terminfo_readkey): Likewise.
25020 (grub_terminfo_checkkey): Likewise.
25021 (grub_terminfo_getkey): Likewise.
25022 (grub_terminfo_input_init): Likewise.
25023 (print_terminfo): Likewise.
25024 (grub_cmd_terminfo): Handle encoding.
25025 (grub_terminfo_gotoxy): Track position.
25026 (grub_terminfo_cls): Likewise.
25027 (grub_terminfo_putchar): Likewise.
25028 (grub_terminfo_setcolorstate): Handle colors
25029 (grub_terminfo_cursor_on): This ...
25030 (grub_terminfo_cursor_off): ... and this merged into ...
25031 (grub_terminfo_setcursor): ... this.
25032 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
25033 * unicode/ArabicShaping.txt: New file (imported from Unicode).
25034 * unicode/BidiMirroring.txt: Likewise.
25035 * unicode/UnicodeData.txt: Likewise.
25036 * unicode/COPYING: Likewise.
25037 * util/grub-editenv.c (grub_putchar): Removed.
25038 (grub_xputs_real): New function.
25039 (grub_xputs): New variable.
25040 * util/grub-fstest.c (grub_putchar): Removed.
25041 (grub_xputs_real): New function.
25042 (grub_xputs): New variable.
25043 * util/grub-mkdevicemap.c (grub_putchar): Removed.
25044 (grub_xputs_real): New function.
25045 (grub_xputs): New variable.
25046 * util/grub-probe.c (grub_putchar): Removed.
25047 (grub_xputs_real): New function.
25048 (grub_xputs): New variable.
25049 * util/grub-script-check.c (grub_putchar): Removed.
25050 (grub_xputs_real): New function.
25051 (grub_xputs): New variable.
25052 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
25053 (grub_xputs_real): New function.
25054 (grub_xputs): New variable.
25055 * util/import_unicode.py: New file.
25056 * util/grub-mkfont.c (ft_errmsgs): New array.
25057 (grub_glyph_info): Make bitmap a pointer.
25058 (file_formats): New type WIDTH_SPEC.
25059 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
25060 (options): Add width-spec.
25062 (add_char): Renamed to ...
25063 (add_glyph): ... this.
25064 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
25065 (glyph_replace): New type.
25066 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
25067 (add_char): New function.
25068 (add_subst): Likewise.
25069 (process_cursive): Likewise.
25070 (add_font): Handle GSUB.
25071 (write_font_width_spec): New function.
25072 (main): Sort glyphs.
25073 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
25074 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
25075 * kern/term.c (grub_cls): Moved from here...
25076 * normal/term.c (grub_cls): ... here.
25078 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25080 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
25081 suitable for using within the format argument of printf when
25082 converting grub_size_t.
25083 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
25084 "x" to convert grub_size_t arguments.
25086 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25088 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
25090 (list_get_minimal_size): Take selection box into account.
25092 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25094 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
25097 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25099 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
25100 devices when iterating over /dev/disk/by-id; they will be handled
25101 later if appropriate, which they aren't always (e.g. LVM).
25103 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25105 * include/grub/misc.h (grub_reboot): Declare as noreturn.
25106 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
25108 (grub_halt): Likewise.
25109 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
25111 (grub_halt): Don't return, even if all of shut-down, power-off, and
25114 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25116 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
25117 arguments, not three.
25119 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25121 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
25122 * util/grub.d/10_linux.in: Use it to check for LVM, so that
25123 LVM-on-RAID is handled correctly.
25125 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25127 * docs/grub.texi (Changes from GRUB Legacy): New section.
25128 (Future): Fix typo.
25130 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
25132 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
25133 grub.d/README accidentally ends up executable for one reason or
25134 another. Ignore it.
25136 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25138 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
25139 (gpt_partition_map_iterate): Support non-512B sectors.
25141 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25143 * kern/efi/init.c (grub_efi_init): Disable watchdog.
25144 Tested by: Seth Goldberg.
25146 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
25148 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
25149 Properly align mbi.
25150 Reported by: Seth Goldberg.
25152 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25154 * util/grub-mkrescue.in: Avoid module duplication.
25156 2010-07-01 Sean Finney <seanius@seanius.net>
25158 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
25160 2010-07-01 Sean Finney <seanius@seanius.net>
25162 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
25164 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25166 * disk/lvm.c (grub_lvm_checkvalue): New function.
25167 (grub_lvm_check_flag): Likewise.
25169 2010-07-01 Robert Millan <rmh@gnu.org>
25171 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
25172 Support 'p' as partition separator on kernel of FreeBSD (used
25174 (grub_util_biosdisk_get_grub_dev): Likewise.
25176 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
25178 Yeeloong firmware port.
25180 * boot/mips/yeeloong/fwstart.S: New file.
25181 * bus/cs5536.c (gpiodump): New const.
25182 (set_io_space): New function.
25183 (set_iod): Likewise.
25184 (set_p2d): Likewise.
25185 (grub_cs5536_init_geode): Likewise.
25186 * commands/mips/yeeloong/lsspd.c: New file.
25187 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
25188 (serial_mod_SOURCES): New variable.
25189 (serial_mod_CFLAGS): Likewise.
25190 (serial_mod_LDFLAGS): Likewise.
25191 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
25192 term/terminfo.c and term/tparm.c.
25193 (pkglib_IMAGES): Add fwstart.img.
25194 (fwstart_img_SOURCES): New variable.
25195 (fwstart_img_CFLAGS): Likewise.
25196 (fwstart_img_ASFLAGS): Likewise.
25197 (fwstart_img_LDFLAGS): Likewise.
25198 (fwstart_img_FORMAT): Likewise.
25199 (pkglib_MODULES): Add lsspd.mod.
25200 (lsspd_mod_SOURCES): New variable.
25201 (lsspd_mod_CFLAGS): Likewise.
25202 (lsspd_mod_LDFLAGS): Likewise.
25203 (pkglib_MODULES): Add halt.mod.
25204 (halt_mod_SOURCES): New variable.
25205 (halt_mod_CFLAGS): Likewise.
25206 (halt_mod_LDFLAGS): Likewise.
25207 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
25208 (serial_mod_SOURCES): Removed.
25209 (serial_mod_CFLAGS): Likewise.
25210 (serial_mod_LDFLAGS): Likewise.
25211 * disk/ata.c (check_device): New function.
25212 (grub_ata_device_initialize): Use check_device.
25213 (grub_ata_iterate): Recheck devices.
25214 (grub_ata_open): Likewise.
25215 (grub_atapi_iterate): Likewise.
25216 (grub_atapi_open): Likewise.
25217 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
25218 (GRUB_ATA_CH1_PORT1): Likewise.
25219 (GRUB_ATA_CH0_PORT2): Likewise.
25220 (GRUB_ATA_CH1_PORT2): Likewise.
25221 * include/grub/mips/loongson.h: New file.
25222 * include/grub/mips/yeeloong/ec.h: Likewise.
25223 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
25224 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
25225 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
25226 * include/grub/misc.h (grub_halt): Declare as noreturn.
25227 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
25228 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
25229 (UART_ENABLE_FIFO_TRIGGER1): New definition.
25230 (UART_ENABLE_DTRRTS): Likewise.
25231 (UART_ENABLE_MODEM): Removed.
25232 (UART_ENABLE_OUT2): New const.
25233 * include/grub/term.h (grub_term_register_input_active): New function.
25234 (grub_term_register_output_active): Likewise.
25235 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
25237 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
25238 (init_pci): New function.
25239 (grub_machine_init): Execute platform init when firmware. Init serial.
25240 (grub_halt): Implement.
25241 (grub_exit): Likewise.
25242 (grub_reboot): Likewise.
25243 * term/serial.c (serial_hw_init): Update macros.
25244 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
25245 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
25246 (image_targets): New target mipsel-yeeloong-flash.
25247 (generate_image): Support IMAGE_YEELOONG_FLASH.
25248 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
25249 (grub_video_sm712_setup): Init card.
25250 (grub_video_sm712_set_palette): Removed.
25251 * video/sm712_init.c: New file.
25253 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
25255 * Makefile.in (install-local): Temporarily prepend $(builddir) to
25256 PATH when running help2man and then run it on the unadorned
25257 executable names, rather than passing $(builddir)/* paths to
25258 help2man. This avoids the build directory ending up in generated
25261 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25263 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
25264 to avoid accidents when debugging with 'sh -x'.
25265 * util/grub-mkrescue.in: Likewise.
25266 * util/grub.d/00_header.in: Likewise.
25267 * util/grub.d/10_hurd.in: Likewise.
25268 * util/grub.d/10_kfreebsd.in: Likewise.
25269 * util/grub.d/10_linux.in: Likewise.
25270 * util/grub.d/10_netbsd.in: Likewise.
25271 * util/grub.d/10_windows.in: Likewise.
25272 * util/grub.d/20_linux_xen.in: Likewise.
25273 * util/grub.d/30_os-prober.in: Likewise.
25274 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25276 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
25278 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
25279 last character in the buffer.
25280 Reported by: Vladimir Serbinenko.
25282 2010-06-29 Robert Millan <rmh@gnu.org>
25284 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
25285 (Command-line and menu entry commands): Document `badram' command.
25287 2010-06-28 Robert Millan <rmh@gnu.org>
25289 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
25290 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
25291 command using ${GRUB_BADRAM} as parameter.
25293 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25295 * docs/grub.texi (Device map): New section.
25296 (Themes): New section (stub).
25297 * Makefile.in (docs/grub.info): The info documentation now builds
25298 without errors. Make sure it stays that way.
25300 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25302 Use normal parser for menu entries.
25303 Reported by: Thomas Frauendorfer
25305 * include/grub/parser.h (grub_parser_execute): Don't export.
25306 * normal/menu.c (grub_menu_execute_entry_real): New function.
25307 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
25309 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25311 * docs/grub.texi (Embedded configuration): New section (replacing
25312 old "Preset Menu" stub).
25313 (Images): New section.
25314 (configfile): Note that any menu entries defined in `file' are shown
25317 2010-06-28 Josh Triplett <josh@joshtriplett.org>
25319 * mmap/i386/pc/mmap_helper.S: Set CF on return.
25321 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25323 * util/grub-install.in: Add --debug-image= option.
25325 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25327 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
25330 * util/deviceiter.c (check_device): Rename to ...
25331 (check_device_readable_unique): ... this. Update all callers.
25332 Maintain and check a list of which devices (by canonicalized name)
25333 have already been seen.
25334 (clear_seen_devices): New function.
25335 (compare_file_names) [__linux__]: New function.
25336 (grub_util_iterate_devices): Clear the list of seen devices on exit
25337 and (just in case) on entry.
25338 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
25339 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
25340 seen-devices list, superseded by general code in check_device.
25342 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
25344 * commands/cat.c (options): New variable.
25345 (grub_cmd_cat): Parse options. If the --dos option is given, print
25346 DOS-style "\r\n" line endings as simple newlines (Debian bug
25348 (GRUB_MOD_INIT): Use extcmd.
25349 (GRUB_MOD_FINI): Likewise.
25350 * docs/grub.texi (cat): Document --dos.
25352 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25354 XEN with Linux grub-mkconfig support.
25356 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
25357 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
25358 GRUB_CMDLINE_XEN_DEFAULT.
25359 * util/grub.d/20_linux_xen.in: New file.
25361 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
25363 Initialise VGA video on qemu ourselves.
25365 * boot/i386/qemu/boot.S: Don't call 0xc000.
25366 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
25367 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
25368 (kernel_img_HEADERS): Add pci.h.
25369 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
25370 * configure.ac: Force unifont on qemu and yeeloong.
25371 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
25372 (grub_vga_palette_write): Use correct register.
25373 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
25374 Call grub_qemu_init_cirrus.
25375 * kern/i386/qemu/init.c: New file.
25376 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
25378 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
25380 2010-06-26 Pavel Roskin <proski@gnu.org>
25382 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
25385 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25387 * docs/grub.texi (Simple configuration): Explain that
25388 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
25389 set to `true' to disable their respective recovery entries, not
25392 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
25394 Make the `source' command slightly faster.
25396 * normal/main.c (grub_normal_execute): Don't re-read list files when
25399 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25401 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
25402 field position and mask size to red fields from mode_info, not
25404 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
25405 Remove redundant tag->common.framebuffer_type assignment.
25406 Reported by: Seth Goldberg.
25408 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
25410 Sync up other versions of the Linux loader with Robert Millan's
25411 change of 2010-01-09, "Make loader output a bit more user-friendly".
25413 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
25415 (grub_cmd_linux): Likewise.
25416 (grub_cmd_initrd): Likewise.
25417 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
25418 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
25420 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
25422 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
25423 larger than MEMORY_MAP_SIZE.
25425 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
25427 Fix parallel build.
25429 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
25431 * script/parser.y: #include grub_script.tab.h header.
25433 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25435 Support >3GiB and <16MiB RAM in i386-qemu.
25437 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
25438 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
25439 (grub_lower_mem): Removed.
25440 (grub_upper_mem): Likewise.
25441 (mem_size): Made static.
25442 (above_4g): New variable.
25443 (grub_machine_mmap_init): Detect small mem_size and above_4g.
25444 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
25447 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25449 Cirrus 5446 and Bochs video cards support.
25451 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
25453 (video_cirrus_mod_SOURCES): New variable.
25454 (video_cirrus_mod_CFLAGS): Likewise.
25455 (video_cirrus_mod_LDFLAGS): Likewise.
25456 (video_bochs_mod_SOURCES): Likewise.
25457 (video_bochs_mod_CFLAGS): Likewise.
25458 (video_bochs_mod_LDFLAGS): Likewise.
25459 * include/grub/vga.h: New file.
25460 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
25461 (grub_video_fb_set_page_t): New type.
25462 (grub_video_fb_setup): New prototype.
25463 (grub_video_fb_swap_buffers): Likewise.
25464 (grub_video_fb_get_info_and_fini): Likewise.
25465 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
25466 (CRTC_DATA_PORT): Likewise.
25467 (CRTC_CURSOR): Likewise.
25468 (CRTC_CURSOR_ADDR_HIGH): Likewise.
25469 (CRTC_CURSOR_ADDR_LOW): Likewise.
25470 (CRTC_CURSOR_DISABLE): Likewise.
25471 (update_cursor): Use grub_vga_cr_write.
25472 (grub_vga_text_setcursor): Likewise.
25473 * video/bochs.c: New file.
25474 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
25475 (palette): Likewise.
25476 (palette_size): Likewise.
25477 (framebuffer): New variable.
25478 (grub_video_fb_init): Use 'framebuffer'.
25479 (grub_video_fb_fini): Likewise.
25480 (grub_video_fb_get_info): Likewise.
25481 (grub_video_fb_get_palette): Likewise.
25482 (grub_video_fb_set_palette): Likewise.
25483 (grub_video_fb_set_viewport): Likewise.
25484 (grub_video_fb_get_viewport): Likewise.
25485 (grub_video_fb_map_color): Likewise.
25486 (grub_video_fb_map_rgb): Likewise.
25487 (grub_video_fb_map_rgba): Likewise.
25488 (grub_video_fb_unmap_color): Likewise.
25489 (grub_video_fb_unmap_color_int): Likewise.
25490 (grub_video_fb_fill_rect): Likewise.
25491 (grub_video_fb_blit_bitmap): Likewise.
25492 (grub_video_fb_blit_render_target): Likewise.
25493 (grub_video_fb_scroll): Likewise.
25494 (grub_video_fb_create_render_target): Likewise.
25495 (grub_video_fb_doublebuf_blit_init): Likewise.
25496 (grub_video_fb_set_active_render_target): Handle doublebuffering.
25497 (doublebuf_pageflipping_update_screen): New function.
25498 (doublebuf_pageflipping_init): Likewise.
25499 (grub_video_fb_setup): Likewise.
25500 (grub_video_fb_swap_buffers): Likewise.
25501 (grub_video_fb_get_info_and_fini): Likewise.
25502 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
25504 (doublebuf_pageflipping_commit): Restructured into ...
25505 (doublebuf_pageflipping_set_page): ... this.
25506 (doublebuf_pageflipping_update_screen): Removed.
25507 (doublebuf_pageflipping_init): Likewise.
25508 (double_buffering_init): Likewise.
25509 (grub_video_vbe_setup): Use grub_video_fb_setup.
25510 (grub_video_vbe_swap_buffers): Removed.
25511 (grub_video_vbe_set_active_render_target): Likewise.
25512 (grub_video_vbe_get_active_render_target): Likewise.
25513 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
25514 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
25515 grub_video_fb_set_active_render_target and
25516 grub_video_fb_get_active_render_target.
25517 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
25518 (SEQUENCER_DATA_PORT): Likewise.
25519 (MAP_MASK_REGISTER): Likewise.
25520 (CRTC_ADDR_PORT): Likewise.
25521 (CRTC_DATA_PORT): Likewise.
25522 (START_ADDR_HIGH_REGISTER): Likewise.
25523 (START_ADDR_LOW_REGISTER): Likewise.
25524 (GRAPHICS_ADDR_PORT): Likewise.
25525 (GRAPHICS_DATA_PORT): Likewise.
25526 (READ_MAP_REGISTER): Likewise.
25527 (INPUT_STATUS1_REGISTER): Likewise.
25528 (INPUT_STATUS1_VERTR_BIT): Likewise.
25529 (get_map_mask): Use grub_vga_sr_read.
25530 (set_map_mask): Use grub_vga_sr_write.
25531 (set_read_map): Use grub_vga_gr_write.
25532 (set_start_address): Use grub_vga_cr_write.
25533 * video/sm712.c (framebuffer): Remove leftover fields.
25535 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
25537 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
25538 setting GRUB_VIDEO_BACKEND. Make it available as a user override
25539 instead. Replace the gfxterm backend check with a check that
25540 ${GRUB_PREFIX}/video.lst is non-empty.
25541 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
25543 (load_video): New generated function. Call it before loading
25544 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
25545 * util/grub.d/10_linux.in (linux_entry): Call load_video.
25546 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
25547 * docs/grub.texi (Simple configuration): Document
25548 GRUB_VIDEO_BACKEND.
25550 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
25552 Use video functions in linux and xnu loaders.
25554 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
25555 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
25556 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
25557 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
25558 loader/i386/pc/linux.c.
25559 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
25560 (find_line_len): Removed.
25561 (find_framebuf): Likewise.
25562 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
25563 * loader/i386/efi/xnu.c: Removed.
25564 * loader/i386/pc/xnu.c: Moved from here...
25565 * loader/i386/xnu.c: ...here.
25567 Enable priorities in video drivers.
25569 * include/grub/video.h (grub_video_adapter_prio_t): New type.
25570 (grub_video_adapter): New field prio.
25571 (grub_video_register): Respect prio when inserting.
25572 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
25573 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
25574 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
25575 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
25576 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
25577 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
25578 * video/sm712.c (grub_video_sm712_adapter): Likewise.
25582 * include/grub/video.h (grub_video_driver_id_t): New value
25583 GRUB_VIDEO_DRIVER_SDL.
25584 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
25586 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25588 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
25589 argument to printf.
25590 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25592 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25594 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
25595 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25597 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25599 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
25600 directly, and recommend grub-install instead.
25601 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
25603 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
25605 Fix i386-pc prefix handling with nested partitions (Debian bug
25606 #585068). Note that the case where the core image is booted using
25607 multiboot and relocated from its original location still requires
25610 * kern/i386/pc/init.c (make_install_device): If the prefix starts
25611 with "(,", fill the boot drive in between those two characters, but
25612 expect that a full partition specification including partition map
25614 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
25615 specified, write a prefix without the drive name but including a
25616 full partition specification.
25618 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
25620 * util/grub-mkconfig.in: Ignore non-option arguments, for
25621 compatibility with older versions (before 2010-06-12) which did the
25622 same. In particular, this makes it easier to ship an update-grub
25623 wrapper which is compatible with that used with GRUB Legacy (Debian
25626 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25628 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
25629 for manual page generation.
25631 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
25633 * po/POTFILES: Remove leftover commands/handler.c.
25635 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25637 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
25638 left this script non-functional.
25640 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
25642 * docs/man/grub-emu.h2m: New file.
25644 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
25646 * docs/grub.texi (Commands): Document reduced command set in rescue
25648 (cpuid): New section.
25650 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
25652 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
25653 new partition naming style.
25654 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
25656 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
25658 Add "-o grub.iso" like cmdline options support.
25660 * util/grub-install.in: Improve cmdline option parsing.
25661 * util/grub-mkconfig.in: Likewise.
25662 * util/grub-mkrescue.in: Likewise.
25663 * util/grub-reboot.in: Likewise.
25664 * util/grub-set-default.in: Likewise.
25665 * util/i386/efi/grub-install.in: Likewise.
25666 * util/ieee1275/grub-install.in: Likewise.
25667 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25669 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25671 * .bzrignore: Ignore 41_custom.
25673 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25675 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
25677 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25679 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
25680 prototype declarations.
25682 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
25683 generating fs, partmap, and video lists.
25684 * include/grub/fs.h (grub_fs_register): Omit prototype if
25685 GRUB_LST_GENERATOR is defined.
25686 * include/grub/partition.h (grub_partition_map_register): Likewise.
25687 * include/grub/video.h (grub_video_register): Likewise.
25689 2010-06-12 Javier Martín <lordhabbit@gmail.com>
25691 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
25693 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
25695 * util/grub-mkrescue.in: Support --xorriso argument.
25697 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25699 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
25700 Suggested by: Thomas Schmitt.
25702 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25704 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
25705 Suggested by: Thomas Schmitt.
25707 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
25709 custom.cfg support.
25711 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
25712 * util/grub.d/41_custom.in: New file.
25714 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
25716 * util/grub-mkrescue.in (make_image): Remove sh module, which has
25717 been merged back into normal.
25719 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25721 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
25722 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
25724 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
25726 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
25727 when generating manual pages.
25728 * docs/man/grub-bin2h.h2m: New file.
25729 * docs/man/grub-editenv.h2m: New file.
25730 * docs/man/grub-fstest.h2m: New file.
25731 * docs/man/grub-install.h2m: New file.
25732 * docs/man/grub-macho2img.h2m: New file.
25733 * docs/man/grub-mkconfig.h2m: New file.
25734 * docs/man/grub-mkdevicemap.h2m: New file.
25735 * docs/man/grub-mkfont.h2m: New file.
25736 * docs/man/grub-mkimage.h2m: New file.
25737 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
25738 * docs/man/grub-mkrelpath.h2m: New file.
25739 * docs/man/grub-mkrescue.h2m: New file.
25740 * docs/man/grub-ofpathname.h2m: New file.
25741 * docs/man/grub-pe2elf.h2m: New file.
25742 * docs/man/grub-probe.h2m: New file.
25743 * docs/man/grub-reboot.h2m: New file.
25744 * docs/man/grub-script-check.h2m: New file.
25745 * docs/man/grub-set-default.h2m: New file.
25746 * docs/man/grub-setup.h2m: New file.
25748 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
25750 Use FOR_* macros instead of *_iterate whenever possible.
25752 * commands/handler.c: Removed.
25753 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
25754 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
25755 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25756 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
25757 (grub_probe_SOURCES): Remove kern/parser.c.
25758 (util/grub-script-check.c_DEPENDENCIES): Removed.
25759 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
25760 and grub_script_check_init.c.
25761 (grub_script_check_init.lst): Removed.
25762 (grub_script_check_init.h): Likewise.
25763 (grub_script_check_init.c): Likewise.
25764 (pkglib_MODULES): Remove handler.mod and sh.mod.
25765 (handler_mod_SOURCES): Removed.
25766 (handler_mod_CFLAGS): Likewise.
25767 (handler_mod_LDFLAGS): Likewise.
25768 (normal_mod_SOURCES): Remove normal/handler.c.
25769 Add script/main.c, script/script.c, script/execute.c,
25770 script/function.c, script/lexer.c, grub_script.tab.c
25771 and grub_script.yy.c.
25772 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25773 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25774 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
25775 (grub_setup_SOURCES): Remove kern/parser.c.
25776 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25777 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
25778 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
25779 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25780 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
25781 (grub_setup_SOURCES): Remove kern/parser.c.
25782 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
25783 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
25784 * include/grub/command.h (grub_command_iterate): Removed.
25785 (FOR_COMMANDS): New macro.
25786 * include/grub/dl.h (grub_dl): New member next.
25787 (grub_dl_iterate): Removed.
25788 (grub_dl_head): New variable declaration.
25789 (FOR_DL_MODULES): New macro.
25790 * include/grub/fs.h: Include list.h.
25791 (grub_fs): Make next first element.
25792 (grub_fs_list): New variable declaration.
25793 (grub_fs_register): Make inline.
25794 (grub_fs_unregister): Likewise.
25795 (grub_fs_iterate): Removed.
25796 (FOR_FILESYSTEMS): New macro.
25797 * include/grub/handler.h: Removed.
25798 * include/grub/list.h (grub_list_hook_t): Removed.
25799 (grub_list_test_t): Likewise.
25800 (grub_list_pop): Likewise.
25801 (grub_list_iterate): Likewise.
25802 (grub_list_insert): Likewise.
25803 (FOR_LIST_ELEMENTS): New macro.
25804 * include/grub/parser.h (grub_parser_class): Removed.
25805 (grub_parser_register): Likewise.
25806 (grub_parser_unregister): Likewise.
25807 (grub_parser_get_current): Likewise.
25808 (grub_parser_set_current): Likewise.
25809 (grub_register_rescue_parser): Likewise.
25810 (grub_rescue_parse_line): New function.
25811 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
25812 * include/grub/script_sh.h (grub_script_function_list): New variable
25814 (FOR_SCRIPT_FUNCTIONS): New macro.
25815 (grub_script_function_iterate): Removed.
25816 (grub_normal_parse_line): New prototype.
25817 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
25818 (FOR_DISABLED_TERM_INPUTS): Likewise.
25819 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
25820 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
25821 * include/grub/video.h (grub_video_adapter): Move 'next' to first
25823 (grub_video_register): Inline.
25824 (grub_video_unregister): Likewise.
25825 (grub_video_adapter_list): New variable declaration.
25826 (grub_video_iterate): Removed.
25827 (FOR_VIDEO_ADAPTERS): New macro.
25828 * kern/dl.c (grub_dl_list): Removed. All users updated.
25829 (grub_dl_iterate): Removed.
25830 * kern/fs.c (grub_fs_list): Make global.
25831 (grub_fs_register): Removed.
25832 (grub_fs_unregister): Likewise.
25833 (grub_fs_iterate): Likewise.
25834 * kern/handler.c: Removed.
25835 * kern/list.c (grub_list_pop): Removed.
25836 (grub_list_iterate): Likewise.
25837 (grub_list_insert): Likewise.
25838 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
25839 (grub_prio_list_insert): Don't use grub_list_insert.
25840 * kern/main.c (grub_register_rescue_parser): Don't call
25841 grub_register_rescue_parser.
25842 * kern/parser.c (grub_parser_class): Removed.
25843 (grub_parser_execute): Use grub_rescue_parse_line.
25844 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
25845 (grub_rescue_parser): Removed.
25846 (grub_register_rescue_parser): Likewise.
25847 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
25848 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
25849 (grub_auth_check_authentication): Likewise.
25850 * normal/completion.c (iterate_command): Removed.
25851 (grub_normal_do_completion): Use FOR_COMMANDS.
25852 * normal/handler.c: Removed.
25853 * normal/main.c (read_config_file): Remove parser changing.
25854 (grub_normal_execute): Don't call read_handler_list.
25855 (grub_normal_read_line_real): Statically allocate prompt.
25856 (grub_cmdline_run): Use grub_normal_parse_line.
25857 (GRUB_MOD_FINI): Don't call free_handler_list.
25858 * normal/menu_entry.c (run): Likewise.
25859 * script/function.c (grub_script_function_list): Make global.
25860 (grub_script_function_iterate): Removed.
25861 * script/main.c (grub_normal_parse_line): Make global.
25862 (grub_sh_parser): Removed.
25863 (GRUB_MOD_INIT): Likewise.
25864 (GRUB_MOD_FINI): Likewise.
25865 * tests/lib/functional_test.c (grub_functional_test): Use
25867 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
25868 (grub_test_run): Use FOR_LIST_ELEMENTS.
25869 * tests/lib/unit_test.c (main): Likewise.
25870 * util/deviceiter.c (grub_util_iterate_devices): Don't use
25872 * util/grub-fstest.c (grub_term_input_class): Removed.
25873 (grub_term_output_class): Likewise.
25874 * util/grub-probe.c: Likewise.
25875 * util/i386/pc/grub-setup.c: Likewise.
25876 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25877 * util/grub-script-check.c (main): Don't call grub_init_all and
25879 * video/video.c (grub_video_adapter_list): Make global.
25880 (grub_video_register): Removed.
25881 (grub_video_unregister): Likewise.
25882 (grub_video_iterate): Likewise.
25884 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
25886 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
25887 reported by Henrique Ferreiro.
25889 2010-06-09 Robert Millan <rmh@gnu.org>
25891 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
25892 ones, when both are available.
25894 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25896 Make --version uniform and avoid hard-coded program name.
25898 * util/grub-mkimage.c (main): Use `program_name' instead of
25900 * util/i386/pc/grub-setup.c (main): Likewise.
25901 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
25902 * util/grub-install.in: Save the basename of $0 in $self, and use the
25903 latter in informational messages. Use the same format for --version
25904 as the binary programs.
25905 * util/grub-mkconfig.in: Likewise.
25906 * util/grub-mkrescue.in: Likewise.
25907 * util/grub-reboot.in: Likewise.
25908 * util/grub-set-default.in: Likewise.
25909 * util/i386/efi/grub-install.in: Likewise.
25910 * util/ieee1275/grub-install.in: Likewise.
25911 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
25913 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25915 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
25916 embedding area. Use <= instead of == when checking for non-emptiness.
25918 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
25920 * configure.ac: Add `.' to the directories searched for unifont.
25922 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25924 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
25927 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25929 * docs/grub.texi (History): Expand to cover GRUB 2.
25930 (Serial terminal): Refer to `terminal_input' and `terminal_output'
25931 commands, not `terminal'.
25932 (serial): Likewise.
25933 (terminal_input): New section.
25934 (terminal_output): New section.
25935 (uppermem): New section (stub).
25936 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
25938 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
25940 * docs/grub.texi (Security): Menu entries are unrestricted by
25941 default, not restricted to superusers as I had previously thought.
25942 Reword to account for this.
25944 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25946 * kern/emu/misc.c (device_mapper_null_log): New function.
25947 (grub_device_mapper_supported): New function.
25948 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
25950 * kern/emu/hostdisk.c (find_partition_start): Check whether
25951 device-mapper is supported before trying to use it.
25952 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
25954 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25956 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
25957 (File name syntax): Likewise.
25958 (help): --all is no longer supported in GRUB 2. Be more precise
25959 about pattern matching.
25961 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25963 * normal/completion.c (grub_normal_do_completion): When completing
25964 arguments to "set" and the current word contains an equals sign,
25965 skip to after the equals sign before starting completion.
25967 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25969 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
25971 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25973 * docs/grub.texi (Network): New section.
25974 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
25975 `(nd)' as in GRUB Legacy.
25976 (pxe_unload): New section.
25978 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25980 * docs/grub.texi (Troubleshooting): `echo' is not usually available
25981 in the rescue shell, so recommend using `set' instead. Thanks,
25984 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25986 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
25987 (password): New section.
25988 (password_pbkdf2): New section.
25989 (search): New section.
25990 (Security): New section.
25991 (Troubleshooting): New section, currently very incomplete.
25992 (Invoking grub-mkpasswd-pbkdf2): New section.
25993 (Internals): New section, currently very incomplete.
25995 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
25997 * util/grub.d/00_header.in: Add some more quoting (of
25998 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
26000 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
26002 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
26004 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
26005 to `count', fixing variable shadowing that broke the -c option.
26007 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
26009 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
26010 in case they contain spaces.
26012 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26014 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
26015 "part_" to partmap module names, in line with grub-install.
26016 Reported by: Jindřich Makovička (Debian bug #584426).
26018 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
26020 * util/grub-mkimage.c: Make target-related error messages slightly
26021 more helpful; -O talks about "format". Explicitly point to the use
26022 of -O if no target is specified.
26023 Reported by: Didier Raboud (Debian bug #584415).
26025 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
26027 * INSTALL: Document several build requirements for optional features
26028 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
26030 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
26032 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
26033 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
26034 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
26036 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26038 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
26039 Thanks to Jordan Uggla for spotting this.
26041 2010-06-02 Aleš Nesrsta <starous@volny.cz>
26043 Finally make USB usable.
26045 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
26046 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
26047 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
26048 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
26049 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
26050 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
26051 (GRUB_OHCI_FSMPS): Likewise.
26052 (GRUB_OHCI_PERIODIC_START): Likewise.
26053 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
26054 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
26055 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
26056 (GRUB_OHCI_SET_PORT_RESET): Likewise.
26057 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
26058 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
26059 (grub_ohci_transaction): Likewise.
26060 (grub_ohci_transfer): Improve condition detection algorithms.
26061 Handle toggle property. Program the transactions correctly.
26062 Improve error handling. Various important fixups.
26063 (grub_ohci_portstatus): Put register writes in right order.
26064 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
26065 (grub_uhci_transfer): Don't show "failed" message on success.
26066 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
26068 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
26069 determine its size.
26070 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
26071 before initialization is completed. Use IN direction for empty
26072 transfers. Use last_trans and compute toggle.
26073 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
26074 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
26075 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
26076 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
26077 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
26078 (grub_usb_device): Increase toggle to 256.
26079 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
26080 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
26081 GRUB_USBMS_SUBCLASS_SFF8070.
26082 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
26083 (grub_scsi_inquiry): New member page and alloc_length.
26084 (grub_scsi_request_sense): New structure.
26085 (grub_scsi_request_sense_data): Likewise.
26086 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
26088 * disk/scsi.c (grub_scsi_request_sense): New function.
26089 (grub_scsi_test_unit_ready): Likewise.
26090 (grub_scsi_inquiry): Fill new fields.
26091 (grub_scsi_read_capacity): Likewise.
26092 (grub_scsi_read10): Add request sense at the end.
26093 (grub_scsi_read12): Likewise.
26094 (grub_scsi_write10): Likewise.
26095 (grub_scsi_write12): Likewise.
26096 (grub_scsi_open): Add Test Unit Ready.
26097 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
26098 Support additional subclasses. Con't clear halt yet. Activate the
26099 proper config. Calculate LUNs correctly.
26100 (grub_usbms_transfer): Various important fixups.
26102 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26104 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
26105 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
26106 (grub_ohci_fini_hw): New function.
26107 (grub_ohci_restore_hw): Likewise.
26108 (GRUB_MOD_INIT(ohci)): Register preboot hook.
26109 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
26110 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
26112 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26114 Dedicated DMA allocations.
26116 * bus/pci.c (grub_memalign_dma32): New function
26117 (grub_dma_free): Likewise.
26118 (grub_dma_get_virt): Likewise.
26119 (grub_dma_get_phys): Likewise.
26120 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
26121 (grub_ohci_pci_iter): Use dma32_alloc.
26122 (grub_ohci_transfer): Likewise.
26123 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
26124 (grub_usb_bulk_readwrite): Likewise.
26125 * include/grub/pci.h: Add declarations.
26127 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
26131 * bus/cs5536.c: New file.
26132 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
26133 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
26134 (cs5536_mod_SOURCES): New variable.
26135 (cs5536_mod_CFLAGS): Likewise.
26136 (cs5536_mod_LDFLAGS): Likewise.
26137 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
26139 (kernel_img_SOURCES): Add bus/cs5536.c.
26140 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
26142 (usb_mod_SOURCES): New variable.
26143 (usb_mod_CFLAGS): New variable.
26144 (usb_mod_LDFLAGS): New variable.
26145 (usbtest_mod_SOURCES): New variable.
26146 (usbtest_mod_CFLAGS): New variable.
26147 (usbtest_mod_LDFLAGS): New variable.
26148 (ohci_mod_SOURCES): New variable.
26149 (ohci_mod_CFLAGS): New variable.
26150 (ohci_mod_LDFLAGS): New variable.
26151 (usbms_mod_SOURCES): New variable.
26152 (usbms_mod_CFLAGS): New variable.
26153 (usbms_mod_LDFLAGS): New variable.
26154 (usb_keyboard_mod_SOURCES): New variable.
26155 (usb_keyboard_mod_CFLAGS): New variable.
26156 (usb_keyboard_mod_LDFLAGS): New variable.
26157 * include/grub/smbus.h: New file.
26158 * include/grub/cs5536.h: New file.
26160 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26162 * util/grub.d/00_header.in: Add safety check to make sure that
26163 ${locale_dir} exists before trying to probe it.
26165 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26167 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
26168 per the GNU Coding Standards; this is now too obscure to be worth
26171 (chainloader): Remove cross-reference to `SCO UnixWare'.
26173 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26175 * docs/grub.texi (Chain-loading): New section.
26176 (DOS/Windows): New section, borrowed from GRUB Legacy with details
26177 adjusted for GRUB 2.
26178 (SCO UnixWare): Likewise.
26180 (chainloader): Add reference to `Block list syntax'.
26181 (drivemap): New section.
26182 (parttool): New section.
26184 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26186 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
26188 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
26189 (Installing GRUB using grub-install): Remove reference to the grub
26190 shell; mention `grub-mkimage' and `grub-setup' instead.
26191 (Invoking grub-install): Likewise.
26192 (Interface): Add reference to `Menu entry editor'.
26193 (serial): Remove `--device' option.
26195 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26197 * docs/grub.texi (Configuration): New section, documenting
26198 configuration file generation using grub-mkconfig. I've left a slot
26199 for documenting the full shell scripting format but have not yet
26200 started on writing that up.
26201 (Invoking grub-mkconfig): New section.
26203 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26205 * docs/grub.texi (direntry): Remove grub-terminfo reference.
26206 (GNU GRUB manual): Likewise.
26207 (General commands): Update description of `terminfo' for GRUB 2.
26209 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26211 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
26212 (GRUB_MOD_INIT): Fix capitalisation.
26213 * docs/grub.texi (Command-line and menu entry commands): Document
26214 gettext and gptsync commands.
26216 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
26218 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
26219 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
26221 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
26223 Add btrfs probing support, currently only in the single-device case.
26225 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
26227 (grub_guess_root_device): Call find_root_device_from_mountinfo
26228 before looking in /dev.
26230 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26232 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
26233 GRUB_DISK_SIZE_UNKNOWN.
26234 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
26236 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
26238 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
26239 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
26240 corrupted or not synced properly.
26242 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26244 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
26245 Reported by: Seth Goldberg.
26247 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26249 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
26251 Reported by: Seth Goldberg.
26253 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26255 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
26256 Reported by: Seth Goldberg.
26258 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
26260 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
26261 64-bit address as signed on MIPS.
26263 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26265 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
26266 to the empty string.
26268 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
26270 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
26272 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
26273 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
26274 * kern/misc.c (__enable_execute_stack): Disable on
26277 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
26279 Make grub-probe work with symbolic links under /dev/mapper as well
26280 as with real block devices. The Linux world seems to be (at best)
26281 in transition here, and GRUB shouldn't get caught in the middle.
26283 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
26286 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26288 * util/grub-script-check.c (main): Ensure defined behaviour on empty
26289 input files (in which case exit zero).
26291 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26293 * kern/emu/misc.c (canonicalize_file_name): realpath can still
26294 return NULL for various reasons even if it has a maximum-length
26295 buffer: for example, there might be a symlink loop, or the path
26296 might exceed PATH_MAX. If this happens, return NULL.
26298 2010-05-27 Robert Millan <rmh@gnu.org>
26300 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
26301 partmap module to handle cross-partmap setups.
26302 Reported by Orestes Mas. Gràcies!
26304 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
26306 * util/grub-mkrescue.in: Initialise override_dir rather than
26307 assuming that it's unset or empty in the environment.
26309 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
26311 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
26312 variable index into p_index to suppress a warning with -Wshadow.
26314 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
26316 * INSTALL: Added flex >= 2.5.35 requirement.
26318 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26320 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
26322 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26326 * commands/i386/cmostest.c: New file.
26327 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
26328 (cmostest_mod_SOURCES): New variable.
26329 (cmostest_mod_CFLAGS): Likewise.
26330 (cmostest_mod_LDFLAGS): Likewise.
26331 * conf/i386-pc.rmk: Likewise.
26332 * docs/grub.texi (Vendor power-on keys): New section.
26333 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
26334 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
26335 and GRUB_BUTTON_CMOS_ADDRESS.
26336 * util/grub.d/00_header.in: Handle powering-on by separate button.
26338 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26340 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
26341 Removed drawing_scrollbar argument. All users updated
26343 Reported by Jo Shields
26345 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26347 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
26348 buffer since gfxterm handles double repaint.
26350 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
26352 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
26353 * term/gfxterm.c (real_scroll): Likewise.
26355 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26357 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
26358 before calling BIOS.
26360 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26362 * include/grub/i18n.h: Always enable grub_gettext.
26364 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
26366 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
26367 partition naming style.
26369 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
26371 * util/grub-mkconfig.in: Fix handling of -o so that it works when
26372 not the first option.
26374 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26376 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
26378 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
26380 * util/misc.c: Move inclusion of <limits.h> to ...
26381 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
26383 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
26385 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
26386 Fix merge error in NetBSD code.
26387 (find_partition_start) [__NetBSD__]: Likewise.
26389 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
26391 Fix grub-mkrescue usage unit testing.
26393 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
26395 2010-05-18 Christian Franke <franke@computer.org>
26397 * util/grub.d/10_windows.in: Use path names instead of
26398 drive letters to prevent warning from Cygwin 1.7.
26399 Add drivemap command to menuentry if needed.
26401 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
26403 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
26404 gnumach and gnumach.gz.
26406 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26408 * include/grub/i18n.h (gettext): Inline instead of using #define.
26409 (grub_gettext): Likewise.
26412 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26414 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
26415 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
26416 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
26417 (main): Add a slash after pkglibdirroot.
26419 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26421 * util/grub-install.in: Add missing "in" keyword.
26423 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26425 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
26426 Reported by: Seth Goldberg.
26428 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
26430 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
26432 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26434 * configure.ac: Check for Linux device-mapper support.
26436 * util/hostdisk.c (device_is_mapped): New function.
26437 (find_partition_start): New function, partly broken out from
26438 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
26439 device-mapper support added.
26440 (linux_find_partition): Use find_partition_start.
26441 (convert_system_partition_to_system_disk): Add `st' argument.
26442 Support Linux /dev/mapper/* devices if device-mapper support is
26443 available; only DM-RAID devices are understood at present.
26444 (find_system_device): Add `st' argument. Pass it to
26445 convert_system_partition_to_system_disk.
26446 (grub_util_biosdisk_get_grub_dev): Pass stat result to
26447 find_system_device and convert_system_partition_to_system_disk. Use
26448 find_partition_start.
26450 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
26451 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
26452 * util/deviceiter.c [__linux__]: Define MINOR.
26453 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
26454 * util/mkdevicemap.c (grub_putchar): New function.
26455 (grub_getkey): New function.
26456 (grub_refresh): New function.
26457 (main): Set debug=all if -v -v is used.
26459 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26461 Fix build with non-GNU libcs.
26463 * util/misc.c (canonicalize_file_name): Move to ...
26464 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
26465 grub_make_system_path_relative_to_its_root.
26467 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
26469 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
26470 we handle finding grub-mkimage. Default to finding grub-mkimage in
26471 ${bindir} with program_transform_name applied, and provide a
26472 --grub-mkimage option to override this.
26474 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26476 Remove grub-mkisofs.
26478 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
26479 (grub_mkisofs_SOURCES): Removed.
26480 (grub_mkisofs_CFLAGS): Removed.
26481 * util/mkisofs/defaults.h: Removed.
26482 * util/mkisofs/eltorito.c: Likewise.
26483 * util/mkisofs/exclude.h: Likewise.
26484 * util/mkisofs/hash.c: Likewise.
26485 * util/mkisofs/include/: Likewise.
26486 * util/mkisofs/include/fctldefs.h: Likewise.
26487 * util/mkisofs/include/mconfig.h: Likewise.
26488 * util/mkisofs/include/prototyp.h: Likewise.
26489 * util/mkisofs/include/statdefs.h: Likewise.
26490 * util/mkisofs/iso9660.h: Likewise.
26491 * util/mkisofs/joliet.c: Likewise.
26492 * util/mkisofs/match.c: Likewise.
26493 * util/mkisofs/match.h: Likewise.
26494 * util/mkisofs/mkisofs.c: Likewise.
26495 * util/mkisofs/mkisofs.h: Likewise.
26496 * util/mkisofs/msdos_partition.h: Likewise.
26497 * util/mkisofs/multi.c: Likewise.
26498 * util/mkisofs/name.c: Likewise.
26499 * util/mkisofs/rock.c: Likewise.
26500 * util/mkisofs/tree.c: Likewise.
26501 * util/mkisofs/write.c: Likewise.
26503 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
26505 Unify grub-mkimage accross platforms.
26507 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
26508 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
26509 (grub_mkelfimage_SOURCES): Removed.
26510 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
26511 (util/grub-mkimage.c_DEPENDENCIES): .. this.
26512 (bin_UTILITIES): Add grub-mkimage.
26513 (grub_mkimage_SOURCES): New variable.
26514 (kernel_img_HEADERS): Remove machine/kernel.h.
26515 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
26516 (pkglib_PROGRAMS): Add kernel.img.
26517 (kernel_img_HEADERS): Add machine/kernel.h.
26518 (kernel_img_FORMAT): Removed.
26519 (bin_UTILITIES): Remove grub-mkimage.
26520 (grub_mkimage_SOURCES): Removed.
26521 (grub_mkimage_CFLAGS): Likewise.
26522 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26523 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
26524 (pkglib_PROGRAMS): Add kernel.img.
26525 (bin_UTILITIES): Remove grub-mkimage.
26526 (grub_mkimage_SOURCES): Removed.
26527 (grub_mkimage_CFLAGS): Likewise.
26528 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26529 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
26530 (pkglib_PROGRAMS): Add kernel.img.
26531 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
26532 (pkglib_PROGRAMS): Add kernel.img.
26533 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
26534 (grub_mkimage_SOURCES): Removed.
26535 (grub_mkimage_CFLAGS): Likewise.
26536 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26537 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
26538 (pkglib_PROGRAMS): Add kernel.img.
26539 (bin_UTILITIES): Remove grub-mkimage.
26540 (grub_mkimage_SOURCES): Removed.
26541 (grub_mkimage_CFLAGS): Likewise.
26542 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26543 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
26544 (grub_mkimage_SOURCES): Removed.
26545 (grub_mkimage_CFLAGS): Likewise.
26546 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
26547 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
26548 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
26549 (grub_pe32_optional_header): ... this.
26550 (grub_pe64_optional_header): ... and this. All users updated.
26551 (GRUB_PE32_PE32_MAGIC): Split into ..
26552 (GRUB_PE32_PE32_MAGIC): .. this.
26553 (GRUB_PE32_PE64_MAGIC): .. and this.
26554 (GRUB_PE32_SIGNATURE_SIZE): New definition.
26555 * include/grub/elf.h (PT_GNU_STACK): New definition.
26556 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
26557 * include/grub/i386/efi/kernel.h: Likewise.
26558 * include/grub/i386/kernel.h: Likewise.
26559 * include/grub/i386/pc/kernel.h: Likewise.
26560 * include/grub/i386/qemu/boot.h: Likewise.
26561 * include/grub/mips/kernel.h: Likewise.
26562 * include/grub/mips/qemu-mips/kernel.h: Likewise.
26563 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
26564 * include/grub/powerpc/kernel.h: Likewise.
26565 * include/grub/sparc64/ieee1275/boot.h: Likewise.
26566 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
26567 * include/grub/sparc64/kernel.h: Likewise.
26568 * include/grub/x86_64/efi/kernel.h: Likewise.
26569 * include/grub/x86_64/kernel.h: Likewise.
26570 * include/grub/offsets.h: New file.
26571 * include/grub/kernel.h (grub_module_info): Split into ...
26572 (grub_module_info32): ... this.
26573 (grub_module_info64): ... and this.
26574 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
26575 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
26576 (grub_boot_blocklist): Moved from here ...
26577 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
26578 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
26579 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
26580 * include/grub/types.h (grub_target_to_host16): Removed.
26581 (grub_target_to_host32): Likewise.
26582 (grub_target_to_host64): Likewise.
26583 (grub_host_to_target16): Likewise.
26584 (grub_host_to_target32): Likewise.
26585 (grub_host_to_target64): Likewise.
26586 (grub_host_to_target_addr): Likewise.
26588 Support grub-mkrescue for efi, coreboot and qemu.
26590 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
26591 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
26592 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
26593 * util/grub-mkrawimage.c: Moved from here ...
26594 * util/grub-mkimage.c: ... here. All users updated.
26595 (ALIGN_ADDR): Use image_target.
26596 (TARGET_NO_FIELD): New const.
26597 (image_target_desc): New type.
26598 (image_targets): New array.
26599 (grub_target_to_host64): Use image_target.
26600 (grub_target_to_host32): Likewise.
26601 (grub_target_to_host16): Likewise.
26602 (grub_host_to_target64): Likewise.
26603 (grub_host_to_target32): Likewise.
26604 (grub_host_to_target16): Likewise.
26605 (grub_host_to_target_addr): Likewise.
26606 (generate_image): Handle multiimage.
26607 (main): Require -O parameter. All users updated.
26608 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
26609 util/efi/grub-mkimage.c
26610 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
26611 New option --rom-directory.
26613 * util/i386/efi/grub-mkimage.c: Removed.
26614 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
26615 (grub_target_to_host32): Likewise.
26616 (grub_target_to_host64): Likewise.
26617 (grub_host_to_target16): Likewise.
26618 (grub_host_to_target32): Likewise.
26619 (grub_host_to_target64): Likewise.
26620 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
26621 (grub_target_to_host32): Likewise.
26622 (grub_target_to_host64): Likewise.
26623 (grub_host_to_target16): Likewise.
26624 (grub_host_to_target32): Likewise.
26625 (grub_host_to_target64): Likewise.
26627 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
26629 Source tree is reorganized for emu build.
26631 * include/grub/util/console.h: Move from here...
26632 * include/grub/emu/console.h: ...to here.
26633 * include/grub/util/getroot.h: Move from here...
26634 * include/grub/emu/getroot.h: ...to here.
26635 * include/grub/util/hostdisk.h: Move from here...
26636 * include/grub/emu/hostdisk.h: ...to here.
26637 * util/console.c: Move from here...
26638 * kern/emu/console.c: ...to here.
26639 * util/getroot.c: Move from here...
26640 * kern/emu/getroot.c: ...to here.
26641 * util/grub-emu.c: Move from here...
26642 * kern/emu/main.c: ...to here.
26643 * util/hostdisk.c: Move from here...
26644 * kern/emu/hostdisk.c: ...to here.
26645 * util/hostfs.c: Move from here...
26646 * kern/emu/hostfs.c: ...to here.
26647 * util/mm.c: Move from here...
26648 * kern/emu/mm.c: ...to here.
26649 * util/pci.c: Move from here...
26650 * bus/emu/pci.c: ...to here.
26651 * util/sdl.c: Move from here...
26652 * video/emu/sdl.c: ...to here.
26653 * util/time.c: Move from here...
26654 * kern/emu/time.c: ...to here.
26655 * util/usb.c: Move from here...
26656 * bus/usb/emu/usb.c: ...to here.
26658 * include/grub/emu/misc.h: New header for grub-emu functions.
26659 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
26661 * conf/any-emu.rmk: Rule updates for above renames.
26662 * conf/common.rmk: Likewise.
26663 * conf/i386-pc.rmk: Likewise.
26664 * conf/i386-qemu.rmk: Likewise.
26665 * conf/mips.rmk: Likewise.
26666 * conf/sparc64-ieee1275.rmk: Likewise.
26667 * conf/x86-efi.rmk: Likewise.
26669 * disk/lvm.h: #include updates for above renames.
26670 * util/grub-mkrelpath.c: Likewise.
26671 * util/grub-probe.c: Likewise.
26672 * util/i386/pc/grub-setup.c: Likewise.
26673 * util/sparc64/ieee1275/grub-setup.c: Likewise.
26674 * kern/emu/console.c: Likewise.
26675 * kern/emu/getroot.c: Likewise.
26676 * kern/emu/hostdisk.c: Likewise.
26677 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
26679 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
26680 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
26681 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
26682 * util/misc.c: Remove grub-emu functions.
26684 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
26687 Reported by: Thorsten Grützmacher.
26689 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
26691 (circprog_set_property): Register and unregister timeout hook.
26692 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
26693 (label_destroy): Free template. and unregister hook.
26694 (label_set_state): New function.
26695 (label_set_property): Handle templates and hooks.
26696 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
26698 (progress_bar_set_property): Register and unregister timeout hook.
26699 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
26700 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
26701 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
26702 (update_timeout_visit): Removed.
26703 (update_timeouts): New function.
26704 (redraw_timeouts): Likewise.
26705 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
26706 (grub_gfxmenu_clear_timeout): Likewise.
26707 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
26708 (grub_gfxmenu_timeout_notify): Likewise.
26709 (grub_gfxmenu_timeout_notifications): New external variable.
26710 (grub_gfxmenu_timeout_register): New function.
26711 (grub_gfxmenu_timeout_unregister): Likewise.
26713 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
26715 Transform (broken) vga terminal into (working) vga video driver.
26717 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
26718 video/i386/pc/vga.c.
26719 * include/grub/video.h (grub_video_driver_id):
26720 Add GRUB_VIDEO_DRIVER_VGA.
26721 * term/i386/pc/vga.c: Renamed to ...
26722 * video/i386/pc/vga.c: ...this
26723 (DEBUG_VGA): Removed.
26724 (CHAR_WIDTH): Likewise.
26725 (CHAR_HEIGHT): Likewise.
26726 (TEXT_WIDTH): Likewise.
26727 (TEXT_HEIGHT): Likewise.
26728 (DEFAULT_FG_COLOR): Likewise.
26729 (DEFAULT_BG_COLOR): Likewise.
26730 (colored_char): Likewise.
26733 (cursor_state): Likewise.
26734 (fg_color): Likewise.
26735 (bg_color): Likewise.
26736 (text_buf): Likewise.
26739 (framebuffer): New variable.
26740 (set_read_map): Disabled.
26741 (setup): New variable.
26742 (is_target): Likewise.
26743 (grub_vga_mod_init): Likewise.
26744 (grub_vga_mod_fini): Likewise.
26745 (check_vga_mem): Likewise.
26746 (write_char): Likewise.
26747 (write_cursor): Likewise.
26748 (scroll_up): Likewise.
26749 (grub_vga_putchar): Likewise.
26750 (grub_vga_getcharwidth): Likewise.
26751 (grub_vga_getwh): Likewise.
26752 (grub_vga_getxy): Likewise.
26753 (grub_vga_gotoxy): Likewise.
26754 (grub_vga_cls): Likewise.
26755 (grub_vga_setcolorstate): Likewise.
26756 (grub_vga_setcursor): Likewise.
26757 (grub_video_vga_init): New function.
26758 (grub_video_vga_setup): Likewise.
26759 (grub_video_vga_fini): Likewise.
26760 (update_target): Likewise.
26761 (grub_video_vga_blit_bitmap): Likewise.
26762 (grub_video_vga_blit_render_target): Likewise.
26763 (grub_video_vga_set_active_render_target): Likewise.
26764 (grub_video_vga_get_active_render_target): Likewise.
26765 (grub_video_vga_swap_buffers): Likewise.
26766 (grub_video_vga_set_palette): Likewise.
26767 (grub_video_vga_get_info_and_fini): Likewise.
26768 (grub_vga_term): Removed.
26769 (grub_video_vga_adapter): New variable.
26770 (GRUB_MOD_INIT): Register a video driver instead of terminal.
26771 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
26773 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26775 * video/readers/jpeg.c: Indented.
26777 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26779 Various jpeg cleanups.
26781 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
26782 (grub_jpeg_decode_quan_table): Use sizeof.
26783 (grub_jpeg_decode_du): Use ARRAY_SIZE.
26785 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
26787 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
26788 tables. Ignore non-last ac bit.
26789 (grub_jpeg_decode_quan_table): Likewise.
26791 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26793 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
26794 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
26795 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26796 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
26797 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
26798 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
26800 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26802 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
26805 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
26807 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
26809 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26811 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
26814 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26816 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
26819 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26821 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
26824 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
26826 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
26828 2010-05-01 Christian Franke <franke@computer.org>
26830 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
26831 Remove broken Cygwin path conversion.
26832 * util/misc.c: [__CYGWIN__] Add include and define.
26833 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
26835 (make_system_path_relative_to_its_root): Simplify loop, replace early
26837 [__CYGWIN__] Add conversion to win32 path.
26838 Include "/" case in trailing slash removal.
26840 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26842 * kern/main.c (grub_load_config): Fix copy-pasted comment.
26843 Reported by: Seth Goldberg
26845 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26847 * commands/help.c (grub_cmd_help): Fix a typo.
26848 Reported by: Seth Goldberg
26850 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26852 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
26854 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
26855 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
26856 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
26857 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
26858 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
26859 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
26860 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
26861 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
26862 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
26863 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
26864 * normal/context.c (GRUB_MOD_INIT): Likewise.
26865 * normal/main.c (GRUB_MOD_INIT): Likewise.
26866 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
26867 * term/serial.c (GRUB_MOD_INIT): Likewise.
26868 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
26870 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26872 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
26875 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26877 * commands/iorw.c: New file.
26878 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
26879 (iorw_mod_SOURCES): New variable.
26880 (iorw_mod_CFLAGS): Likewise.
26881 (iorw_mod_LDFLAGS): Likewise.
26883 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26887 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
26888 * normal/main.c (hotkey_aliases): New variable.
26889 (grub_normal_add_menu_entry): Parse "--hotkey".
26890 * normal/menu_text.c (run_menu): Handle hotkeys.
26892 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26894 * kern/i386/coreboot/init.c (grub_machine_init): Call
26895 grub_machine_mmap_init on qemu.
26897 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26899 * boot/i386/qemu/boot.S: Add a missing .code16.
26901 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26903 Use LBIO on coreboot.
26905 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
26906 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
26907 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
26909 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
26910 grub_machine_mmap_init on coreboot.
26911 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
26912 GRUB_LINUXBIOS_MEMBER_LINK.
26913 (grub_machine_mmap_iterate): Fix declaration.
26914 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
26916 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26918 Split coreboot and multiboot ports.
26920 * conf/i386-multiboot.rmk: New file.
26921 * configure.ac: Add multiboot port.
26922 * include/grub/i386/multiboot/boot.h: New file.
26923 * include/grub/i386/multiboot/console.h: Likewise.
26924 * include/grub/i386/multiboot/init.h: Likewise.
26925 * include/grub/i386/multiboot/kernel.h: Likewise.
26926 * include/grub/i386/multiboot/loader.h: Likewise.
26927 * include/grub/i386/multiboot/memory.h: Likewise.
26928 * include/grub/i386/multiboot/serial.h: Likewise.
26929 * include/grub/i386/multiboot/time.h: Likewise.
26930 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
26931 * loader/multiboot.c: Likewise.
26932 * loader/multiboot_mbi2.c: Likewise.
26933 * util/grub-mkrescue.in: Generate multiboot rescue.
26935 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26937 * kern/parser.c (grub_parser_execute): Cope with read-only config.
26939 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
26941 Merge handling of input and output terminals. Fix a hang.
26943 * commands/terminal.c (abstract_terminal): New struct.
26944 (handle_command): New function. Based on grub_cmd_terminal_input.
26945 (grub_cmd_terminal_input): Use handle_command.
26946 (grub_cmd_terminal_output): Use handle_command.
26948 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
26950 Fix comment handling.
26952 * tests/grub_script_comments.in: New testcase.
26953 * conf/tests.rmk: Rules for new testcase.
26954 * script/yylex.l: Updated flex rules.
26956 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
26958 * docs/grub.texi (play): Document that zero pitches produce rests.
26959 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
26962 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
26964 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
26967 2010-04-26 Christian Franke <franke@computer.org>
26969 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
26970 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
26971 (grub_get_prefix): Remove function.
26972 * util/grub-emu.c (main): Replace grub_get_prefix () call by
26973 make_system_path_relative_to_its_root ().
26974 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
26976 2010-04-24 Christian Franke <franke@computer.org>
26978 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
26979 (kernel_img_LDFLAGS): Remove -static-libgcc.
26981 2010-04-24 Christian Franke <franke@computer.org>
26983 * configure.ac: Do not CHECK_BSS_START_SYMBOL
26984 and CHECK_END_SYMBOL if grub-emu is built.
26985 Unset TARGET_OBJ2ELF if grub-emu is built
26986 without module support.
26988 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
26992 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
26993 (grub_fstest_SOURCES): Likewise.
26994 (pkglib_MODULES): Add nilfs2.mod.
26995 (nilfs2_mod_SOURCES): New variable.
26996 (nilfs2_mod_CFLAGS): Likewise.
26997 (nilfs2_mod_LDFLAGS): Likewise.
26998 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
26999 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
27000 * fs/nilfs2.c: New file.
27002 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
27004 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
27007 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
27009 Add grub-mkconfig support for NetBSD.
27011 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
27012 * util/grub-mkconfig.in: export new NetBSD specific variables.
27013 * po/POTFILES-shell: added 10_netbsd.in.
27014 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
27016 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
27018 Fix emu build with grub-emu-pci and grub-emu-modules.
27020 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
27022 * include/grub/libpciaccess.h: New file.
27023 * conf/any-emu.rmk: Update kernel headers for emu build.
27025 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27027 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
27029 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
27031 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
27033 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27035 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
27036 Retrieve chosen/bootpath if bootpath isn't hardcoded.
27037 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
27038 util/ieee1275/ofpath.c.
27039 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
27040 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
27041 * include/grub/sparc64/ieee1275/boot.h
27042 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
27043 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
27044 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
27045 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
27047 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
27048 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
27049 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
27052 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
27054 * util/grub-mkconfig.in: Corrected two == equality tests.
27055 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
27056 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
27057 expect a number appended to it.
27058 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
27059 expects a number appended to it.
27061 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27063 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
27065 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
27067 * util/hostdisk.c (make_device_name): Change to new partition naming.
27069 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
27071 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
27073 2010-04-17 Christian Franke <franke@computer.org>
27075 * Makefile.in: Add missing localedir setting.
27077 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
27079 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
27080 mistake in r2156. Noticed by Anthony Fok.
27082 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
27084 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
27086 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
27088 Fix a spurious, uninitialized variable warning.
27090 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
27091 Initialize variable, shdr.
27092 (grub_freebsd_load_elfmodule): Likewise.
27093 (grub_freebsd_load_elf_meta): Likewise.
27095 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
27097 Fix for escaped dollar in double quoted strings.
27099 * script/yylex.l: Updated flex rules.
27100 * conf/tests.rmk: Rule for new testcase.
27101 * tests/grub_script_dollar.in: New testcase.
27103 2010-04-13 Carles Pina i Estany <carles@pina.cat>
27104 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
27106 Enclose all translated strings in grub.cfg in single quotes, and
27107 escape them appropriately (Ubuntu bug #552921).
27109 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
27110 * util/grub.d/10_hurd.in: Use it.
27111 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
27112 * util/grub.d/10_linux.in (linux_entry): Likewise.
27114 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27116 Fix cygwin compilation.
27118 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
27119 * include/grub/misc.h (__register_frame_info)
27120 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
27121 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27122 * kern/misc.c (__register_frame_info)
27123 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
27124 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
27126 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27128 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
27130 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
27132 Unify libgcc processing.
27134 * Makefile.in (kernel_img_LDFLAGS): New variable.
27135 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
27136 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
27138 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
27139 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
27140 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
27141 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
27142 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
27143 overwriting. Remove -lgcc and -static-libgcc
27144 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
27145 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27146 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
27147 (kernel_img_LDFLAGS): Append instead of overwriting.
27148 Remove -lgcc and -static-libgcc
27149 * conf/sparc64-ieee1275.rmk: Likewise.
27150 * include/grub/powerpc/libgcc.h: Move to ...
27151 * include/grub/libgcc.h: .. this.
27152 * include/grub/libgcc.h: Don't export most of the function on x86.
27153 (__bswapsi2): New export.
27154 (__bswapdi2): Likewise.
27155 * include/grub/mips/libgcc.h: Removed.
27156 * include/grub/sparc64/libgcc.h: Likewise.
27158 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27160 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
27161 disk_info_msg (conflicts with gettexting into languages with cases).
27163 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
27165 Add grub-probe support for NetBSD.
27167 * util/getroot.c (find_root_device): Convert block device to
27168 character device on NetBSD.
27169 * util/probe.c (probe): Require character device on NetBSD.
27170 * util/hostdisk.c: NetBSD specific headers.
27171 (configure_device_driver): new function to tune device driver
27172 parameters (currently only for NetBSD floppy driver).
27173 (grub_util_biosdisk_open): NetBSD specific code (get disk size
27174 via disklabel ioctl).
27175 (open_device): call configure_device_driver on NetBSD.
27176 (convert_system_partition_to_system_disk): NetBSD specific code.
27177 (device_is_wholedisk): Likewise.
27178 (grub_util_biosdisk_get_grub_dev): Likewise.
27179 (make_device_name): Fixed a typo in bsd_part_str.
27180 * configure.ac: check for opendisk() and getrawpartition() on
27181 NetBSD and set LIBUTIL.
27182 * Makefile.in: add LIBUTIL to LIBS.
27184 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27188 * util/grub-script-check.c: Better help message.
27190 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
27194 * configure.ac: Flex version check.
27195 * conf/common.rmk: Add -Wno-error to sh.mod.
27196 * script/yylex.l: Remove all #pragma.
27198 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27200 * include/grub/util/misc.h (canonicalise_file_name): Add missing
27202 Reported by: Seth Goldberg.
27204 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27206 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
27207 Rename "module" to "module2".
27208 Reported by: Seth Goldberg.
27210 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27212 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
27214 Reported by: Seth Goldberg.
27216 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27218 * lib/posix_wrap/locale.h: Add missing file.
27219 Reported by: Seth Goldberg.
27221 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
27223 grub-emu module load support.
27225 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
27226 NO_DYNAMIC_MODULES switched to this.
27227 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
27228 (CFLAGS): Likewise.
27229 * conf/any-emu.rmk: Generate symlist.
27230 (kernel_img_HEADERS): Add util/datetime.h.
27231 (kernel_img_HEADERS) [sdl]: Add sdl.h.
27232 (kernel_img_HEADERS) [libusb]: Add libusb.h.
27233 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
27234 kern/$(target_cpu)/cache.S.
27235 * configure.ac (grub-emu-modules): New option.
27236 * genmk.rb: Handle multiple source lists.
27237 * include/grub/sdl.h: New file.
27238 * include/grub/libusb.h: Likewise.
27239 * util/grub-emu.c (main): Hanle (host) root.
27240 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
27241 GRUB_ERR_UNKNOWN_DEVICE.
27242 * util/misc.c: Move mm functions to ...
27243 * util/mm.c: ... here. All users updated.
27245 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27247 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
27248 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
27250 (maintainer-clean): Remove libgcrypt-grub.
27252 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27254 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
27256 2010-04-09 EFI Coder <eficoder@hotmail.com>
27258 * normal/menu_text.c (print_message): Clean up the message and show
27259 the Fn information when on EFI
27260 * term/efi/console.c (grub_console_checkkey): Add F4 support.
27262 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27264 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
27266 * normal/crypto.c (read_crypto_list): Likewise.
27267 * normal/dyncmd.c (read_command_list): Likewise.
27268 * normal/term.c (read_terminal_list): Likewise.
27269 * normal/main.c (read_lists): Use explicit prefix.
27270 (read_lists_hook): Use read_lists.
27271 (grub_normal_execute): Likewise.
27273 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27275 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
27276 Reported by: Thomas Schmitt.
27277 Add -no-emul-boot to grub-mkisofs parameters.
27279 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27281 * font/font.c: Indented.
27283 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27285 Elif support to GRUB script (by Deepak Vankadaru).
27287 * tests/grub_script_if.in: New testcase.
27288 * conf/tests.rmk: Rule for new testcase.
27289 * script/parser.y: Grammar rules for elif.
27291 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
27293 While and until loops support to GRUB script.
27295 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
27296 (grub_script_create_cmdwhile): New function prototype.
27297 (grub_script_execute_cmdwhile): New function prototype.
27298 * script/execute.c (grub_script_execute_cmdwhile): New function.
27299 * script/parser.y (command): New commands.
27300 (whilecmd): New grammar rule.
27301 (untilcmd): New grammar rule.
27302 * script/script.c (grub_script_create_cmdwhile): New function.
27303 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
27306 * tests/grub_script_while1.in: New testcase.
27307 * conf/tests.rmk: Rule for new testcase.
27309 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27311 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
27314 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
27316 GRUB_BACKGROUND support.
27318 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
27319 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
27321 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27323 Load fonts and modules for gfxmenu in grub-mkconfig.
27324 Idea by: Mario Vazquez
27326 * util/grub.d/00_header.in: Load pf2 and image modules.
27328 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27330 grub-mkconfig multiple terminal support.
27332 * util/grub-mkconfig.in: Handle multiple terminals correctly.
27333 * util/grub.d/00_header.in: Likewise.
27335 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
27337 * Makefile.in: Specify files explicitly instead of using $< and $@ since
27338 we use cd $(srcdir).
27340 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
27342 * util/grub.d/10_linux.in: Only use the first word of
27343 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
27344 spaces in GRUB_DISTRIBUTOR.
27345 * util/grub.d/10_kfreebsd.in: Likewise.
27346 * util/grub.d/10_hurd.in: Likewise.
27348 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
27350 Fix unit testing framework for Qemu 0.12.
27352 * tests/util/grub-shell.in: Remove -serial stdio option.
27354 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
27356 POSIX header file wrappers.
27358 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
27360 * lib/posix_wrap/ctype.h: Likewise.
27361 * lib/posix_wrap/errno.h: Likewise.
27362 * lib/posix_wrap/langinfo.h: Likewise.
27363 * lib/posix_wrap/limits.h: Likewise.
27364 * lib/posix_wrap/localcharset.h: Likewise.
27365 * lib/posix_wrap/stdint.h: Likewise.
27366 * lib/posix_wrap/stdio.h: Likewise.
27367 * lib/posix_wrap/stdlib.h: Likewise.
27368 * lib/posix_wrap/string.h: Likewise.
27369 * lib/posix_wrap/sys/types.h: Likewise.
27370 * lib/posix_wrap/unistd.h: Likewise.
27371 * lib/posix_wrap/wchar.h: Likewise.
27372 * lib/posix_wrap/wctype.h: Likewise.
27373 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
27374 (grub_script.yy.h): Likewise.
27375 * script/yylex.l: Remove POSIX emulation #defines.
27376 * Makefile.in (POSIX_CFLAGS): New variable.
27377 (GNULIB_UTIL_CFLAGS): Likewise.
27381 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
27382 (regexp_mod_SOURCES): New variable.
27383 (regexp_mod_CFLAGS): Likewise.
27384 (regexp_mod_LDFLAGS): Likewise.
27385 * commands/regexp.c: New file.
27386 * gnulib/regcomp.c: New file. Imported from gnulib.
27387 * gnulib/regex.c: Likewise.
27388 * gnulib/regex_internal.c: Likewise.
27389 * gnulib/regex_internal.h: Likewise.
27390 * gnulib/regexec.c: Likewise.
27391 * gnulib/regex.h: Likewise.
27393 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27395 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
27396 unsupported video mode types.
27398 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27400 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
27402 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
27404 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
27405 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
27407 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
27409 Remove unused grub_vga_get_font.
27411 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
27412 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
27414 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27416 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
27417 * include/grub/misc.h: Likewise.
27419 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27421 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
27422 for which failure is fatal.
27424 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27426 * util/grub-install.in: Use mkdir -p to create grub directory.
27427 * util/i386/efi/grub-install.in: Likewise.
27428 * util/ieee1275/grub-install.in: Likewise.
27430 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27432 * Makefile.in (LEX): new variable.
27434 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
27436 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
27437 `=' and added double quotes on operands of this equality test.
27439 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27441 * Makefile.in (uninstall): Remove a leftover debug echo.
27442 Reported by: Grégoire Sutre
27444 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
27446 MIPS multiboot2 support.
27448 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
27449 (multiboot2_mod_SOURCES): New variable.
27450 (multiboot2_mod_CFLAGS): Likewise.
27451 (multiboot2_mod_LDFLAGS): Likewise.
27452 (multiboot2_mod_ASFLAGS): Likewise.
27453 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
27455 (MULTIBOOT_ENTRY_REGISTER): Likewise.
27456 (MULTIBOOT_MBI_REGISTER): Likewise.
27457 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
27458 (MULTIBOOT_ELF32_MACHINE): Likewise.
27459 (MULTIBOOT_ELF64_MACHINE): Likewise.
27460 * include/grub/mips/multiboot.h: New file.
27461 * include/grub/video.h (grub_video_driver_id): New type
27462 GRUB_VIDEO_DRIVER_SM712.
27463 (grub_video_get_info_and_fini): Export.
27464 (grub_video_get_palette): Likewise.
27465 (grub_video_get_driver_id): Likewise.
27466 * include/multiboot2.h: Resynced with spec.
27467 * loader/i386/multiboot.c: Moved from here ...
27468 * loader/multiboot.c: ... here. All users updated.
27469 (grub_multiboot_boot): Use platform-specific macros.
27470 * loader/i386/multiboot_elfxx.c: Moved from here ...
27471 * loader/multiboot_elfxx.c: ... here. All users updated.
27472 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
27473 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
27474 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
27476 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
27478 Import gnulib argp module.
27480 * gnulib/argp-ba.c: New file.
27481 * gnulib/argp-eexst.c: Likewise.
27482 * gnulib/argp-fmtstream.c: Likewise.
27483 * gnulib/argp-fmtstream.h: Likewise.
27484 * gnulib/argp-fs-xinl.c: Likewise.
27485 * gnulib/argp-help.c: Likewise.
27486 * gnulib/argp-namefrob.h: Likewise.
27487 * gnulib/argp-parse.c: Likewise.
27488 * gnulib/argp-pin.c: Likewise.
27489 * gnulib/argp-pv.c: Likewise.
27490 * gnulib/argp-pvh.c: Likewise.
27491 * gnulib/argp-version-etc.c: Likewise.
27492 * gnulib/argp-version-etc.h: Likewise.
27493 * gnulib/argp-xinl.c: Likewise.
27494 * gnulib/argp.h: Likewise.
27496 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27498 * kern/device.c (grub_device_iterate): Clear errors after failed
27501 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
27503 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
27504 returned by firmware.
27506 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
27508 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
27509 compilation on coreboot and qemu
27511 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27513 * include/multiboot2.h: Resync with spec.
27515 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
27517 Multiboot2 tag support
27519 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
27520 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
27521 Remove loader/multiboot_loader.c.
27522 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
27523 (grub_multiboot2_real_boot): Likewise.
27524 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
27525 (grub_get_multiboot_mmap_count): New proto.
27526 (grub_fill_multiboot_mmap): Likewise.
27527 (grub_multiboot_set_video_mode): Likewise.
27528 (grub_multiboot_set_console): Likewise.
27529 (grub_multiboot_load): Likewise.
27530 (grub_multiboot_load_elf): Likewise.
27531 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27532 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
27533 * include/multiboot.h: Resynced with specification.
27534 * include/multiboot2.h: Resynced with specification.
27535 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
27536 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
27537 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
27538 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
27540 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
27541 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
27542 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
27544 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
27546 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
27547 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
27549 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
27550 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
27551 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
27553 * loader/i386/multiboot_mbi2.c: New file.
27555 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27557 Resync with gnulib.
27559 * Makefile.in (GNULIB_CFLAGS): New variable.
27560 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
27561 (grub_script_check_CFLAGS): New variable.
27562 * gnulib/alloca.h: Resync with gnulib.
27563 * gnulib/error.c: Likewise.
27564 * gnulib/error.h: Likewise.
27565 * gnulib/fnmatch.c: Likewise.
27566 * gnulib/fnmatch_loop.c: Likewise.
27567 * gnulib/getdelim.c: Likewise.
27568 * gnulib/getline.c: Likewise.
27569 * gnulib/getopt.c: Likewise.
27570 * gnulib/getopt1.c: Likewise.
27571 * gnulib/getopt_int.h: Likewise.
27572 * gnulib/gettext.h: Likewise.
27573 * gnulib/progname.c: Likewise.
27574 * gnulib/progname.h: Likewise.
27576 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
27578 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
27579 which is the case with --disabled-nls.
27581 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
27582 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
27583 * util/misc.c: Likewise.
27584 * util/mkisofs/mkisofs.c: Likewise.
27585 * util/mkisofs/mkisofs.h: Likewise.
27587 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
27589 Simplify Apple CC support.
27591 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
27592 Add 0 byte at the end not to have a symbol with empty target.
27593 * mmap/i386/pc/mmap_helper.S: Likewise.
27594 * genmk.rb: Ignore errors 2030 and 2050.
27595 * kern/i386/pc/startup.S: Use LOCAL when possible.
27597 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
27599 Testcase and the fix for final semicolon on cmdline.
27601 * tests/grub_script_final_semicolon.in: New testcase.
27602 * conf/tests.rmk: Rules for the new testcase.
27603 * script/parser.y: Grammar fix.
27605 2010-03-26 BVK Chaitanya <bvk@localhost>
27607 Blank lines testcase for GRUB script.
27609 * tests/grub_script_blanklines.in: New testcase.
27610 * conf/tests.rmk: Rules for the new testcase.
27612 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27614 Don't use __FILE__.
27616 * genmk.rb: Add -DGRUB_FILE to all C targets.
27617 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
27618 * include/grub/list.h: Likewise.
27619 * include/grub/misc.h: Likewise.
27620 * include/grub/mm.h: Likewise.
27621 * include/grub/test.h: Likewise.
27622 * kern/mm.c: Likewise.
27623 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
27625 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27627 Sunpc partitions support.
27629 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
27630 (grub_fstest_SOURCES): Likewise.
27631 (pkglib_MODULES): Add part_sunpc.mod.
27632 (part_sunpc_mod_SOURCES): New variable.
27633 (part_sunpc_mod_CFLAGS): Likewise.
27634 (part_sunpc_mod_LDFLAGS): Likewise.
27635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
27636 * partmap/sunpc.c: New file.
27638 2010-03-26 BVK Chaitanya <bvk@localhost>
27640 For loop support to GRUB script.
27642 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
27643 (grub_script_create_cmdfor): New function prototype.
27644 (grub_script_execute_cmdfor): New function prototype.
27645 * script/execute.c (grub_script_execute_cmdfor): New function.
27646 * script/parser.y (command): New for command.
27647 (forcmd): New grammar rule.
27648 * script/script.c (grub_script_create_cmdfor): New function.
27649 * util/grub-script-check.c (grub_script_execute_cmdfor): New
27651 * tests/grub_script_for1.in: New testcase.
27652 * conf/tests.rmk: Rules for new testcase.
27654 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
27658 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
27659 'partition' is NULL, grub_partition_get_start already does that.
27660 * commands/loadenv.c (check_blocklists): Likewise.
27661 (write_blocklists): Likewise.
27662 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
27663 (grub_fstest_SOURCES): Likewise.
27664 (pkglib_MODULES): Add part_bsd.mod.
27665 (part_bsd_mod_SOURCES): New variable.
27666 (part_bsd_mod_CFLAGS): Likewise.
27667 (part_bsd_mod_LDFLAGS): Likewise.
27668 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
27669 (grub_emu_SOURCES): Likewise.
27670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27671 * include/grub/bsdlabel.h: New file.
27672 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
27674 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
27675 (grub_partition_map_list): New variable.
27676 (grub_partition_map_register): Inline.
27677 (grub_partition_map_unregister): Likewise.
27678 (FOR_PARTITION_MAPS): New macro.
27679 (grub_partition_map_iterate): Removed.
27680 (grub_partition_get_start): Handle nested partitions.
27681 * include/grub/msdos_partition.h: Remove bsd-related entries.
27682 (grub_pc_partition): Remove.
27683 * kern/disk.c (grub_disk_close): Free partition data.
27684 (grub_disk_adjust_range): Handle nested partitions.
27685 * kern/partition.c (grub_partition_map_probe): New function.
27686 (grub_partition_probe): Parse name to number, handle subpartitions.
27687 (get_partmap): New function.
27688 (grub_partition_iterate): Handle subpartitions.
27689 (grub_partition_get_name): Likewise.
27690 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
27691 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
27692 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
27693 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
27695 (acorn_partition_map_probe): Remove.
27696 (acorn_partition_map_get_name): Likewise.
27697 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
27699 Set 'index' to 0 since there can be only one partition entry per sector.
27700 (amiga_partition_map_probe): Remove.
27701 (amiga_partition_map_get_name): Likewise.
27702 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
27704 Set 'offset' and 'index' to real positions of partitions.
27705 (apple_partition_map_probe): Remove.
27706 (apple_partition_map_get_name): Likewise.
27707 * partmap/bsdlabel.c: New file.
27708 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
27710 Allocate 'data' so it can be correctly freed.
27711 Set 'index' to offset inside sector.
27712 (gpt_partition_map_probe): Remove.
27713 (gpt_partition_map_get_name): Likewise.
27714 * partmap/msdos.c (grub_partition_parse): Remove.
27715 (pc_partition_map_iterate): Don't force raw access.
27717 Make 'ext_offset' a local variable.
27718 (pc_partition_map_probe): Remove.
27719 (pc_partition_map_get_name): Remove.
27720 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
27722 (sun_partition_map_probe): Remove.
27723 (sun_partition_map_get_name): Likewise.
27724 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
27725 (grub_pcpart_type): Likewise.
27726 * util/hostdisk.c (open_device): Handle new numbering scheme.
27727 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
27728 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
27729 * util/grub-probe.c (probe_partmap): Handle nested paritions.
27730 * util/grub-install.in: Insert all subpartition modules.
27731 * util/ieee1275/grub-install.in: Likewise.
27733 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
27735 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
27738 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
27740 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
27742 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
27744 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
27745 match where 'make install' puts them.
27746 * util/i386/efi/grub-install.in: Likewise.
27748 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
27750 * .bzrignore: Add gentrigtables, grub-script-check,
27751 grub_script_check_init.c, grub_script_check_init.h, and
27754 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
27756 * kern/parser.c: Indented.
27758 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27760 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
27762 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
27764 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
27765 alpha_mask_size == 0 case.
27767 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
27769 GRUB shell lexer and parser improvements.
27771 * conf/any-emu.rmk: Build rule updates.
27772 * conf/common.rmk: Likewise.
27773 * conf/i386-coreboot.rmk: Likewise.
27774 * conf/i386-efi.rmk: Likewise.
27775 * conf/i386-ieee1275.rmk: Likewise.
27776 * conf/i386-pc.rmk: Likewise.
27777 * conf/powerpc-ieee1275.rmk: Likewise.
27778 * conf/x86_64-efi.rmk: Likewise.
27780 * configure.ac: Configure check for flex.
27782 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
27784 (grub_lexer_param): Struct member updates.
27785 (grub_parser_param): Likewise.
27786 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
27787 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
27788 (grub_script_lexer_init): Prototype update.
27789 (grub_script_lexer_record_start): Likewise.
27790 (grub_script_lexer_record_stop): Likewise.
27791 (grub_script_lexer_yywrap): New function prototype.
27792 (grub_script_lexer_fini): Likewise.
27793 (grub_script_execute_argument_to_string): Removed by...
27794 (grub_script_execute_argument_to_argv): ...better version.
27796 * script/execute.c (ROUND_UPTO): New macro.
27797 (grub_script_execute_cmdline): Out of memory fixes.
27798 (grub_script_execute_menuentry): Likewise.
27799 (grub_script_execute_argument_to_string): Removed. Update all
27801 (grub_script_execute_argument_to_argv): ...better version.
27802 * script/function.c (grub_script_function_create): Use
27803 grub_script_execute_argument_to_argv instead of
27804 grub_script_execute_argument_to_string.
27806 * script/lexer.c (check_varstate): Removed.
27807 (check_textstate): Removed.
27808 (grub_script_lexer_record_start): Likewise.
27809 (grub_script_lexer_record_stop): Likewise.
27810 (recordchar): Replaced with...
27811 (grub_script_lexer_record): ...new function.
27812 (nextchar): Removed.
27813 (grub_script_lexer_init): Rewritten.
27814 (grub_script_yylex): Rewritten.
27815 (append_newline): New function.
27816 (grub_script_lexer_yywrap): New function.
27817 (grub_script_lexer_fini): New function.
27818 (grub_script_yyerror): Sets error flag.
27820 * script/yylex.l: New file.
27821 (grub_lexer_yyfree): Wrapper for flex yyffre.
27822 (grub_lexer_yyalloc): Likewise.
27823 (grub_lexer_yyrealloc): Likewise.
27824 * script/parser.y: Refactored.
27826 * script/script.c (grub_script_arg_add): Out of memory fixes.
27827 (grub_script_add_arglist): Likewise.
27828 (grub_script_create_cmdline): Likewise.
27829 (grub_script_create_cmdmenu): Likewise.
27830 (grub_script_add_cmd): Likewise.
27831 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
27832 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
27835 * tests/grub_script_echo1.in: New testcase.
27836 * tests/grub_script_vars1.in: New testcase.
27837 * tests/grub_script_echo_keywords.in: New testcase.
27839 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27841 Remove some redundancy in build system.
27843 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
27844 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
27845 (TARGET_LDFLAGS): Add -nostdlib.
27846 (TARGET_IMG_LDFLAGS): Likewise.
27847 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
27848 anything since mmap isn't available.
27849 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
27851 (pkglib_MODULES): Remove reboot.mod.
27852 (reboot_mod_SOURCES): Removed.
27853 (reboot_mod_CFLAGS): Likewise.
27854 (reboot_mod_LDFLAGS): Likewise.
27855 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
27856 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
27857 (DEFSYMFILES): Add kernel_syms.lst.
27858 (kernel_img_HEADERS): Add common headers.
27859 (symlist.c): New target.
27860 (kernel_syms.lst): Likewise.
27861 (pkglib_MODULES): Add memdisk.mod.
27862 (memdisk_mod_SOURCES): New variable.
27863 (memdisk_mod_CFLAGS): Likewise.
27864 (memdisk_mod_LDFLAGS): Likewise.
27865 (pkglib_MODULES): Add reboot.mod.
27866 (reboot_mod_SOURCES): New variable.
27867 (reboot_mod_CFLAGS): Likewise.
27868 (reboot_mod_LDFLAGS): Likewise.
27869 (pkglib_MODULES): Add date.mod.
27870 (date_mod_SOURCES): New variable.
27871 (date_mod_CFLAGS): Likewise.
27872 (date_mod_LDFLAGS): Likewise.
27873 (pkglib_MODULES): Add datehook.mod.
27874 (datehook_mod_SOURCES): New variable.
27875 (datehook_mod_CFLAGS): Likewise.
27876 (datehook_mod_LDFLAGS): Likewise.
27877 (pkglib_MODULES): Add lsmmap.mod.
27878 (lsmmap_mod_SOURCES): New variable.
27879 (lsmmap_mod_CFLAGS): Likewise.
27880 (lsmmap_mod_LDFLAGS): Likewise.
27881 (pkglib_MODULES): Add boot.mod.
27882 (boot_mod_SOURCES): New variable.
27883 (boot_mod_CFLAGS): Likewise.
27884 (boot_mod_LDFLAGS): Likewise.
27885 * conf/i386-coreboot.rmk: Removed redundant parts.
27886 * conf/i386-ieee1275.rmk: Likewise.
27887 * conf/i386-pc.rmk: Likewise.
27888 * conf/mips-yeeloong.rmk: Likewise.
27889 * conf/mips.rmk: Likewise.
27890 * conf/powerpc-ieee1275.rmk: Likewise.
27891 * conf/sparc64-ieee1275.rmk: Likewise.
27892 * conf/x86_64-efi.rmk: Likewise.
27893 * conf/i386-coreboot.rmk: Moved qemu parts ..
27894 * conf/i386-qemu.rmk: ... here
27895 * conf/i386-efi.rmk: Moved common parts to...
27896 * conf/x86-efi.rmk: ... here.
27897 * conf/i386.rmk: Added modules common to all x86 variants.
27898 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
27899 * disk/memdisk.c: Remove grub/machine/kernel.h.
27900 * gensymlist.sh.in: Include symbol.h.
27901 * hook/datehook.c: Correct module name.
27902 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
27903 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
27904 * include/grub/i386/efi/serial.h: New file.
27905 * include/grub/x86_64/efi/serial.h: Likewise.
27906 * util/time.c: Likewise.
27907 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
27909 2010-03-14 Colin King <colin.king@ubuntu.com>
27910 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27912 Shrink the pre-partition-table part of boot.img by eight bytes.
27914 * boot/i386/pc/boot.S (ERR): New macro.
27915 (chs_mode): Use ERR.
27916 (geometry_error): Likewise.
27917 (hd_probe_error): Remove. This is only used once, so we wrwite
27919 (read_error): Instead of printing read_error_string, just set up
27920 %si and fall through to ...
27921 (error_message): ... this new function, also used by ERR.
27923 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
27925 Speed up consecutive hostdisk operations on the same device.
27927 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
27928 (grub_util_biosdisk_open): Initialise disk->data.
27929 (struct linux_partition_cache): New structure.
27930 (linux_find_partition): Cache partition start positions; these are
27931 expensive to compute on every read and write.
27932 (open_device): Cache open file descriptor in disk->data, so that we
27933 don't have to reopen it and flush the buffer cache for consecutive
27934 operations on the same device.
27935 (grub_util_biosdisk_close): New function.
27936 (grub_util_biosdisk_dev): Set `close' member.
27938 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
27939 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
27940 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27941 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
27942 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
27944 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
27946 Compile parts of grub-emu as modules.
27948 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
27949 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
27950 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
27951 (all-local): Add $(GRUB_EMU).
27952 (install-local): Install $(GRUB_EMU).
27953 (uninstall): Uninstall $(GRUB_EMU).
27954 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
27955 * kern/dl.c: Likewise.
27956 * commands/sleep.c: Not include machine/time.h.
27957 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
27958 (COMMON_CFLAGS): Likewise.
27959 (sbin_UTILITIES): Remove grub-emu.
27960 (grub_emu_SOURCES): Removed.
27961 (kernel_img_RELOCATABLE): New variable.
27962 (pkglib_PROGRAMS): Add kernel.img.
27963 (kernel_img_SOURCES): New variable
27964 (kernel_img_CFLAGS): Likewise.
27965 (kernel_img_LDFLAGS): Likewise.
27966 (TARGET_NO_STRIP): Likewise.
27967 (TARGET_NO_DYNAMIC_MODULES): Likewise.
27968 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
27969 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
27970 (grub-emu): New target.
27971 (GRUB_EMU): New variable.
27972 * configure.ac: Whitelist -emu as possible x86_64 architecture.
27973 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
27974 * loader/xnu.c: Likewise.
27975 * include/grub/pci.h: Likewise.
27976 * genemuinit.sh: New file.
27977 * genemuinitheader.sh: Likewise.
27978 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
27979 Support TARGET_NO_DYNAMIC_MODULES.
27980 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
27981 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
27982 * disk/loopback.c: Likewise.
27983 * font/font_cmd.c: Likewise.
27984 * partmap/acorn.c: Likewise.
27985 * partmap/amiga.c: Likewise.
27986 * partmap/apple.c: Likewise.
27987 * partmap/gpt.c: Likewise.
27988 * partmap/msdos.c: Likewise.
27989 * partmap/sun.c: Likewise.
27990 * parttool/msdospart.c: Likewise.
27991 * term/gfxterm.c: Likewise.
27992 * video/bitmap.c: Likewise.
27993 * video/readers/jpeg.c: Likewise.
27994 * video/readers/png.c: Likewise.
27995 * video/readers/tga.c: Likewise.
27996 * video/video.c: Likewise.
27997 * util/grub-emu.c (read_command_list): Removed.
27998 (main): Don't call util_init_nls.
27999 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
28000 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
28002 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28004 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
28005 date.mod, datehook.mod.
28006 (datetime_mod_SOURCES): New variable.
28007 (datetime_mod_CFLAGS): Likewise.
28008 (datetime_mod_LDFLAGS): Likewise.
28009 (date_mod_SOURCES): Likewise.
28010 (date_mod_CFLAGS): Likewise.
28011 (date_mod_LDFLAGS): Likewise.
28012 (datehook_mod_SOURCES): Likewise.
28013 (datehook_mod_CFLAGS): Likewise.
28014 (datehook_mod_LDFLAGS): Likewise.
28015 * conf/sparc64-ieee1275.rmk: Likewise.
28016 * lib/ieee1275/datetime.c: New file.
28018 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28020 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
28021 (ieee1275_fb_mod_SOURCES): New variable.
28022 (ieee1275_fb_mod_CFLAGS): Likewise.
28023 (ieee1275_fb_mod_LDFLAGS): Likewise.
28024 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
28026 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
28027 (HEAP_MAX_ADDR): Likewise.
28028 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
28030 Correct stop condition.
28031 (grub_ieee1275_devices_iterate): New function.
28032 * video/ieee1275.c: New file.
28034 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
28036 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
28038 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
28040 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
28041 SCRATCH_PAD_DISKBOOT as scratch.
28042 (bootit): Pass Openfirmware pointer in %o4.
28043 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
28045 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
28046 with util/grub-mkrawimage.c.
28047 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
28048 * include/grub/aout.h (AOUT_MID_SUN): New definition.
28049 (grub_aout_get_type) [GRUB_UTIL]: Removed.
28050 (grub_aout_load) [GRUB_UTIL]: Likewise.
28051 * include/grub/kernel.h (grub_modules_get_end): New proto.
28052 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
28053 (SCRATCH_PAD_BOOT): New definition.
28054 (SCRATCH_PAD_DISKBOOT): Likewise.
28055 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
28056 * include/grub/sparc64/ieee1275/ieee1275.h
28057 (grub_ieee1275_original_stack): New variable
28058 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
28060 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
28061 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
28062 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
28063 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
28064 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
28065 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
28066 (grub_platform_image_format_t): New type.
28067 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
28068 * kern/main.c (grub_modules_get_end)
28069 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
28070 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
28071 (codestart): Switch stacks.
28072 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
28074 (grub_heap_init): Use grub_modules_get_end.
28075 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
28077 * util/grub-mkrawimage.c (generate_image): Support sparc64.
28079 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
28081 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
28083 * util/grub-mkrescue.in: Base ISO UUID on UTC.
28085 2010-03-08 Matt Kraai <kraai@ftbfs.org>
28087 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
28090 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
28092 * genmoddep.awk: Output all missing symbols and not only first.
28094 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28096 * NEWS: Put the date of 1.98 release.
28098 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28100 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
28103 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28105 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
28106 completition in the middle of string.
28108 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28110 * util/grub-mkrescue.in: Use mktemp with explicit template.
28112 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28114 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
28116 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
28118 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
28121 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28123 Fix FreeBSD compilation.
28125 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
28126 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
28128 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
28130 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
28132 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28134 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
28136 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28138 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
28140 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
28142 Support relative image path in theme file.
28144 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
28145 (image_set_property): Handle theme_dir and relative path.
28147 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28149 * configure.ac: Alias amd64 to x86_64.
28151 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28153 * NEWS: mention multiboot on EFI.
28155 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28157 * kern/main.c (grub_load_modules): Handle errors from init functions of
28160 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28162 * normal/autofs.c (autoload_fs_module): Handle errors.
28164 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28166 Disable linux.mod on qemu-mips since it's not functional and leads
28167 to compilation failure.
28169 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
28170 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
28171 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
28172 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
28173 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
28174 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
28175 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
28176 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
28177 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
28178 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
28179 Reported by: BVK Chaitanya
28181 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
28183 * INSTALL: Add gettext as a dependency and add qemu to a new section
28184 "Prerequisites for make-check".
28186 2010-03-04 Christian Franke <franke@computer.org>
28188 * util/grub-pe2elf.c: Add missing include "progname.h".
28190 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28192 * normal/crypto.c (read_crypto_list): Fix a typo.
28193 Reported by: Seth Goldberg.
28195 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28197 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
28198 Reported by: Seth Goldberg.
28200 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28202 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
28205 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28207 * genmk.rb: Remove terminal*.lst in make clean.
28208 Reported by: Seth Goldberg.
28210 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
28212 * util/i386/efi/grub-install.in: Copy gettext files.
28214 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28216 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
28218 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28220 Wait for user entry basing on presence of output rather than on errors.
28222 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
28223 (grub_install_newline_hook): Likewise.
28224 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
28225 * normal/menu.c (show_menu): Check line_counter to determine presence
28227 * normal/term.c (grub_normal_line_counter): New variable.
28228 (grub_normal_get_line_counter): New function.
28229 (grub_install_newline_hook): Likewise.
28231 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28233 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
28235 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
28237 * configure.ac: Update version to 1.98.
28239 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
28241 * util/grub.d/10_linux.in (linux_entry): Don't default to
28242 gfxpayload=keep if Linux doesn't support video handover.
28244 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
28246 Don't compile video modules on yeeloong since video subsystem is part
28249 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
28250 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
28251 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
28252 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
28253 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
28254 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
28255 * include/grub/bitmap_scale.h: Likewise.
28256 * include/grub/bufio.h: Likewise.
28257 * include/grub/font.h: Likewise.
28258 * include/grub/gfxterm.h: Likewise.
28259 * include/grub/video.h: Likewise.
28260 * include/grub/vbe.h: Don't include video_fb.h.
28261 * video/i386/pc/vbe.c: Include video_fb.h.
28262 * commands/i386/pc/vbetest.c: Include video.h.
28264 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
28266 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
28267 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
28268 default entry if GRUB_SAVEDEFAULT=true. This allows using
28269 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
28270 saving a new default on every boot.
28272 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28274 * normal/crypto.c (read_crypto_list): Fix a memory leak.
28275 * normal/term.c (read_terminal_list): Likewise.
28276 * normal/main.c (grub_normal_init_page): Likewise.
28277 (grub_normal_read_line_real): Likewise.
28279 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
28281 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
28283 Reported by: Seth Goldberg.
28285 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
28287 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
28288 duplicate declaration of `start'.
28290 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28292 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
28294 Reported by: Georgy Buranov
28296 2010-02-20 Carles Pina i Estany <carles@pina.cat>
28298 * util/grub-mkrawimage.c (usage): Change string formatting to
28301 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
28303 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
28306 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
28308 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
28309 Reported by: Michael Suchanek.
28311 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
28313 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
28314 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
28316 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
28318 Remove any reference to non-free fonts.
28320 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
28321 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
28322 uses non-free components.
28323 * font/font.c (grub_font_get_name): Remove example name.
28324 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
28325 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
28326 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
28327 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
28329 2010-02-16 Georgy Buranov <gburanov@gmail.com>
28331 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
28333 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28335 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
28337 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
28339 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
28341 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
28343 * gensymlist.sh.in: Use TARGET_CC instead of CC.
28345 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28347 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
28348 * docs/grub.texi (Command-line and menu entry commands): Document play
28351 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28353 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
28354 parse arguments as inline tempo and notes. Move code for playing notes
28356 (play): ... new function.
28358 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
28360 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
28361 grub_uint16_t instead of short.
28362 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
28363 disk from little endian to cpu endianness.
28365 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
28367 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
28368 GRUB_TICKS_PER_SECOND instead of 120.
28370 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28372 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
28373 escape sequence after \e.
28375 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28377 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
28378 non-ASCII characters.
28380 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28382 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
28383 set root in single quotes to prevent \, from being unescaped.
28385 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28387 Prevent unknown commands from stopping menuentry execution.
28389 * script/execute.c (grub_script_execute_cmdline): Print error after
28392 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
28394 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
28395 Reported by: Pavel Pisa.
28397 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28399 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
28401 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28403 Merge grub_ieee1275_map_physical into grub_map and rename to
28406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
28407 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
28409 * kern/ieee1275/openfw.c (grub_map): Rename to ...
28410 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
28412 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
28414 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28416 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
28417 opening and not after.
28419 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28421 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
28424 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28426 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
28427 (alloc_phys): Use ALIGN_UP instead of align_addr.
28429 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28431 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
28433 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28435 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
28437 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28439 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
28442 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28444 Fix over-4GiB seek on sparc64.
28446 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
28447 Replace pos_i and pos_lo with pos. All users updated.
28448 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28450 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
28452 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
28455 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28457 * util/grub-mkrawimage.c (main): Call set_program_name.
28459 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28461 Properly align 64-bit targets.
28463 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
28464 (generate_image): Use ALIGN_ADDR.
28466 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28468 Properly create cross-endian images.
28470 * include/grub/types.h (grub_host_to_target_addr): New macro
28471 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
28473 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
28475 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
28477 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28479 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
28481 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
28482 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
28483 (grub_linux_boot): Divide by 64K when on VESA.
28485 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28487 Support GRUB_GFXPAYLOAD_LINUX.
28489 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
28490 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
28492 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
28494 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
28495 to show messages instead of discarding them.
28496 Process errors after executing command and not before. Keep old method
28499 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
28501 * configure.ac: Check for ft2build.h.
28503 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28505 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
28507 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28509 * genkernsyms.sh.in: Use TARGET_CC.
28511 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
28515 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28517 * include/grub/multiboot2.h: Remove leftover file.
28518 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
28519 * include/grub/partition.h [GRUB_UTIL]: Likewise.
28521 2010-02-07 Yves Blusseau <blusseau@zetam.org>
28523 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
28525 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28527 Fix warnings in grub-emu when compiling with maximum warning options.
28529 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
28530 (grub_arch_modules_addr): Return 0 and not NULL.
28531 * util/misc.c (ENABLE_RELOCATABLE): New definition.
28532 (xstrdup): Use newstr instead of dup.
28533 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
28534 of disk to dsk to avoid shadowing.
28535 (find_free_slot): Fix prototype.
28536 * util/getroot.c (grub_util_is_dmraid): Make static.
28537 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
28538 Add missing prototype.
28539 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
28541 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28543 * loader/i386/linux.c (grub_linux_setup_video): Handle error
28546 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28548 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
28551 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28553 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
28554 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
28555 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
28556 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
28557 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
28558 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
28560 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28562 * include/grub/err.h (grub_err_printf): Don't export.
28564 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28566 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
28568 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
28570 * include/grub/i18n.h (grub_gettext_dummy): Removed.
28571 * kern/misc.c (grub_gettext_dummy): Make static.
28573 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28575 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
28577 * kern/term.c (grub_putchar): Likewise.
28579 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28581 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
28582 buggy hook call and memory leak.
28584 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28586 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
28588 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28590 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
28592 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28594 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
28596 Return grub_errno on allocation error.
28598 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28600 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
28602 2010-02-06 Yves Blusseau <blusseau@zetam.org>
28604 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
28605 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
28607 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28609 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
28611 (grub_pxefs_open): Likewise.
28613 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28615 * util/grub.d/10_hurd.in: Add --class information to menuentries.
28616 * util/grub.d/10_kfreebsd.in: Likewise.
28617 * util/grub.d/10_linux.in: Likewise.
28619 2010-02-06 Colin D Bennett <colin@gibibit.com>
28621 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
28622 (gfxmenu_mod_SOURCES): New variable.
28623 (gfxmenu_mod_CFLAGS): Likewise.
28624 (gfxmenu_mod_LDFLAGS): Likewise.
28625 * include/grub/term.h (grub_term_set_current_output): Declare
28627 * docs/gfxmenu-theme-example.txt: New file.
28628 * gfxmenu/gfxmenu.c: Likewise.
28629 * gfxmenu/gui_box.c: Likewise.
28630 * gfxmenu/gui_canvas.c: Likewise.
28631 * gfxmenu/gui_circular_progress.c: Likewise.
28632 * gfxmenu/gui_image.c: Likewise.
28633 * gfxmenu/gui_label.c: Likewise.
28634 * gfxmenu/gui_list.c: Likewise.
28635 * gfxmenu/gui_progress_bar.c: Likewise.
28636 * gfxmenu/gui_string_util.c: Likewise.
28637 * gfxmenu/gui_util.c: Likewise.
28638 * gfxmenu/icon_manager.c: Likewise.
28639 * gfxmenu/model.c: Likewise.
28640 * gfxmenu/named_colors.c: Likewise.
28641 * gfxmenu/theme_loader.c: Likewise.
28642 * gfxmenu/view.c: Likewise.
28643 * gfxmenu/widget-box.c: Likewise.
28644 * include/grub/gfxmenu_model.h: Likewise.
28645 * include/grub/gfxmenu_view.h: Likewise.
28646 * include/grub/gfxwidgets.h: Likewise.
28647 * include/grub/gui.h: Likewise.
28648 * include/grub/gui_string_util.h: Likewise.
28649 * include/grub/icon_manager.h: Likewise.
28651 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28653 Agglomerate scrolling in gfxterm.
28655 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
28656 (grub_virtual_screen_setup): Initialise 'total_screen'.
28657 (write_char): Split to ...
28658 (paint_char): ... this ...
28659 (write_char): ... and this.
28660 (paint_char): Handle delayed scrolling.
28661 (draw_cursor): Likewise.
28662 (scroll_up): Split to ...
28663 (real_scroll): ... this ...
28664 (scroll_up): ... and this.
28665 (real_scroll): Handle multi-line scroll and draw below-the-bottom
28667 (grub_gfxterm_refresh): Call real_scroll.
28669 2010-02-06 Colin D Bennett <colin@gibibit.com>
28671 * include/grub/misc.h (grub_iscntrl): New inline function.
28672 (grub_isalnum): Likewise.
28673 (grub_strtol): Likewise.
28675 2010-02-06 Colin D Bennett <colin@gibibit.com>
28677 * normal/menu_text.c (get_entry_number): Move from here ...
28678 * normal/menu.c (get_entry_number): ... moved here.
28679 * include/grub/menu.h (grub_menu_get_default_entry_index):
28681 * normal/menu.c (grub_menu_get_default_entry_index): New function.
28682 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
28683 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
28684 (grub_menu_viewer_should_return): Likewise.
28685 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
28686 * normal/menu_text.c (run_menu): Enable menu switching.
28687 * normal/menu_viewer.c (should_return): New variable.
28688 (menu_viewer_changed): Likewise.
28689 (grub_menu_viewer_show_menu): Handle menu viewer changes.
28690 (grub_menu_viewer_should_return): New function.
28691 (menuviewer_write_hook): Likewise.
28692 (grub_menu_viewer_init): Likewise.
28694 2010-02-06 Colin D Bennet <colin@gibibit.com>
28695 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28697 Support for gfxterm in a window.
28699 * include/grub/gfxterm.h: New file.
28700 * include/grub/video.h (struct grub_video_rect): New declaration.
28701 (grub_video_rect_t): Likewise.
28702 * term/gfxterm.c (struct grub_gfxterm_window): New type.
28703 (refcount): New variable.
28704 (render_target): Likewise.
28705 (window): Likewise.
28706 (repaint_callback): Likewise.
28707 (grub_virtual_screen_setup): Use 'render_target'.
28708 (init_window): New function.
28709 (grub_gfxterm_init_window): Likewise.
28710 (grub_gfxterm_init): Check reference counter.
28712 (destroy_window): New function.
28713 (grub_gfxterm_destroy_window): Likewise.
28714 (grub_gfxterm_fini): Check reference counter.
28715 Use destroy_window.
28716 (redraw_screen_rect): Restore viewport.
28717 Use 'render_target' and 'window'.
28718 Call 'repaint_callback'.
28719 (write_char): Use 'render_target'.
28720 (draw_cursor): Likewise.
28721 (scroll_up): Restore viewport.
28722 Use 'render_target' and 'window'.
28723 Call 'repaint_callback'.
28724 (grub_gfxterm_cls): Likewise.
28725 (grub_gfxterm_refresh): Use 'window'.
28726 (grub_gfxterm_set_repaint_callback): New function.
28727 (grub_gfxterm_background_image_cmd): Use 'window'.
28728 (grub_gfxterm_get_term): New function.
28729 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
28731 2010-02-06 Colin D Bennett <colin@gibibit.com>
28733 Bitmap scaling support.
28735 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
28736 (bitmap_scale_mod_SOURCES): New variable.
28737 (bitmap_scale_mod_CFLAGS): Likewise.
28738 (bitmap_scale_mod_LDFLAGS): Likewise.
28739 * include/grub/bitmap_scale.h: New file.
28740 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
28741 (background_image_cmd_options): New variable.
28742 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
28743 (cmd): Rename and change type to ...
28744 (background_image_cmd_handle): ... this. All users updated.
28745 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
28746 * video/bitmap_scale.c: New file.
28748 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28752 * Makefile.in (LIBSDL): New variable.
28753 (enable_grub_emu_sdl): Likewise.
28754 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
28755 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
28756 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
28757 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
28758 * util/sdl.c: New file.
28760 2010-02-06 Colin D Bennett <colin@gibibit.com>
28761 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28763 Double buffering support.
28765 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
28766 * include/grub/video.h: Update comment.
28767 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
28769 (grub_video_fb_doublebuf_blit_init): New prototype.
28770 * term/gfxterm.c (scroll_up): Support double buffering.
28771 (grub_gfxterm_refresh): Likewise.
28772 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
28773 (grub_video_fb_doublebuf_blit_init): Likewise.
28774 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
28775 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
28776 'displayed_page', 'render_page' and 'update_screen'.
28777 (grub_video_vbe_fini): Free offscreen buffer.
28778 (doublebuf_pageflipping_commit): New function.
28779 (doublebuf_pageflipping_update_screen): Likewise.
28780 (doublebuf_pageflipping_init): Likewise.
28781 (double_buffering_init): Likewise.
28782 (grub_video_vbe_setup): Enable doublebuffering.
28783 (grub_video_vbe_swap_buffers): Implement.
28784 (grub_video_vbe_set_active_render_target): Handle double buffering.
28785 (grub_video_vbe_get_active_render_target): Likewise.
28786 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
28787 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
28788 (grub_video_vbe_enable_double_buffering): Likewise.
28789 (grub_video_vbe_swap_buffers): Use update_screen.
28790 (grub_video_set_mode): Use double buffering.
28792 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28794 * maintainance/gentrigtables.py: Remove.
28795 * lib/trig.c: Likewise.
28797 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
28799 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
28801 (trigtables.c): New rule.
28802 (gentrigtables): Likewise.
28803 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
28805 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
28807 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
28810 2010-02-06 Colin D Bennet <colin@gibibit.com>
28812 Trigonometry support.
28814 * include/grub/trig.h: New file.
28815 * lib/trig.c: Likewise.
28816 * maintainance/gentrigtables.py: Likewise.
28817 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
28818 (trig_mod_SOURCES): New variable.
28819 (trig_mod_CFLAGS): Likewise.
28820 (trig_mod_LDFLAGS): Likewise.
28822 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28824 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
28827 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
28829 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
28832 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28834 * util/hostdisk.c (open_device): Don't use partition device when reading
28835 before the partition.
28836 (grub_util_biosdisk_read): Don't read from partition and before the
28837 partition in single operation.
28838 (grub_util_biosdisk_write): Don't write to partition and before the
28839 partition in single operation.
28841 2010-02-03 Torsten Landschoff <torsten@debian.org>
28843 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28846 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
28848 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
28850 (grub_biosdisk_write): Refuse to write to CDROM.
28852 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28854 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
28856 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
28858 * font/font.c (find_glyph): Check that bmp_idx is available before
28860 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
28861 with (font == NULL).
28863 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
28865 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
28867 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
28869 * include/grub/script_sh.h (sourcecode): Add const qualifier.
28870 * util/grub-script-check.c (getline): Fix empty lines case.
28872 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
28874 * Makefile.in (check): Exit with fail status when one of the tests
28876 * tests/example_functional_test.c (example_test): Fix reversed assert.
28877 * tests/example_unit_test.c (example_test): Likewise.
28879 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
28881 * util/grub.d/10_linux.in: This script does not use any of the
28882 contents of gettext.sh, only the external command `gettext', so stop
28883 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
28884 the same prefix as GRUB.)
28885 * util/grub.d/10_kfreebsd.in: Likewise.
28887 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28889 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
28892 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28894 * kern/disk.c (grub_disk_read): Fix offset computation when reading
28897 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
28899 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
28900 having a 4KiB and not 32KiB buffer size.
28902 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28904 * util/hostfs.c: Include `<errno.h>'.
28905 (grub_hostfs_read): Handle errors from fseeko() and fread().
28907 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28909 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
28910 loop when using read hooks on files whose size isn't sector-aligned.
28912 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28914 Remove unused parameter.
28916 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
28917 (grub_iso9660_open): Remove initialization of `data->length'.
28919 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
28921 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
28922 memleak conditions.
28924 2010-01-27 Carles Pina i Estany <carles@pina.cat>
28926 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
28927 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
28929 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28931 * util/bin2h.c (usage): Fix warning (space after backslash).
28933 2010-01-26 Carles Pina i Estany <carles@pina.cat>
28935 * font/font.c: Include `grub/fontformat.h.
28936 Remove font file format constants.
28937 (grub_font_load): Use the new macros.
28938 * include/grub/fontformat.h: New file.
28939 * util/grub-mkfont.c: Include `grub/fontformat.c'.
28940 (write_font_pf2): Use the new macros.
28942 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28944 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
28947 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
28949 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
28951 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
28952 (_start): Macroify `0x7F'.
28954 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
28955 (make_install_device): Use "(pxe)" as fallback prefix when booting
28958 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
28960 * configure.ac: Reset LIBS after check for libgcc symbols.
28962 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
28964 * util/hostdisk.c (open_device): Add trailing newline to debug
28967 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
28969 * configure.ac: Check for `limits.h'.
28970 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
28972 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
28974 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
28975 capitalize error strings.
28977 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
28979 * util/grub.d/10_hurd.in: Add a recovery mode.
28981 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
28983 * configure.ac: Check for libgcc symbols with -nostdlib.
28985 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
28987 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
28989 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28991 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
28992 stack since heap may be unavailable at that point.
28993 (grub_ofconsole_gotoxy): Likewise.
28995 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
28997 * configure.ac: Check for _restgpr_14_x.
28998 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
28999 and _savegpr_* prototypes.
29001 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
29003 Use generic grub_reboot() for i386-efi.
29005 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
29006 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
29007 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
29009 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
29011 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
29012 presence of "prefix" variable as it breaks when normal.mod is
29015 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29017 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
29018 stack since heap is unavailable at that point.
29020 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29022 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
29023 (grub_freebsd_bootinfo): Rewritten.
29024 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
29026 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
29028 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
29030 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
29032 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
29035 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
29037 * util/misc.c (make_system_path_relative_to_its_root): Change the work
29038 around for handling "/" to the correct fix. Fix a memory leak. Use
29039 xstrdup instead of strdup.
29041 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29043 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
29045 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29047 Optimise glyph lookup by Basic Multilingual Plane lookup array.
29049 * font/font.c (struct grub_font): New member 'bmp_idx'.
29050 (font_init): Initialise 'bmp_idx'.
29051 (load_font_index): Fill 'bmp_idx'.
29052 (find_glyph): Make inline. Use bmp_idx for BMP characters.
29054 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29056 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
29059 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29061 Move context handling out of the kernel.
29063 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
29064 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
29065 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
29066 * conf/i386-efi.rmk: Likewise.
29067 * conf/i386-ieee1275.rmk: Likewise.
29068 * conf/i386-pc.rmk: Likewise.
29069 * conf/powerpc-ieee1275.rmk: Likewise.
29070 * conf/sparc64-ieee1275.rmk: Likewise.
29071 * conf/x86_64-efi.rmk: Likewise.
29072 * include/grub/env.h: Include grub/menu.h.
29073 (grub_env_var_type): Removed.
29074 (grub_env_var): Replaced field 'type' with 'global'.
29075 (grub_env_find): New prototype.
29076 (grub_env_context_open): Remove EXPORT_FUNC.
29077 (grub_env_context_close): Likewise.
29078 (grub_env_export): Likewise.
29079 (grub_env_set_data_slot): Removed.
29080 (grub_env_get_data_slot): Likewise.
29081 (grub_env_unset_data_slot): Likewise.
29082 (grub_env_unset_menu): New prototype.
29083 (grub_env_set_menu): Likewise.
29084 (grub_env_get_menu): Likewise.
29085 * include/grub/env_private.h: New file.
29086 * include/grub/normal.h (grub_context_init): New prototype.
29087 (grub_context_fini): Likewise.
29088 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
29089 * normal/context.c (grub_cmd_export): ... to here.
29090 * kern/env.c: Include env_private.h.
29091 (HASHSZ): Moved to include/grub/env_private.h.
29092 (grub_env_context): Likewise.
29093 (grub_env_sorted_var): Likewise.
29094 (current_context): Renamed from this ...
29095 (grub_current_context): ...to this. 'static' removed. All users updated.
29096 (grub_env_find): Removed 'static'.
29097 (grub_env_context_open): Moved to normal/context.c.
29098 (grub_env_context_close): Likewise.
29099 (grub_env_export): Likewise.
29100 (mangle_data_slot_name): Removed.
29101 (grub_env_set_data_slot): Likewise.
29102 (grub_env_get_data_slot): Likewise.
29103 (grub_env_unset_data_slot): Likewise.
29104 * kern/main.c (grub_set_root_dev): Don't export root.
29105 It will be done later.
29106 (grub_main): Don't export prefix.
29107 It will be done later.
29108 * normal/context.c: New file.
29109 * normal/main.c (free_menu): Use grub_env_unset_menu.
29110 (grub_normal_add_menu_entry): Use grub_env_get_menu.
29111 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
29112 (GRUB_MOD_INIT(normal)): Call grub_context_init.
29113 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
29115 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29119 * commands/setpci.c: New file.
29120 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
29121 (setpci_mod_SOURCES): New variable.
29122 (setpci_mod_CFLAGS): Likewise.
29123 (setpci_mod_LDFLAGS): Likewise.
29125 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29127 Byte-addressable PCI configuration space.
29129 * bus/pci.c (grub_pci_make_address): Use byte address instead of
29131 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
29132 GRUB_PCI_REG_CACHELINE.
29133 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
29134 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
29135 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
29136 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
29137 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
29138 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
29139 grub_pci_make_address.
29140 (lock_rom_area): Likewise.
29141 * commands/lspci.c (grub_lspci_iter): Use macroses
29142 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
29143 of grub_pci_make_address.
29144 * disk/ata.c (grub_ata_pciinit): Likewise.
29145 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
29146 (GRUB_PCI_REG_VENDOR): Likewise.
29147 (GRUB_PCI_REG_DEVICE): Likewise.
29148 (GRUB_PCI_REG_COMMAND): Likewise.
29149 (GRUB_PCI_REG_STATUS): Likewise.
29150 (GRUB_PCI_REG_REVISION): Likewise.
29151 (GRUB_PCI_REG_CLASS): Likewise.
29152 (GRUB_PCI_REG_CACHELINE): Likewise.
29153 (GRUB_PCI_REG_LAT_TIMER): Likewise.
29154 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
29155 (GRUB_PCI_REG_BIST): Likewise.
29156 (GRUB_PCI_REG_ADDRESSES): Likewise.
29157 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29158 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29159 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29160 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29161 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29162 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
29163 (GRUB_PCI_REG_CIS_POINTER): Likewise.
29164 (GRUB_PCI_REG_SUBVENDOR): Likewise.
29165 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
29166 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
29167 (GRUB_PCI_REG_CAP_POINTER): Likewise.
29168 (GRUB_PCI_REG_IRQ_LINE): Likewise.
29169 (GRUB_PCI_REG_IRQ_PIN): Likewise.
29170 (GRUB_PCI_REG_MIN_GNT): Likewise.
29171 (GRUB_PCI_REG_MAX_LAT): Likewise.
29172 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
29173 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
29174 * video/efi_uga.c (find_framebuf): Likewise.
29175 * video/sm712.c (grub_video_sm712_setup): Likewise.
29176 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
29179 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29181 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
29182 can be reliably determined to be supported.
29184 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29186 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
29187 that VESA is supported.
29188 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
29191 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29193 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
29195 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29197 * util/misc.c (make_system_path_relative_to_its_root): Work around
29198 special-casing of "/", as previous incarnation of this routine did.
29200 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29202 Fix any-emu compilation.
29204 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
29205 * grub_bin2h_SOURCES: New variable.
29207 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29209 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
29211 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
29213 * util/grub.d/00_header.in: Fix handling of locale_dir.
29215 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29217 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
29218 as possible unifont location (Gentoo).
29219 Reported by: Alexander Brüning
29221 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29223 Don't try to generate lists for kernel.img.
29225 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
29226 (pkglib_MODULES): Remove kernel.img.
29227 (kernel_img_EXPORTS): Removed.
29228 (kernel_img_RELOCATABLE): New variable.
29229 * conf/x86_64-efi.rmk: Likewise.
29230 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
29232 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29234 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
29235 grub_xasprintf or grub_snprintf.
29236 (grub_vsprintf): Likewise.
29237 (grub_snprintf): New proto.
29238 (grub_vsnprintf): Likewise.
29239 (grub_xasprintf): Likewise.
29240 (grub_xvasprintf): Likewise.
29241 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
29242 (grub_sprintf): Removed.
29243 (grub_vsnprintf): New function.
29244 (grub_snprintf): Likewise.
29245 (grub_xvasprintf): Likewise.
29246 (grub_xasprintf): Likewise.
29247 (grub_vsprintf): Renamed to ...
29248 (grub_vsnprintf_real): ...this. New argument max_len.
29250 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
29252 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
29253 fix grub-script-check warning.
29255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29257 * include/grub/font.h (grub_font_load): Fix prototype.
29259 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29261 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
29263 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29265 * include/grub/x86_64/at_keyboard.h: New file.
29267 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29269 * loader/mips/linux.c: Include missing grub/i18n.h.
29271 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29273 * normal/menu.c (notify_execution_failure): Clarify error message.
29275 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29277 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
29278 return value (and revert all return statements). Update users.
29280 2010-01-20 Dan Merillat <debian@dan.merillat.org>
29282 * kern/device.c (grub_device_iterate): Allocate new part_ent
29283 structure based on sizeof (*p) rather than sizeof (p->next), to
29284 account for structure padding.
29286 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
29287 disk is NULL, which might happen for LVM physical volumes with no
29290 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29292 * loader/mips/linux.c (grub_cmd_initrd)
29293 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
29295 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
29297 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
29298 (grub_video_video_init, grub_video_bitmap_init)
29299 (grub_font_manager_init, grub_term_gfxterm_init)
29300 (grub_at_keyboard_init): New extern declarations.
29301 (grub_machine_init): Initialize gfxterm and at_keyboard.
29303 * kern/main.c (grub_main): Revert grub_printf delay kludge.
29305 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
29306 `gfxterm.mod' into core image.
29308 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29309 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29310 (kernel_img_FORMAT): Copy to ...
29312 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29313 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29314 (kernel_img_FORMAT): ... here, and ...
29316 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
29317 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
29318 (kernel_img_FORMAT): ... here.
29320 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
29321 and input (at_keyboard) terminals in kernel.
29322 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
29324 (pkglib_MODULES): Remove `pci.mod'.
29325 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
29326 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
29327 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
29328 (at_keyboard_mod_LDFLAGS): Remove variables.
29330 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
29332 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
29334 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
29336 * include/grub/mips/libgcc.h: Only export symbols for functions
29337 that libgcc provides.
29339 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
29343 * bus/bonito.c: New file.
29344 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
29345 GRUB_PCI_NUM_DEVICES.
29346 * term/i386/pc/serial.c: Move to ...
29347 * term/serial.c: ... here. All users updated.
29348 * util/i386/pc/grub-mkimage.c: Move to ...
29349 * util/grub-mkrawimage.c: ... here. All users updated.
29350 * term/i386/pc/at_keyboard.c: Move to ...
29351 * term/at_keyboard.c: ... here. All users updated.
29352 * conf/mips-qemu-mips.rmk: New file.
29353 * conf/mips-yeeloong.rmk: Likewise.
29354 * conf/mips.rmk: Likewise.
29355 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
29357 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
29359 (grub_ata_pciinit): Support CS5536.
29360 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
29361 * font/font_cmd.c (loadfont_command): Open file before passing it to
29363 (pseudo_file_read): New function.
29364 (pseudo_file_close): Likewise.
29365 (pseudo_fs): New structure.
29366 (load_font_module): New function.
29367 (GRUB_MOD_INIT(font_manager)): Load embedded font.
29368 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
29369 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
29370 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
29371 * include/grub/i386/at_keyboard.h: Split into ...
29372 * include/grub/at_keyboard.h: ... this ...
29373 * include/grub/i386/at_keyboard.h: ... and this.
29374 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
29376 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
29378 (grub_elf64_size): Likewise.
29379 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
29381 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
29382 * include/grub/i386/coreboot/serial.h: Rewritten.
29383 * include/grub/i386/ieee1275/serial.h: Include
29384 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
29385 * include/grub/i386/pc/serial.h: Moved from here ...
29386 * include/grub/serial.h: ... to here. All users updated.
29387 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
29388 (GRUB_PCI_NUM_BUS): Likewise.
29389 (GRUB_PCI_NUM_DEVICES): Likewise.
29390 (grub_pci_device_map_range): Add missing volatile keyword.
29391 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
29392 * include/grub/mips/at_keyboard.h: New file.
29393 * include/grub/mips/cache.h: Likewise.
29394 * include/grub/mips/io.h: Likewise.
29395 * include/grub/mips/kernel.h: Likewise.
29396 * include/grub/mips/libgcc.h: Likewise.
29397 * include/grub/mips/pci.h: Likewise.
29398 * include/grub/mips/qemu-mips/boot.h: Likewise.
29399 * include/grub/mips/qemu-mips/kernel.h: Likewise.
29400 * include/grub/mips/qemu-mips/loader.h: Likewise.
29401 * include/grub/mips/qemu-mips/memory.h: Likewise.
29402 * include/grub/mips/qemu-mips/serial.h: Likewise.
29403 * include/grub/mips/qemu-mips/time.h: Likewise.
29404 * include/grub/mips/relocator.h: Likewise.
29405 * include/grub/mips/time.h: Likewise.
29406 * include/grub/mips/types.h: Likewise.
29407 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
29408 * include/grub/mips/yeeloong/boot.h: Likewise.
29409 * include/grub/mips/yeeloong/kernel.h: Likewise.
29410 * include/grub/mips/yeeloong/loader.h: Likewise.
29411 * include/grub/mips/yeeloong/memory.h: Likewise.
29412 * include/grub/mips/yeeloong/pci.h: Likewise.
29413 * include/grub/mips/yeeloong/serial.h: Likewise.
29414 * include/grub/mips/yeeloong/time.h: Likewise.
29415 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
29416 * kern/elf.c (grub_elf32_size): New parameter. All users
29418 (grub_elf64_size): Likewise.
29419 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
29420 Load modules before saying "Welcome to GRUB!".
29421 Call grub_refresh after saying "Welcome to GRUB!".
29422 * kern/mips/cache.S: New file.
29423 * kern/mips/cache_flush.S: Likewise.
29424 * kern/mips/dl.c: Likewise.
29425 * kern/mips/init.c: Likewise.
29426 * kern/mips/qemu-mips/init.c: Likewise.
29427 * kern/mips/startup.S: Likewise.
29428 * kern/mips/yeeloong/init.c: Likewise.
29429 * kern/term.c (grub_putcode): Handle NULL terminal.
29430 (grub_getcharwidth): Likewise.
29431 (grub_getkey): Likewise.
29432 (grub_checkkey): Likewise.
29433 (grub_getkeystatus): Likewise.
29434 (grub_getxy): Likewise.
29435 (grub_getwh): Likewise.
29436 (grub_gotoxy): Likewise.
29437 (grub_cls): Likewise.
29438 (grub_setcolorstate): Likewise.
29439 (grub_setcolor): Likewise.
29440 (grub_getcolor): Likewise.
29441 (grub_refresh): Likewise.
29442 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
29443 (write_jump): Add hatch nop.
29444 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
29445 * lib/mips/setjmp.S: New file.
29446 * loader/mips/linux.c: Likewise.
29447 * term/i386/pc/at_keyboard.c: Move from here ...
29448 * term/at_keyboard.c: ... to here.
29449 * term/i386/pc/serial.c: Moved from here ...
29450 * term/serial.c: ... to here. All users updated.
29451 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
29452 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
29453 (serial_translate_key_sequence): Avoid deadlock.
29454 (grub_serial_getkey): Handle backspace.
29455 (grub_serial_putchar): Fix newline handling.
29456 * util/i386/pc/grub-mkimage.c: Move from here ...
29457 * util/grub-mkrawimage.c: ... to here. All users updated.
29458 (generate_image): New parameters 'font_path' and 'format'.
29459 Support embedding font.
29460 Use grub_host_to_target* instead of grub_cpu_to_le*.
29461 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
29462 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
29463 (options): New option "--font".
29465 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
29466 (main): Handle "--font".
29467 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
29468 (grub_virtual_screen_setup): Set bg_color_display.
29469 (redraw_screen_rect): Use bg_color_display instead of incorrect
29471 (grub_gfxterm_cls): Likewise.
29472 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
29473 Support embedding config file.
29474 (add_segments): Likewise.
29475 (options): New option "--config".
29476 (main): Handle "--config".
29477 * video/sm712.c: New file.
29479 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29481 Fix parallel builds.
29483 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
29484 font.c depend on ascii.h).
29486 2010-01-12 Carles Pina i Estany <carles@pina.cat>
29488 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
29490 2010-01-11 Carles Pina i Estany <carles@pina.cat>
29492 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
29493 By default: disabled.
29494 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
29497 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29499 * font/font.c: Update copyright years.
29500 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
29502 2010-01-10 Carles Pina i Estany <carles@pina.cat>
29504 * font/font.c: Include `ascii.h'.
29505 (ASCII_BITMAP_SIZE): New macro.
29506 (ascii_font_glyph): Define.
29507 (ascii_glyph_lookup): New function.
29508 (grub_font_get_string_width): Change comment. If glyph not found, use
29509 ascii_glyph_lookup.
29510 (grub_font_get_glyph_with_fallback): If glyph not available returns
29511 ascii_glyph_lookup.
29512 * util/grub-mkfont.c (file_formats): New enum.
29513 (options): Add `ascii-bitmaps' new option.
29514 (usage): Add `asii-bitmaps' new option.
29515 (write_font_ascii_bitmap): New function.
29516 (write_font): Rename to ...
29517 (write_font_p2): ... this. Remove print_glyphs call.
29518 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
29519 used. Call print_glyphs.
29520 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
29522 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29524 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
29525 (grub_bin2h_SOURCES): New variable.
29526 * util/bin2h.c: New file.
29528 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
29530 * include/multiboot.h: Resynced with spec.
29531 * include/multiboot2.h: Likewise.
29532 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
29533 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
29535 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29537 * include/grub/term.h (grub_term_register_input,
29538 grub_term_register_output): Check return of terminal init()
29539 routines, and abort if errors are raised.
29541 * commands/terminal.c: Update copyright year.
29543 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29545 * commands/terminal.c (grub_cmd_terminal_input)
29546 (grub_cmd_terminal_output): Check return of terminal init()
29547 routines, and abort if errors are raised.
29549 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29551 * include/grub/i386/bsd.h: Fix include pathes.
29553 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
29555 Add missing *BSD copyright headers.
29557 * include/grub/aout.h: Add BSD licence.
29558 * include/grub/i386/bsd.h: Parts under different licences moved to ...
29559 * include/grub/i386/freebsd_linker.h: ... here,
29560 * include/grub/i386/freebsd_reboot.h: ... here,
29561 * include/grub/i386/netbsd_bootinfo.h: ... here,
29562 * include/grub/i386/netbsd_reboot.h: ... here,
29563 * include/grub/i386/openbsd_bootarg.h: ... here,
29564 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
29565 licence to each file.
29567 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29569 * acinclude.m4: Remove `nop' assembly instruction; it's not
29570 implemented by all architectures.
29572 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29574 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
29575 ELILO. This is no longer necessary.
29577 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
29579 Added new tool, grub-scrit-check to verify grub.cfg syntax.
29581 * util/grub-script-check.c: grub-script-check tool.
29582 * conf/common.rmk: Make rules for grub-script-check.
29584 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29586 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
29587 spotting it back in 2008. Shame on me for forgetting he did.
29589 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
29591 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
29593 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
29594 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
29595 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
29596 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
29597 (GRUB_VIDEO_TYPE_EFI): Rename to ...
29598 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
29600 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
29602 * include/grub/test.h: Add license header.
29603 * tests/example_functional_test.c: Likewise.
29604 * tests/example_unit_test.c: Likewise.
29605 * tests/lib/functional_test.c: Likewise.
29606 * tests/lib/test.c: Likewise.
29607 * tests/lib/unit_test.c: Likewise.
29609 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
29611 Use flag-based instead of hook-based video mode selection and "auto"
29614 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
29615 (grub_video_set_mode): Changed prototype. All users updated.
29616 (grub_video_check_mode_flag): New inline function.
29617 * video/video.c (parse_modespec): New function.
29618 (grub_video_set_mode): Parse flags and keywords.
29620 2010-01-17 Carles Pina i Estany <carles@pina.cat>
29622 * util/misc.c (grub_util_info): Fix the order of the parameters in a
29625 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
29627 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
29629 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29631 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
29633 * util/grub-emu.c (usage): Likewise.
29634 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
29635 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29636 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29637 * util/i386/pc/grub-setup.c (usage): Likewise.
29639 2010-01-16 Carles Pina i Estany <carles@pina.cat>
29641 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
29643 (grub_util_info): Likewise.
29644 (grub_util_error): Likewise.
29645 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
29646 and/or new lines in `grub_util_warna', `grub_util_info',
29647 `grub_util_error' calls.
29648 * util/getroot.c: Likewise.
29649 * util/grub-editenv.c: Likewise.
29650 * util/grub-emu.c: Likewise.
29651 * util/grub-fstest.c: Likewise.
29652 * util/grub-mkdevicemap.c: Likewise.
29653 * util/grub-mkfont.c: Likewise.
29654 * util/grub-mkpasswd-pbkdf2.c: Likewise.
29655 * util/grub-mkrelpath.c: Likewise.
29656 * util/grub-pe2elf.c: Likewise.
29657 * util/grub-probe.c: Likewise.
29658 * util/hostdisk.c: Likewise.
29659 * util/i386/efi/grub-mkimage.c: Likewise.
29660 * util/i386/pc/grub-mkimage.c: Likewise.
29661 * util/i386/pc/grub-setup.c: Likewise.
29662 * util/ieee1275/ofpath.c: Likewise.
29663 * util/mkisofs/eltorito.c: Likewise.
29664 * util/mkisofs/rock.c: Likewise.
29665 * util/mkisofs/write.c: Likewise.
29666 * util/raid.c: Likewise.
29667 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
29668 * util/sparc64/ieee1275/grub-setup.c: Likewise.
29670 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29672 Enable multiboot on non-pc.
29674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
29675 multiboot.mod and multiboot2.mod to ...
29676 * conf/i386.rmk (pkglib_MODULES): ... here.
29677 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
29679 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
29680 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
29682 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
29683 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
29685 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
29686 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
29688 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
29689 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
29691 (ata_mod_SOURCES): Removed.
29692 (ata_mod_CFLAGS): Likewise.
29693 (ata_mod_LDFLAGS): Likewise.
29694 (relocator_mod_SOURCES): Removed.
29695 (relocator_mod_CFLAGS): Likewise.
29696 (relocator_mod_ASFLAGS): Likewise.
29697 (relocator_mod_LDFLAGS): Likewise.
29699 * include/grub/x86_64/multiboot.h: New file.
29700 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
29703 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29705 Video multiboot support.
29707 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
29709 * include/multiboot.h: Resynced with multiboot specification.
29710 * include/multiboot2.h: Likewise.
29711 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
29712 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
29713 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
29714 (HAS_VGA_TEXT): Likewise.
29715 (accepts_video): New variable.
29716 (grub_multiboot_set_accepts_video): New function.
29717 (grub_multiboot_get_mbi_size): Account for video structures.
29718 (set_video_mode): New function.
29719 (retrieve_video_parameters): Likewise.
29720 (grub_multiboot_make_mbi): Fill video fields.
29722 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
29726 * include/grub/video.h (grub_video_driver_id): New type.
29727 (grub_video_adapter): New member 'id'. All users updated.
29728 (grub_video_get_driver_id): New proto.
29729 * video/video.c (grub_video_get_driver_id): New function.
29731 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29733 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
29736 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29738 * normal/cmdline.c (print_completion): Gettextizze.
29740 2001-01-14 Carles Pina i Estany <carles@pina.cat>
29742 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
29744 2010-01-14 Carles Pina i Estany <carles@pina.cat>
29746 * gettext/gettext.c (grub_gettext_translate): Push and pop
29748 (grub_gettext_delete_list): Change comment style.
29749 * kern/err.c (grub_error): Gettextizze.
29750 (grub_fatal): Gettextizze.
29752 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
29754 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
29755 (grub_linux16_real_boot): ... this.
29756 * kern/i386/loader.S: Likewise.
29757 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
29758 (grub_linux16_boot): New function. Switches to text mode and calls
29759 grub_linux16_real_boot().
29761 * loader/i386/bsd.c: Include `<grub/video.h>'.
29762 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
29763 text mode before calling grub_unix_real_boot().
29765 * loader/i386/multiboot.c: Include `<grub/video.h>'.
29766 (grub_multiboot_boot): Switch to text mode before calling
29767 grub_relocator32_boot().
29769 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
29770 (grub_chainloader_boot): Switch to text mode before calling
29771 grub_chainloader_real_boot().
29773 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29774 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29776 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
29779 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29780 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29782 * util/grub.d/00_header.in: Define a "savedefault" function for use
29784 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
29786 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
29787 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
29789 * util/grub-mkconfig_lib.in (save_default_entry): Only set
29790 saved_entry if boot_once is unset.
29791 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
29792 previous saved entry (i.e. grub-reboot).
29794 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29796 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
29798 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29800 * util/grub.d/00_header.in: Use `set var=val' rather than plain
29802 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
29804 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29806 * util/grub-reboot.in: Fix --version output.
29807 * util/grub-set-default.in: Likewise.
29809 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29811 * util/grub.d/00_header.in: Silently ignore zero-sized environment
29814 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29816 * util/grub.d/00_header.in: Quote the value assigned to `default',
29817 in case it contains spaces.
29819 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
29821 * util/grub.d/30_os-prober.in: Fix merge error that moved a
29822 `save_default_entry' call from the macosx case to the linux case.
29824 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
29825 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
29827 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
29828 in `chosen' environment variable.
29829 * normal/menu_text.c (get_entry_number): Check if the variable
29830 matches the title of a menu entry.
29831 (run_menu): Pass menu to get_entry_number.
29833 * util/grub-reboot.in: New file.
29834 * util/grub-set-default.in: New file.
29835 * conf/common.rmk (grub-reboot): New utility.
29836 (grub-set-default): New utility.
29838 * util/grub-mkconfig_lib.in (save_default_entry): New function.
29839 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
29840 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
29841 move it to `saved_entry' for the next boot. Load environment on
29843 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
29844 * util/grub.d/10_hurd.in: Likewise.
29845 * util/grub.d/10_linux.in (linux_entry): Likewise.
29846 * util/grub.d/10_windows.in: Likewise.
29847 * util/grub.d/30_os-prober.in: Likewise.
29849 * util/grub-install.in: Create environment block.
29850 * util/i386/efi/grub-install.in: Likewise.
29851 * util/ieee1275/grub-install.in: Likewise.
29852 * util/sparc64/ieee1275/grub-install.in: Likewise.
29854 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
29856 Unit testing framework for GRUB.
29858 * Makefile.in: Test framework build rules for 'make check'.
29859 * conf/tests.rmk: Build rules for individual tests and framework.
29861 * include/grub/test.h: Header file for whitebox tests.
29862 * tests/lib/functional_test.c: Framework support for whitebox
29864 * tests/lib/test.c: Common whitebox testing code for unit and
29866 * tests/lib/unit_test.c: Framework support for whitebox unit
29869 * tests/util/grub-shell-tester.in: Support utility for grub-script
29871 * tests/util/grub-shell.in: Utility to execute grub-script
29872 commands in a Qemu instance.
29874 * tests/example_functional_test.c: Example whitebox functional
29876 * tests/example_grub_script_test.in: Example grub-script test.
29877 * tests/example_scripted_test.in: Example scripted test.
29878 * tests/example_unit_test.c: Example whitebox unit test.
29880 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
29882 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
29883 Add loader/i386/multiboot_mbi.c.
29884 (multiboot2_mod_SOURCES): Likewise.
29885 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
29886 (multiboot2_mod_SOURCES): Likewise.
29887 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
29888 (grub_multiboot_make_mbi): Likewise.
29889 (grub_multiboot_free_mbi): Likewise.
29890 (grub_multiboot_init_mbi): Likewise.
29891 (grub_multiboot_add_module): Likewise.
29892 (grub_multiboot_set_bootdev): Likewise.
29893 * loader/i386/multiboot.c (mbi): Removed.
29894 (mbi_dest): Likewise.
29895 (alloc_mbi): New variable.
29896 (grub_multiboot_payload_size): Removed. All users updated.
29897 (grub_multiboot_pure_size): New variable.
29898 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
29899 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
29900 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
29901 (grub_fill_multiboot_mmap): Likewise.
29902 (grub_multiboot_get_bootdev): Likewise.
29903 (grub_multiboot): Use multiboot_mbi functions.
29904 * loader/i386/multiboot_mbi.c: New file.
29906 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29908 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
29909 it would result in module crash.
29911 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
29913 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
29914 (grub_ofconsole_getwh): Split to ...
29915 (grub_ofconsole_getwh): ... this.
29916 (grub_ofconsole_dimensions): ...and this.
29917 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
29919 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
29921 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
29923 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29925 * loader/i386/pc/multiboot2.c: Removed stalled file.
29927 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
29929 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
29930 Reported by: Grégoire Sutre
29932 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
29934 * util/misc.c (canonicalize_file_name): New function.
29935 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
29936 instead of realpath().
29938 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
29940 * util/grub-install.in (usage): Clarify meaning of --root-directory,
29941 and make it clearer that it's optional. Based on confusion
29944 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29946 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
29947 in premature implicit newline.
29949 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
29951 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
29952 which resulted in garbled command line at the end of screen.
29954 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29956 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
29957 initialization with similar approach as with other Linux loaders.
29959 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29961 Fix i386-ieee1275 build.
29963 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
29964 and grub_term_height() for video_{width,height} initialization.
29966 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
29968 Fix grub-emu build.
29970 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
29972 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
29973 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
29975 Support for multiple terminals.
29977 * Makefile.in (pkglib_DATA): terminal.lst.
29978 (terminal.lst): New target.
29979 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
29980 (GRUB_MOD_INIT(handler)): Likewise.
29981 (GRUB_MOD_FINI(handler)): Likewise.
29982 * commands/help.c (grub_cmd_help): Handle multiple terminals.
29983 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
29984 * commands/sleep.c (do_print): Use grub_term_restore_pos.
29985 (grub_cmd_sleep): Use grub_term_save_pos.
29986 * commands/terminal.c: New file.
29987 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
29988 commands/terminal.c and lib/charset.c.
29989 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
29990 (pkglib_MODULES): Add terminal.mod.
29991 (terminal_mod_SOURCES): New variable.
29992 (terminal_mod_CFLAGS): Likewise.
29993 (terminal_mod_LDFLAGS): Likewise.
29994 * genhandlerlist.sh: Don't handle terminals.
29995 * genmk.rb: Generate terminal-*.lst.
29996 * genterminallist.sh: New file.
29997 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
29998 (grub_is_valid_utf8): Likewise.
29999 (grub_utf8_to_ucs4_alloc): Likewise.
30000 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
30001 (grub_menu_register_viewer): Changed argument.
30002 (grub_menu_try_text): New proto.
30003 (grub_gfxmenu_try_hook): New declaration.
30004 * include/grub/normal.h (grub_normal_exit_level): New declaration.
30005 (grub_menu_init_page): Additional argument term.
30006 (grub_normal_init_page): Likewise.
30007 (grub_cmdline_get): Arguments simplified.
30008 (grub_utf8_to_ucs4_alloc): Removed.
30009 (grub_print_ucs4): Additional argument term.
30010 (grub_getstringwidth): Likewise.
30011 (grub_print_message_indented): Likewise.
30012 (grub_menu_text_register_instances): New proto.
30013 (grub_show_menu): Likewise.
30014 (read_terminal_list): Likewise.
30015 (grub_set_more): Likewise.
30016 * include/grub/parser.h: Include handler.h.
30017 * include/grub/reader.h: Rewritten.
30018 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
30019 (GRUB_TERM_WIDTH): Changed to function.
30020 (GRUB_TERM_HEIGHT): Likewise.
30021 (GRUB_TERM_BORDER_WIDTH): Likewise.
30022 (GRUB_TERM_BORDER_HEIGHT): Likewise.
30023 (GRUB_TERM_NUM_ENTRIES): Likewise.
30024 (GRUB_TERM_ENTRY_WIDTH): Likewise.
30025 (GRUB_TERM_CURSOR_X): Likewise.
30026 (grub_term_input_class): Likewise.
30027 (grub_term_output_class): Likewise.
30028 (grub_term_outputs_disabled): New declaration.
30029 (grub_term_inputs_disabled): Likewise.
30030 (grub_term_outputs): Likewise.
30031 (grub_term_inputs): Likewise.
30032 (grub_term_register_input): Rewritten.
30033 (grub_term_register_output): Likewise.
30034 (grub_term_unregister_input): Likewise.
30035 (grub_term_unregister_output): Likewise.
30036 (FOR_ACTIVE_TERM_INPUTS): New macro.
30037 (FOR_DISABLED_TERM_INPUTS): Likewise.
30038 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
30039 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
30040 * include/grub/terminfo.h: Add oterm argument to all protypes.
30041 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
30042 Use grub_rescue_run.
30043 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
30045 * kern/reader.c: Removed. All users updated.
30046 * kern/rescue_reader.c (grub_rescue_init): Removed.
30047 (grub_rescue_reader): Likewise.
30048 (grub_register_rescue_reader): Likewise.
30049 (grub_rescue_run): New function based on kern/reader.c.
30050 * kern/term.c: Adapted for multiterm.
30051 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
30052 (grub_is_valid_utf8): Likewise.
30053 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
30054 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
30056 * loader/i386/linux.c (grub_linux_boot): Likewise.
30057 * normal/auth.c (grub_username_get): New function.
30058 (grub_auth_check_authentication): Use grub_username_get.
30059 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
30060 * normal/color.c: Adapt for multiterm.
30061 * normal/main.c (read_config_file): Don't use grub_reader_loop.
30062 (grub_normal_init_page): Additional argument term.
30063 (read_lists): Call read_terminal_lists.
30064 (grub_enter_normal_mode): Call grub_cmdline_run.
30065 Handle grub_normal_exit_level.
30066 (grub_cmd_normal): Make reentrant.
30067 (grub_cmd_normal_exit): New function.
30068 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
30069 * normal/menu.c: Adapt for multiterm.
30070 * normal/menu_entry.c: Likewise.
30071 * normal/menu_text.c: Likewise.
30072 * normal/menu_viewer.c: Removed. All users updated.
30073 * normal/term.c: New file.
30074 * util/console.c: Change order of includes to workaround a bug in
30076 * term/terminfo.c: New argument oterm on all exported functions.
30078 * util/grub-editenv.c (grub_term_input_class): Removed.
30079 (grub_term_output_class): Likewise.
30081 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
30083 Make loader output a bit more user-friendly.
30085 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
30086 is being loaded. Likewise for the Hurd.
30088 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
30089 that kernel of FreeBSD ${version} is being loaded.
30091 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
30093 (grub_cmd_initrd): Likewise.
30094 * util/grub.d/10_linux.in (linux_entry): Print message indicating
30095 that Linux ${version} is being loaded. Likewise for initrd.
30097 2010-01-09 Carles Pina i Estany <carles@pina.cat>
30099 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
30101 2010-01-08 Carles Pina i Estany <carles@pina.cat>
30103 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
30104 (GRUB_MOD_INIT): Gettextizze.
30105 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
30106 (GRUB_MOD_INIT): Gettextizze.
30107 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
30108 (grub_cmd_linux): Capitalise Linux.
30109 (GRUB_MOD_INIT): Gettextizze.
30110 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
30111 (grub_cmd_linux): Capitalise Linux.
30112 (GRUB_MOD_INIT): Gettextizze.
30113 * loader/i386/linux.c: Include `<grub/i18n.h>'.
30114 (grub_cmd_linux): Capitalise Linux.
30115 (GRUB_MOD_INIT): Gettextizze.
30116 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
30117 (GRUB_MOD_INIT): Gettextizze.
30118 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
30119 (grub_cmd_linux): Capitalise Linux.
30120 (GRUB_MOD_INIT): Gettextizze.
30121 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
30122 (grub_cpu_xnu_init): Gettextizze.
30123 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
30124 (GRUB_MOD_INIT): Gettextizze.
30125 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
30126 (GRUB_MOD_INIT): Gettextizze.
30127 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
30128 (grub_linux_load64): Capitalise Linux.
30129 (GRUB_MOD_INIT): Gettextizze.
30130 * loader/xnu.c: Include `<grub/i18n.h>'.
30131 (GRUB_MOD_INIT): Gettextizze.
30132 * po/POTFILES: Add `loader/efi/appleloader.c',
30133 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
30134 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
30135 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
30136 `loader/i386/xnu.c', `loader/multiboot_loader.c',
30137 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
30138 and `loader/xnu.c'.
30140 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30142 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
30144 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
30146 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
30147 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
30148 * util/mkisofs/mkisofs.c (main): Readjust --version output.
30150 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30152 Reset Multiboot 2 support. New loader implements the draft in
30153 /branches/multiboot2 and shares as much code as possible with the
30154 production Multiboot 1 implementation.
30156 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
30157 * loader/multiboot2.c: Likewise.
30158 * loader/i386/multiboot_helper.S: Likewise.
30159 * include/multiboot2.h: Replace with latest version from the draft
30160 in /branches/multiboot2.
30162 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
30163 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
30164 and `loader/multiboot2.c'.
30165 (pkglib_MODULES): Add `multiboot2.mod'.
30166 (multiboot2_mod_SOURCES): New variable.
30167 (multiboot2_mod_LDFLAGS): Likewise.
30168 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
30170 * conf/i386-pc.rmk: Likewise.
30172 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
30173 (multiboot_mod_SOURCES): Remove variable.
30174 (multiboot_mod_LDFLAGS): Likewise.
30175 (multiboot_mod_CFLAGS): Likewise.
30177 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
30178 `<multiboot2.h>' instead of `<multiboot.h>'.
30179 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
30180 (MULTIBOOT_HEADER_MAGIC): New macros.
30182 * loader/multiboot_loader.c (module_version_status): Remove variable.
30183 (find_multi_boot2_header): Remove function.
30184 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
30185 logic. Always check for the Multiboot version we're compiling for.
30186 (grub_cmd_module_loader): Likewise.
30187 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
30188 command instead of `multiboot'.
30190 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30192 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
30193 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
30196 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30197 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30199 Fix breakage introduced with previous commit.
30201 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
30203 * normal/handler.c (read_handler_list): Revert part of previous commit
30204 affecting this file.
30205 * normal/main.c (read_lists): Move read_handler_list() call back to ...
30206 (grub_normal_execute): ... here.
30208 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
30210 Merge prefix-redefinition-fix branch.
30212 * normal/autofs.c (read_fs_list): Make function capable of being
30213 run multiple times, gracefuly replacing the previous data
30215 * normal/dyncmd.c (read_command_list): Likewise.
30216 * normal/handler.c (read_handler_list): Likewise.
30217 * normal/main.c (read_lists): New function. Calls all the
30218 list reading functions.
30219 (grub_normal_execute): Use read_lists() instead of calling all
30220 list reading functions explicitly. Register read_lists() as a
30221 variable hook attached to ${prefix}.
30223 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30225 Merge crypto branch.
30227 * Makefile.in (pkglib_DATA): Add crypto.lst.
30228 (crypto.lst): New target.
30229 * commands/hashsum.c: New file.
30230 * commands/password.c (check_password): Use grub_crypto_memcmp.
30231 * commands/password_pbkdf2.c: New file.
30232 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
30233 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
30234 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
30235 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
30236 -I$(srcdir)/lib/libgcrypt_wrap.
30237 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
30238 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
30239 password_pbkdf2.mod.
30240 (crypto_mod_SOURCES): New variable.
30241 (crypto_mod_CFLAGS): Likewise.
30242 (crypto_mod_LDFLAGS): Likewise.
30243 (hashsum_mod_SOURCES): New variable.
30244 (hashsum_mod_CFLAGS): Likewise.
30245 (hashsum_mod_LDFLAGS): Likewise.
30246 (pbkdf2_mod_SOURCES): New variable.
30247 (pbkdf2_mod_CFLAGS): Likewise.
30248 (pbkdf2_mod_LDFLAGS): Likewise.
30249 (password_pbkdf2_mod_SOURCES): New variable.
30250 (password_pbkdf2_mod_CFLAGS): Likewise.
30251 (password_pbkdf2_mod_LDFLAGS): Likewise.
30252 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
30253 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
30254 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
30255 Include conf/gcry.rmk.
30256 * include/grub/auth.h: Rewritten.
30257 * include/grub/crypto.h: New file.
30258 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
30259 * include/grub/normal.h (read_crypto_list): New prototype.
30260 * lib/crypto.c: New file.
30261 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
30262 * lib/pbkdf2.c: Likewise.
30263 * normal/auth.c (grub_auth_strcmp): Removed.
30264 (grub_iswordseparator): Likewise.
30265 (grub_auth_strword): Likewise.
30266 (is_authenticated): Use grub_strword.
30267 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
30268 and grub_strword. Pass entered password to authentication callback.
30269 * normal/crypto.c: New file.
30270 * normal/main.c: Call read_crypto_list.
30271 * util/grub-mkpasswd-pbkdf2.c: New file.
30272 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
30274 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
30276 Fix descent and ascent calculation.
30278 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
30279 (options): New option "asce".
30281 (add_char): Ignore invalid glyphs for descent calculation.
30282 Calculate ascent from actual content.
30283 (print_glyphs): Use 'asce'.
30284 (write_font): Likewise. Allow ascent override.
30285 (main): Handle "asce" option.
30287 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30289 * kern/err.c: Include `<grub/i18n.h>'.
30290 (grub_print_error): Add full stop. Gettextizze.
30291 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
30292 (grub_bsd_load_elf): Capitalise ELF.
30293 (grub_cmd_freebsd_loadenv): Add `s' in error string.
30294 (grub_cmd_freebsd_module): Likewise.
30295 (grub_cmd_freebsd_module_elf): Likewise.
30296 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
30298 2010-01-06 Carles Pina i Estany <carles@pina.cat>
30300 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
30301 * commands/search_file.c (HELP_MESSAGE): New macro.
30302 * commands/search_label.c (HELP_MESSAGE): Likewise.
30303 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
30304 * po/POTFILES: Add `commands/search_file.c',
30305 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
30306 `commands/search.c'.
30308 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30310 * config.rpath: Update from Gnulib.
30312 2010-01-05 Yves Blusseau <blusseau@zetam.org>
30314 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
30316 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
30318 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
30320 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30322 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
30323 arguments to fread so that we get a return value in bytes, rather
30324 than something that will normally be rounded down to 0.
30325 Adjust error handling to avoid producing garbage when size_t is not
30326 the same size as long long.
30328 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
30330 * util/mkisofs/write.c (padblock_write): Check return value of
30333 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
30335 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
30338 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
30340 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30342 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
30343 instead of manual alignment.
30344 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
30345 verbose). Avoid attempts to read past end of the device
30346 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
30347 but GRUB_DISK_CACHE_SIZE may exceed that).
30349 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
30351 * commands/crc.c (grub_cmd_crc): Abort on read errors.
30352 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
30355 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30357 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
30359 (grub_efi_piwg_device_path): New structure
30360 (grub_efi_piwg_device_path_t): New type.
30361 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
30362 (devpath_1): Transform to a structure. All users updated.
30363 (devpath_2): Likewise.
30364 (devpath_3): Likewise.
30365 (devpath_4): Likewise.
30366 (devpath_5): Likewise.
30368 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
30370 * loader/efi/appleloader.c: Restored. Update all users.
30372 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30374 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
30376 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
30377 (struct boot_blocklist): Move from here ...
30378 * include/grub/i386/pc/boot.h [ASM_FILE]
30379 (struct grub_boot_blocklist): ... to here. Update all users.
30380 (setup): Only initialize `start' member of `first_block'
30381 structure. Add assert() calls to verify the other members.
30383 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
30384 (generate_image): Fix broken blocklist length initialization.
30385 Add assert() call to verify blocklist `segment' field.
30387 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30389 * loader/efi/appleloader.c: Remove. Update all users.
30391 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
30393 * boot/i386/pc/boot.S: Update copyright year.
30394 * boot/i386/pc/cdboot.S: Likewise.
30395 * boot/i386/pc/diskboot.S: Likewise.
30396 * boot/i386/pc/lnxboot.S: Likewise.
30397 * boot/i386/pc/pxeboot.S: Likewise.
30398 * bus/pci.c: Likewise.
30399 * commands/cmp.c: Likewise.
30400 * commands/help.c: Likewise.
30401 * commands/hexdump.c: Likewise.
30402 * commands/i386/pc/halt.c: Likewise.
30403 * commands/i386/pc/play.c: Likewise.
30404 * commands/i386/pc/vbeinfo.c: Likewise.
30405 * commands/ls.c: Likewise.
30406 * commands/test.c: Likewise.
30407 * disk/dmraid_nvidia.c: Likewise.
30408 * disk/i386/pc/biosdisk.c: Likewise.
30409 * disk/ieee1275/nand.c: Likewise.
30410 * disk/ieee1275/ofdisk.c: Likewise.
30411 * disk/lvm.c: Likewise.
30412 * disk/raid.c: Likewise.
30413 * disk/raid6_recover.c: Likewise.
30414 * disk/scsi.c: Likewise.
30415 * fs/affs.c: Likewise.
30416 * fs/cpio.c: Likewise.
30417 * fs/ext2.c: Likewise.
30418 * fs/hfs.c: Likewise.
30419 * fs/iso9660.c: Likewise.
30420 * fs/ntfs.c: Likewise.
30421 * fs/sfs.c: Likewise.
30422 * fs/udf.c: Likewise.
30423 * fs/ufs.c: Likewise.
30424 * fs/xfs.c: Likewise.
30425 * gencmdlist.sh: Likewise.
30426 * genmk.rb: Likewise.
30427 * include/grub/disk.h: Likewise.
30428 * include/grub/efi/api.h: Likewise.
30429 * include/grub/efi/efi.h: Likewise.
30430 * include/grub/efi/pe32.h: Likewise.
30431 * include/grub/elf.h: Likewise.
30432 * include/grub/fs.h: Likewise.
30433 * include/grub/i386/at_keyboard.h: Likewise.
30434 * include/grub/i386/pc/memory.h: Likewise.
30435 * include/grub/i386/pc/vbe.h: Likewise.
30436 * include/grub/i386/pci.h: Likewise.
30437 * include/grub/i386/tsc.h: Likewise.
30438 * include/grub/ieee1275/ieee1275.h: Likewise.
30439 * include/grub/ntfs.h: Likewise.
30440 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
30441 * include/grub/sparc64/libgcc.h: Likewise.
30442 * include/grub/symbol.h: Likewise.
30443 * include/grub/types.h: Likewise.
30444 * include/multiboot2.h: Likewise.
30445 * io/gzio.c: Likewise.
30446 * kern/device.c: Likewise.
30447 * kern/disk.c: Likewise.
30448 * kern/efi/efi.c: Likewise.
30449 * kern/efi/mm.c: Likewise.
30450 * kern/elf.c: Likewise.
30451 * kern/file.c: Likewise.
30452 * kern/i386/dl.c: Likewise.
30453 * kern/i386/pc/init.c: Likewise.
30454 * kern/i386/pc/startup.S: Likewise.
30455 * kern/ieee1275/ieee1275.c: Likewise.
30456 * kern/ieee1275/init.c: Likewise.
30457 * kern/main.c: Likewise.
30458 * kern/mm.c: Likewise.
30459 * kern/powerpc/dl.c: Likewise.
30460 * kern/sparc64/dl.c: Likewise.
30461 * kern/x86_64/dl.c: Likewise.
30462 * lib/hexdump.c: Likewise.
30463 * loader/efi/appleloader.c: Likewise.
30464 * loader/i386/ieee1275/linux.c: Likewise.
30465 * loader/i386/pc/chainloader.c: Likewise.
30466 * loader/i386/pc/linux.c: Likewise.
30467 * loader/i386/pc/multiboot2.c: Likewise.
30468 * loader/ieee1275/multiboot2.c: Likewise.
30469 * loader/multiboot2.c: Likewise.
30470 * loader/multiboot_loader.c: Likewise.
30471 * loader/powerpc/ieee1275/linux.c: Likewise.
30472 * normal/completion.c: Likewise.
30473 * normal/menu_entry.c: Likewise.
30474 * partmap/apple.c: Likewise.
30475 * util/grub.d/10_hurd.in: Likewise.
30476 * util/hostfs.c: Likewise.
30477 * video/readers/png.c: Likewise.
30479 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
30481 * include/grub/misc.h (GNUC_PREREQ): New macro.
30482 (ATTRIBUTE_ERROR): New macro.
30483 * include/grub/list.h (grub_bad_type_cast_real): Use
30486 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30488 * normal/menu_text.c (print_message): Change messages.
30490 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30492 * normal/menu_entry.c (store_completion): Gettextizze.
30494 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30496 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
30498 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30500 * po/POTFILES: Sort correctly.
30502 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30504 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
30505 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
30506 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
30508 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
30509 summary. Gettextizze the strings.
30510 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
30511 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
30512 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
30514 (GRUB_MOD_INIT): Remove command name from summary.
30515 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
30517 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
30518 * term/i386/pc/serial.c (options): Add full stops.
30519 (GRUB_MOD_INIT): Remove command name from the summary.
30521 2010-01-03 Carles Pina i Estany <carles@pina.cat>
30523 * commands/acpi.c: Gettextizze help strings and/or options. Include
30524 `grub/i18n.h' if needed.
30525 * commands/blocklist.c: Likewise.
30526 * commands/boot.c: Likewise.
30527 * commands/cat.c: Likewise.
30528 * commands/cmp.c: Likewise.
30529 * commands/configfile.c: Likewise.
30530 * commands/crc.c: Likewise.
30531 * commands/date.c: Likewise.
30532 * commands/echo.c: Likewise.
30533 * commands/efi/fixvideo.c: Likewise.
30534 * commands/efi/loadbios.c: Likewise.
30535 * commands/gptsync.c: Likewise.
30536 * commands/halt.c: Likewise.
30537 * commands/handler.c: Likewise.
30538 * commands/hdparm.c: Likewise.
30539 * commands/hexdump.c: Likewise.
30540 * commands/i386/cpuid.c: Likewise.
30541 * commands/i386/pc/drivemap.c: Likewise.
30542 * commands/i386/pc/halt.c: Likewise.
30543 * commands/i386/pc/pxecmd.c: Likewise.
30544 * commands/i386/pc/vbeinfo.c: Likewise.
30545 * commands/i386/pc/vbetest.c: Likewise.
30546 * commands/ieee1275/suspend.c: Likewise.
30547 * commands/keystatus.c: Likewise.
30548 * commands/loadenv.c: Likewise.
30549 * commands/ls.c: Likewise.
30550 * commands/lsmmap.c: Likewise.
30551 * commands/lspci.c: Likewise.
30552 * commands/memrw.c: Likewise.
30553 * commands/minicmd.c: Likewise.
30554 * commands/parttool.c: Likewise.
30555 * commands/password.c: Likewise.
30556 * commands/probe.c: Likewise.
30557 * commands/read.c: Likewise.
30558 * commands/reboot.c: Likewise.
30559 * commands/search.c: Likewise.
30560 * commands/sleep.c: Likewise.
30561 * commands/test.c: Likewise.
30562 * commands/true.c: Likewise.
30563 * commands/usbtest.c: Likewise.
30564 * commands/videotest.c: Likewise.
30565 * commands/xnu_uuid.c: Likewise.
30566 * disk/loopback.c: Likewise.
30567 * hello/hello.c: Likewise.
30568 * loader/i386/bsd.c: Likewise.
30569 * term/i386/pc/serial.c: Likewise.
30570 * po/POTFILES: Add new files.
30572 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
30574 * term/i386/pc/at_keyboard.c
30575 (keyboard_controller_wait_untill_ready): Rename to ...
30576 (keyboard_controller_wait_until_ready): ... this. Update all users.
30578 2010-01-01 Carles Pina i Estany <carles@pina.cat>
30580 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
30581 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
30582 string using string width.
30583 * normal/menu_text.c (grub_print_message_indented): Use
30584 grub_print_spaces and not print_spaces.
30585 (print_timeout): Likewise.
30586 (print_spaces): Move to...
30587 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
30589 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
30591 Import from Gnulib.
30593 * gnulib/getdelim.c: New file.
30594 * gnulib/getline.c: Likewise.
30596 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
30598 * include/grub/list.h (grub_assert_fail): Removed.
30599 (grub_bad_type_cast_real): New function.
30600 (grub_bad_type_cast): New macro.
30601 (GRUB_AS_LIST): Use grub_bad_type_cast.
30602 (GRUB_AS_LIST_P): Likewise.
30603 (GRUB_AS_NAMED_LIST): Likewise.
30604 (GRUB_AS_NAMED_LIST_P): Likewise.
30605 (GRUB_AS_PRIO_LIST): Likewise.
30606 (GRUB_AS_PRIO_LIST_P): Likewise.
30607 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
30609 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
30611 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
30614 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
30616 * configure.ac: Check for TARGET_CFLAGS initialization before we
30617 initialize it ourselves (sigh).
30618 Move a few modifications to TARGET_CFLAGS to be unconditional
30619 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
30622 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
30623 * term/i386/pc/at_keyboard.c
30624 (keyboard_controller_wait_untill_ready): Likewise.
30625 (keyboard_controller_led): Rename `led_status' paramter to avoid
30628 2009-12-28 Carles Pina i Estany <carles@pina.cat>
30630 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
30633 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30635 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
30637 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30639 * normal/menu_text.c (grub_print_message_indented): Prevent
30640 past-the-end-of-array dereference.
30642 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
30644 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
30645 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
30647 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30649 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
30650 * normal/main.c (grub_normal_read_line): Remove a space from the
30653 2009-12-27 Carles Pina i Estany <carles@pina.cat>
30655 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
30656 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30657 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30658 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30659 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30660 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30661 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30663 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30665 * video/readers/jpeg.c (cmd): Declare.
30666 (grub_cmd_jpegtest): Use `grub_command_t' type.
30667 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30669 (GRUB_MOD_FINI): Use `cmd' to unregister.
30670 * video/readers/png.c (cmd): Declare.
30671 (grub_cmd_pngtest): Use `grub_command_t' type.
30672 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30674 (GRUB_MOD_FINI): Use `cmd' to unregister.
30675 * video/readers/tga.c (cmd): Declare.
30676 (grub_cmd_tgatest): Use `grub_command_t' type.
30677 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
30679 (GRUB_MOD_FINI): Use `cmd' to unregister.
30681 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30683 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
30685 * kern/corecmd.c (grub_register_core_commands): Likewise.
30686 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
30687 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30688 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
30689 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30690 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
30691 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
30692 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
30693 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
30694 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30695 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
30696 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30697 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30698 * normal/handler.c (insert_handler): Likewise.
30699 * normal/main.c (GRUB_MOD_INIT): Likewise.
30700 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
30702 2009-12-26 Carles Pina i Estany <carles@pina.cat>
30704 * commands/help.c (grub_cmd_help): Print the command name before the
30706 (GRUB_MOD_INIT): Remove command name from the summary.
30707 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
30709 * lib/arg.c (find_long): Print the command name before the summary.
30710 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
30712 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
30713 * commands/cat.c (GRUB_MOD_INIT): Likewise.
30714 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
30715 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
30716 * commands/crc.c (GRUB_MOD_INIT): Likewise.
30717 * commands/date.c (GRUB_MOD_INIT): Likewise.
30718 * commands/echo.c (GRUB_MOD_INIT): Likewise.
30719 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
30720 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
30721 * commands/handler.c (GRUB_MOD_INIT): Likewise.
30722 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
30723 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
30724 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
30725 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
30726 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
30727 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
30728 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
30729 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
30730 * commands/ls.c (GRUB_MOD_INIT): Likewise.
30731 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
30732 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
30733 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
30734 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
30735 * commands/password.c (GRUB_MOD_INIT): Likewise.
30736 * commands/probe.c (GRUB_MOD_INIT): Likewise.
30737 * commands/read.c (GRUB_MOD_INIT): Likewise.
30738 * commands/search.c (GRUB_MOD_INIT): Likewise.
30739 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
30740 * commands/test.c (GRUB_MOD_INIT): Likewise.
30741 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
30742 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
30743 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
30744 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
30745 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
30746 * lib/arg.c (GRUB_MOD_INIT): Likewise.
30747 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
30748 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
30749 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
30750 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
30751 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
30752 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
30753 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
30754 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
30756 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30758 Use search command for preliminar UUID search.
30760 * commands/search.c: Split into ...
30761 * commands/search_wrap.c: ...this
30762 * commands/search.c: ...and this.
30763 * commands/search_file.c: New file.
30764 * commands/search_label.c: New file.
30765 * commands/search_uuid.c: New file.
30766 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
30767 Add commands/search_wrap.c, commands/search_file.c,
30768 commands/search_label.c and commands/search_uuid.c.
30769 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
30770 (search_mod_SOURCES): Set to commands/search_wrap.c.
30771 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
30773 (search_fs_file_mod_SOURCES): New variable.
30774 (search_fs_file_mod_CFLAGS): Likewise.
30775 (search_fs_file_mod_LDFLAGS): Likewise.
30776 (search_label_mod_SOURCES): Likewise.
30777 (search_label_mod_CFLAGS): Likewise.
30778 (search_label_mod_LDFLAGS): Likewise.
30779 (search_fs_uuid_mod_SOURCES): New variable.
30780 (search_fs_uuid_mod_CFLAGS): Likewise.
30781 (search_fs_uuid_mod_LDFLAGS): Likewise.
30782 (fs_file_mod_SOURCES): Removed.
30783 (fs_file_mod_CFLAGS): Likewise.
30784 (fs_file_mod_LDFLAGS): Likewise.
30785 (fs_uuid_mod_SOURCES): Removed.
30786 (fs_uuid_mod_CFLAGS): Likewise.
30787 (fs_uuid_mod_LDFLAGS): Likewise.
30788 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
30789 Set to util/grub-install.in.
30790 * disk/fs_file.c: Removed.
30791 * disk/fs_uuid.c: Likewise.
30792 * include/grub/search.h: New file.
30793 * util/grub-install.in: Handle sparc64.
30794 Create and use load.cfg.
30795 * util/sparc64/ieee1275/grub-install.in: Removed.
30797 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30799 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
30800 Ignore return status if CF is cleared.
30801 (grub_biosdisk_get_diskinfo_standard): Likewise.
30803 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30805 * term/i386/pc/at_keyboard.c
30806 (keyboard_controller_wait_untill_ready): New function.
30807 (grub_keyboard_controller_write, grub_keyboard_controller_read)
30808 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
30809 for keyboard polling, rather than duplicate the same loop. This
30810 saves a few bytes in code size.
30812 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
30814 Support for (pxe[:server[:gateway]]) syntax and
30815 use environment variable for PXE.
30817 * commands/i386/pc/pxecmd.c (options): Removed.
30818 (print_ip): Removed.
30819 (grub_cmd_pxe): Removed
30820 (grub_cmd_pxe_unload): New function.
30821 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
30822 (grub_pxe_your_ip): Made static.
30823 (grub_pxe_default_server_ip): Likewise.
30824 (grub_pxe_default_gateway_ip): Likewise.
30825 (grub_pxe_blksize): Likewise.
30826 (parse_ip): New function.
30827 (grub_pxe_open): Support server and gateway specification.
30828 (grub_pxe_close): Free disk->data.
30829 (grub_pxefs_open): Use disk->data.
30830 (grub_pxefs_read): Likewise.
30831 (grub_env_write_readonly): New function.
30832 (set_mac_env): Likewise.
30833 (set_env_limn_ro): Likewise.
30834 (parse_dhcp_vendor): Likewise.
30835 (grub_pxe_detect): Set the environment variables.
30836 (set_ip_env): New function.
30837 (write_ip_env): Likewise.
30838 (grub_env_write_pxe_default_server): Likewise.
30839 (grub_env_write_pxe_default_gateway): Likewise.
30840 (grub_env_write_pxe_blocksize): Likewise.
30841 (GRUB_MOD_INIT(pxe)): Set environment variables.
30842 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
30843 (grub_pxe_mac_addr_t): ... this. All users updated.
30844 (grub_pxe_your_ip): Removed.
30845 (grub_pxe_server_ip): Likewise.
30846 (grub_pxe_gateway_ip): Likewise.
30847 (grub_pxe_blksize): Likewise.
30849 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30851 * commands/help.c: Include `<grub/i18n.h>'.
30852 (grub_cmd_help): Gettextizze.
30853 (GRUB_MOD_INIT): Likewise.
30854 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
30855 (GRUB_MOD_INIT): Gettextizze.
30856 * commands/search.c: Include `<grub/i18n.h>'.
30857 (options): Gettextizze.
30858 (GRUB_MOD_INIT): Gettextizze.
30859 * lib/arg.c: Include `<grub/i18n.h>'.
30860 (help_options): Gettextizze.
30861 (find_long): Likewise.
30862 (grub_arg_show_help): Likewise.
30863 * normal/dyncmd.c: Include `<grub/i18n.h>'.
30864 (read_command_list): Gettextizze.
30865 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
30866 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
30868 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
30870 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
30871 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
30872 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
30873 (led_status): New variable.
30874 (keyboard_controller_led): New function.
30875 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
30876 update led status for caps lock, num lock and scroll lock.
30878 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
30880 * util/hostdisk.c (open_device): Fix a comment.
30882 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30884 * util/grub-install.in (host_os): New variable.
30885 * util/i386/efi/grub-install.in (host_os): Likewise.
30887 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30889 * util/mkisofs/write.c (padblock_write): Abort when given an
30890 excedingly large embed image, instead of silently truncating it.
30892 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30894 * include/multiboot.h: Indentation fixes.
30896 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30898 * include/multiboot.h (struct multiboot_aout_symbol_table)
30899 (struct multiboot_elf_section_header_table): New structure
30900 declarations (stolen from GRUB Legacy).
30901 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
30904 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
30905 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
30908 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30910 * include/multiboot.h: Make comments src2texi-friendly.
30912 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30914 For consistency with [multiboot]/docs/boot.S.
30916 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
30917 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
30918 (MULTIBOOT_MAGIC2): Rename from this ...
30919 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
30921 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
30923 * include/multiboot.h: Remove `<grub/types.h>'.
30924 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
30925 types. Update all users.
30927 2009-12-25 Carles Pina i Estany <carles@pina.cat>
30929 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
30930 `couldn't' and `can not' by `cannot'.
30931 * commands/i386/pc/drivemap.c: Likewise.
30932 * disk/ata.c: Likewise.
30933 * disk/ieee1275/nand.c: Likewise.
30934 * fs/affs.c: Likewise.
30935 * fs/fat.c: Likewise.
30936 * fs/hfs.c: Likewise.
30937 * fs/hfsplus.c: Likewise.
30938 * fs/iso9660.c: Likewise.
30939 * fs/jfs.c: Likewise.
30940 * fs/minix.c: Likewise.
30941 * fs/reiserfs.c: Likewise.
30942 * fs/sfs.c: Likewise.
30943 * fs/udf.c: Likewise.
30944 * fs/ufs.c: Likewise.
30945 * fs/xfs.c: Likewise.
30946 * loader/powerpc/ieee1275/linux.c: Likewise.
30947 * loader/sparc64/ieee1275/linux.c: Likewise.
30948 * util/grub-probe.c: Likewise.
30949 * util/misc.c: Likewise.
30951 2009-12-24 Carles Pina i Estany <carles@pina.cat>
30953 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
30955 * commands/acpi.c: Likewise.
30956 * commands/blocklist.c: Likewise.
30957 * commands/efi/loadbios.c: Likewise.
30958 * commands/i386/pc/drivemap.c: Likewise.
30959 * commands/loadenv.c: Likewise.
30960 * commands/memrw.c: Likewise.
30961 * commands/password.c: Likewise.
30962 * commands/videotest.c: Likewise.
30963 * disk/ata.c: Likewise.
30964 * disk/ata_pthru.c: Likewise.
30965 * disk/dmraid_nvidia.c: Likewise.
30966 * disk/ieee1275/nand.c: Likewise.
30967 * disk/ieee1275/ofdisk.c: Likewise.
30968 * disk/loopback.c: Likewise.
30969 * disk/lvm.c: Likewise.
30970 * disk/mdraid_linux.c: Likewise.
30971 * disk/raid.c: Likewise.
30972 * disk/raid6_recover.c: Likewise.
30973 * disk/scsi.c: Likewise.
30974 * efiemu/main.c: Likewise.
30975 * efiemu/mm.c: Likewise.
30976 * efiemu/pnvram.c: Likewise.
30977 * efiemu/symbols.c: Likewise.
30978 * font/font.c: Likewise.
30979 * fs/cpio.c: Likewise.
30980 * fs/hfsplus.c: Likewise.
30981 * fs/iso9660.c: Likewise.
30982 * fs/jfs.c: Likewise.
30983 * fs/minix.c: Likewise.
30984 * fs/ntfs.c: Likewise.
30985 * fs/ntfscomp.c: Likewise.
30986 * fs/reiserfs.c: Likewise.
30987 * fs/ufs.c: Likewise.
30988 * fs/xfs.c: Likewise.
30989 * gettext/gettext.c: Likewise.
30990 * include/grub/auth.h: Likewise.
30991 * kern/elf.c: Likewise.
30992 * kern/file.c: Likewise.
30993 * kern/ieee1275/init.c: Likewise.
30994 * kern/ieee1275/mmap.c: Likewise.
30995 * kern/ieee1275/openfw.c: Likewise.
30996 * kern/powerpc/dl.c: Likewise.
30997 * kern/sparc64/dl.c: Likewise.
30998 * lib/arg.c: Likewise.
30999 * loader/i386/bsd.c: Likewise.
31000 * loader/i386/bsdXX.c: Likewise.
31001 * loader/i386/efi/linux.c: Likewise.
31002 * loader/i386/efi/xnu.c: Likewise.
31003 * loader/i386/ieee1275/linux.c: Likewise.
31004 * loader/i386/linux.c: Likewise.
31005 * loader/i386/multiboot.c: Likewise.
31006 * loader/i386/pc/linux.c: Likewise.
31007 * loader/i386/pc/multiboot2.c: Likewise.
31008 * loader/i386/xnu.c: Likewise.
31009 * loader/ieee1275/multiboot2.c: Likewise.
31010 * loader/macho.c: Likewise.
31011 * loader/machoXX.c: Likewise.
31012 * loader/multiboot2.c: Likewise.
31013 * loader/multiboot_loader.c: Likewise.
31014 * loader/powerpc/ieee1275/linux.c: Likewise.
31015 * loader/sparc64/ieee1275/linux.c: Likewise.
31016 * loader/xnu.c: Likewise.
31017 * loader/xnu_resume.c: Likewise.
31018 * mmap/i386/pc/mmap.c: Likewise.
31019 * normal/menu_viewer.c: Likewise.
31020 * partmap/acorn.c: Likewise.
31021 * partmap/amiga.c: Likewise.
31022 * partmap/apple.c: Likewise.
31023 * script/lexer.c: Likewise.
31024 * term/gfxterm.c: Likewise.
31025 * term/i386/pc/serial.c: Likewise.
31026 * term/i386/pc/vga.c: Likewise.
31027 * term/ieee1275/ofconsole.c: Likewise.
31028 * term/terminfo.c: Likewise.
31029 * video/bitmap.c: Likewise.
31030 * video/efi_gop.c: Likewise.
31031 * video/efi_uga.c: Likewise.
31032 * video/fb/video_fb.c: Likewise.
31033 * video/i386/pc/vbe.c: Likewise.
31034 * video/readers/tga.c: Likewise.
31035 * video/video.c: Likewise.
31037 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
31039 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
31040 * commands/lspci.c: Likewise.
31041 * commands/probe.c: Likewise.
31042 * commands/xnu_uuid.c: Likewise.
31043 * conf/i386-coreboot.rmk: Likewise.
31044 * conf/i386-efi.rmk: Likewise.
31045 * conf/i386-ieee1275.rmk: Likewise.
31046 * conf/i386-pc.rmk: Likewise.
31047 * conf/powerpc-ieee1275.rmk: Likewise.
31048 * conf/sparc64-ieee1275.rmk: Likewise.
31049 * conf/x86_64-efi.rmk: Likewise.
31050 * fs/i386/pc/pxe.c: Likewise.
31051 * gettext/gettext.c: Likewise.
31052 * include/grub/efi/graphics_output.h: Likewise.
31053 * include/grub/i386/pc/memory.h: Likewise.
31054 * kern/env.c: Likewise.
31055 * kern/i386/qemu/startup.S: Likewise.
31056 * lib/i386/pc/biosnum.c: Likewise.
31057 * lib/i386/relocator.c: Likewise.
31058 * lib/i386/relocator_asm.S: Likewise.
31059 * lib/relocator.c: Likewise.
31060 * loader/i386/bsd.c: Likewise.
31061 * loader/i386/multiboot.c: Likewise.
31062 * loader/i386/pc/chainloader.c: Likewise.
31063 * loader/i386/xnu.c: Likewise.
31064 * loader/xnu.c: Likewise.
31065 * normal/main.c: Likewise.
31066 * normal/menu_text.c: Likewise.
31067 * util/getroot.c: Likewise.
31068 * util/grub-mkconfig_lib.in: Likewise.
31069 * util/grub.d/00_header.in: Likewise.
31070 * util/i386/pc/grub-mkimage.c: Likewise.
31071 * util/mkisofs/eltorito.c: Likewise.
31072 * util/mkisofs/exclude.h: Likewise.
31073 * util/mkisofs/hash.c: Likewise.
31074 * util/mkisofs/iso9660.h: Likewise.
31075 * util/mkisofs/joliet.c: Likewise.
31076 * util/mkisofs/mkisofs.c: Likewise.
31077 * util/mkisofs/mkisofs.h: Likewise.
31078 * util/mkisofs/multi.c: Likewise.
31079 * util/mkisofs/name.c: Likewise.
31080 * util/mkisofs/rock.c: Likewise.
31081 * util/mkisofs/tree.c: Likewise.
31082 * util/mkisofs/write.c: Likewise.
31083 * video/efi_gop.c: Likewise.
31085 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
31087 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
31090 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31092 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
31093 * genmk.rb (class SCRIPT): Modify the target file instead of source.
31095 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31097 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
31098 (GRUB_MOD_INIT(memrw)): Update help line.
31100 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31102 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
31103 Use grub_extcmd_t. All users updated.
31104 (options): New variable.
31105 (grub_cmd_read): Restructure for readability. Support "-v" option.
31106 (grub_cmd_write): Restructure for readability.
31108 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31110 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
31112 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31114 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
31115 with the actual contents of the correspondending make variable.
31116 * util/grub-mkrescue.in (pkglib_DATA): New variable.
31117 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
31118 specifying `*.lst' and `efiemu??.o'
31120 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31122 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
31123 after function name.
31124 Noticed by Rene Engelhard <rene@debian.org>.
31126 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31128 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
31129 (options): New variable.
31130 (iospace): Likewise.
31131 (grub_lspci_iter): List IO spaces if "-i" was given.
31132 (grub_cmd_lspci): Parse options.
31133 (GRUB_MOD_INIT(lspci)): Use extcmd.
31134 (GRUB_MOD_FINI(lspci)): Likewise.
31136 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
31138 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
31139 `function' keyword.
31140 Patch by Tony Mancill <tmancill@debian.org>.
31142 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
31144 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
31145 (grub_uhci_portstatus): Likewise.
31146 (grub_uhci_portstatus): Add necessary delay.
31147 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
31149 2009-12-21 Carles Pina i Estany <carles@pina.cat>
31151 * commands/acpi.c (options): Fix capitalizations and/or full stops.
31152 (GRUB_MOD_INIT): Likewise.
31153 * commands/boot.c (GRUB_MOD_INIT): Likewise.
31154 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
31155 * commands/echo.c (options): Fix capitalizations and/or full stops.
31156 * commands/efi/loadbios.c (enable_rom_area): Likewise.
31157 (enable_rom_area): Likewise.
31158 (GRUB_MOD_INIT): Likewise.
31159 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
31160 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
31161 * commands/handler.c (GRUB_MOD_INIT): Likewise.
31162 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
31163 * commands/hexdump.c (options): Likewise.
31164 * commands/i386/cpuid.c (options): Likewise.
31165 (GRUB_MOD_INIT): Likewise.
31166 * commands/i386/pc/drivemap.c (options): Likewise.
31167 (GRUB_MOD_INIT): Likewise.
31168 * commands/i386/pc/halt (options): Likewise.
31169 (GRUB_MOD_INIT): Likewise.
31170 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
31171 * commands/i386/pc/pxecmd.c (options): Likewise.
31172 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
31173 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
31174 * commands/keystatus.c (options): Likewise.
31175 (GRUB_MOD_INIT): Likewise.
31176 * commands/loadenv.c (options): Likewise.
31177 * commands/ls.c (options): Likewise.
31178 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
31179 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
31180 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
31181 * commands/parttool.c (helpmsg): Likewise.
31182 * commands/probe.c (options): Likewise.
31183 * commands/read.c (GRUB_MOD_INIT): Likewise.
31184 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
31185 * commands/search.c (options): Likewise.
31186 * commands/sleep.c (options): Likewise.
31187 * commands/test.c (GRUB_MOD_INIT): Likewise.
31188 * commands/true.c (GRUB_MOD_INIT): Likewise.
31189 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
31190 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
31191 * lib/arg.c (help_options): Likewise.
31192 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
31194 * po/POTFILES: Add `commands/loadenv.c'.
31196 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
31198 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
31199 instead of specifying them explicit.
31201 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31203 * NEWS: Add grub-probe support for GNU/Hurd.
31205 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31207 * NEWS: gettext was added after 1.97.
31209 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31211 * util/mkisofs/msdos_partition.h: New file (based on
31212 include/grub/msdos_partition.h).
31213 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
31214 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
31215 (ld_options, main): Recognize --protective-msdos-label.
31216 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
31217 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
31218 (padblock_write): If `use_protective_msdos_label' is set, patch a
31219 protective DOS-style label in the output image.
31221 * util/grub-mkrescue.in: Use --protective-msdos-label.
31223 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31225 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
31228 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31230 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
31232 (ld_options, main): Recognize `--embedded-boot'.
31233 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
31235 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
31236 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
31237 (padblock_write): Likewise. Rewrite to support embedded boot image.
31239 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
31240 for BIOS-based disk boot instead of only ElTorito.
31242 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31244 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
31245 build (not needed for bootstrap).
31247 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31249 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
31250 from i386-pc build (not needed for bootstrap).
31251 Rewrite a pair of strings.
31253 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
31255 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
31257 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
31259 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
31261 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31263 * kern/env.c (grub_env_context_open): Mark exported variable for
31266 2009-12-21 Andreas Born <futur.andy@googlemail.com>
31268 * kern/env.c (grub_env_export): Create nonexistent variables before
31271 2009-12-20 Carles Pina i Estany <carles@pina.cat>
31273 * include/grub/auth.h: Include `<grub/i18n.h>'.
31274 (GRUB_GET_PASSWORD): Gettextizze string.
31275 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
31277 (grub_utf8_to_ucs4_alloc): Fix indentation.
31278 (grub_print_ucs4): Likewise.
31279 (grub_getstringwidth): Likewise.
31280 (print_message_indented): New declaration.
31281 * normal/auth.c: Include `<grub/i18n.h>'.
31282 (grub_auth_check_authentication): Gettexttize string.
31283 * normal/cmdline.c: Include `<grub/i18n.h>'.
31284 (grub_cmdline_get): Gettextizze.
31285 * normal/color.c: Include `<grub/i18n.h>'.
31286 (grub_parse_color_name_pair): Gettexttize strings.
31287 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
31288 string (use `print_message_indented').
31289 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
31290 `include/grub/normal.h'.
31291 (print_message_indented): Renamed to ...
31292 (grub_print_message_indented): ... this. Remove `static' qualifer (now
31293 used in normal/main.c).
31294 (print_message): Use `grub_print_message_indented' instead of
31295 `print_message_indented'.
31296 (print_timeout): Likewise.
31297 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
31298 (grub_normal_print_device_info): Gettexttize strings.
31299 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
31301 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31303 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
31304 of arguments. Return number of tokens and not arguments. All users
31307 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
31309 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
31310 non-MSDOS paritions.
31312 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
31314 * include/grub/types.h (UNUSED): Removed since it conflicts with
31315 NetBSD headers. All users changed to direct __attribute__ ((unused)).
31316 Reported by Grégoire Sutre.
31318 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31320 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
31321 (grub_print_ucs4_alloc): Likewise.
31322 (grub_getstringwidth): Likewise.
31323 * normal/main.c (grub_normal_init_page): Gettextize version string.
31324 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
31325 (getstringwidth): Renamed to ...
31326 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
31327 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
31328 (grub_print_ucs4): Remove `static' qualifer (now used in
31330 * po/POTFILES: Add normal/main.c.
31332 2009-12-19 Carles Pina i Estany <carles@pina.cat>
31334 * normal/menu_text.c (STANDARD_MARGIN): New macro.
31335 (print_message_indented): Add `margin_left' and `margin_right'
31337 (print_message): Update `print_message_indented' calls. Adds '\n' to the
31339 (print_timeout): Use `print_message_indented' to print the message.
31340 Deletes `second_stage' parameter.
31341 (run_menu): Update `print_timeout' calls.
31343 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31345 Fix console palette on OpenFirmware.
31347 * term/ieee1275/ofconsole.c (MAX): Removed.
31348 (colors): Redone based on VGA palette.
31349 (grub_ofconsole_setcolor): Discard brightness bit since only 8
31350 colors are supported.
31351 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
31353 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31355 Fix potential EfiEmu double prepare.
31357 * efiemu/main.c (prepared): New variable
31358 (grub_efiemu_unload): Set prepare to '0'.
31359 (grub_efiemu_prepare): Return if already prepared. Set prepared.
31361 set_virtual_address_map support.
31363 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
31365 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
31367 (grub_efiemu_crc32): Likewise.
31368 (grub_efiemu_crc64): Likewise.
31369 (grub_efiemu_set_virtual_address_map): Likewise.
31370 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
31372 (grub_autoefi_set_virtual_address_map): Likewise.
31373 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
31374 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
31375 Restructure flow to accomodate it.
31376 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
31377 (grub_efiemu_crc): Recompute CRC32.
31378 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
31379 (efiemu_ptv_relocated): ... this. Made global. All users updated.
31380 * efiemu/symbols.c (relocated_handle): New variable.
31381 (grub_efiemu_free_syms): Free relocated_handle.
31382 (grub_efiemu_alloc_syms): Allocate relocated_handle.
31383 (grub_efiemu_write_sym_markers): New function.
31384 (grub_efiemu_set_virtual_address_map): Likewise.
31386 Newer XNU parameters.
31388 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
31389 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
31390 (grub_xnu_fill_devicetree): New prototype.
31391 (grub_xnu_heap_real_start): New variable.
31392 * loader/xnu.c (get_name_ptr): New function.
31393 (grub_xnu_load_driver): Fill namelen and name.
31395 64-bit xnu support.
31397 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
31398 and 'loader/macho64.c'.
31399 * conf/i386-pc.rmk: Likewise.
31400 * conf/x86_64-efi.rmk: Likewise.
31401 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
31402 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
31403 * include/grub/macho.h (grub_macho_segment64): New structure.
31404 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
31405 (grub_macho_size32): ... to this.
31406 (grub_macho32_get_entry_point): Renamed from ...
31407 (grub_macho_get_entry_point32): ... to this.
31408 (grub_macho_contains_macho64): New prototype.
31409 (grub_macho_size64): Likewise.
31410 (grub_macho_get_entry_point64): Likewise.
31411 (grub_macho32_load): Renamed from ...
31412 (grub_macho_load32): ... to this.
31413 (grub_macho32_filesize): Renamed from ...
31414 (grub_macho_filesize32): ... to this.
31415 (grub_macho32_readfile): Renamed from ...
31416 (grub_macho_readfile32): ... to this.
31417 (grub_macho_filesize64): New prototype.
31418 (grub_macho_readfile64): Likewise.
31419 (grub_macho_parse32): Likewise.
31420 (grub_macho_parse64): Likewise.
31421 * loader/macho.c: Split into ...
31422 * loader/machoXX.c: ... and this. Replace 32 with XX.
31423 * loader/macho32.c: New file.
31424 * loader/macho64.c: Likewise.
31425 * loader/xnu.c (grub_xnu_is_64bit): New variable.
31426 (grub_cmd_xnu_kernel): Make 32-bit only.
31427 (grub_cmd_xnu_kernel64): New function.
31428 (grub_xnu_load_driver): Support Mach-O 64.
31429 (grub_cmd_xnu_mkext): Likewise.
31430 * util/grub.d/30_os-prober.in (osx_entry): New function.
31431 Generate entries for 64-bit boot too.
31433 Eliminate ad-hoc tree format in XNU and EfiEmu.
31435 * efiemu/main.c (grub_efiemu_prepare): Update comment.
31436 * efiemu/pnvram.c: Rewritten to use environment variables.
31439 Inline utf16_to_utf8.
31441 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
31442 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
31444 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
31446 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
31447 * commands/usbtest.c (grub_usb_get_string): ... move here.
31448 (usb_print_str): Fix error handling.
31449 * include/grub/usb.h (grub_usb_get_string): Remove.
31451 UTF-8 to UTF-16 transformation.
31453 * conf/common.rmk (pkglib_MODULES): Add charset.mod
31454 (charset_mod_SOURCES): New variable.
31455 (charset_mod_CFLAGS): Likewise.
31456 (charset_mod_LDFLAGS): Likewise.
31457 * include/grub/utf.h: New file.
31458 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
31460 Support for device properties.
31462 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
31463 (grub_xnu_devprop_device_header): Likewise.
31464 (grub_xnu_devprop_device_descriptor): Likewise.
31465 (grub_xnu_devprop_add_device): New prototype.
31466 (grub_xnu_devprop_remove_device): Likewise.
31467 (grub_xnu_devprop_remove_property): Likewise.
31468 (grub_xnu_devprop_add_property_utf8): Likewise.
31469 (grub_xnu_devprop_add_property_utf16): Likewise.
31470 (grub_cpu_xnu_init): Likewise.
31471 (grub_cpu_xnu_fini): Likewise.
31472 (grub_cpu_xnu_unload): Likewise.
31473 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
31474 (property_descriptor): Likewise.
31475 (devices): New variable.
31476 (grub_xnu_devprop_remove_property): New function.
31477 (grub_xnu_devprop_add_device): Likewise.
31478 (grub_xnu_devprop_remove_device): Likewise.
31479 (grub_xnu_devprop_add_property): Likewise.
31480 (grub_xnu_devprop_add_property_utf8): Likewise.
31481 (grub_xnu_devprop_add_property_utf16): Likewise.
31482 (hextoval): Likewise.
31483 (grub_cpu_xnu_fill_devprop): Likewise.
31484 (grub_cmd_devprop_load): Likewise.
31485 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
31486 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
31487 (cmd_devprop_load): New variable.
31488 (grub_cpu_xnu_init): New function.
31489 (grub_cpu_xnu_fini): Likewise.
31490 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
31491 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
31492 (grub_cmd_xnu_devtree): Likewise.
31493 (hextoval): New function.
31494 (unescape): Likewise.
31495 (grub_xnu_fill_devicetree): Likewise.
31497 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
31498 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
31500 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
31502 Workaround for broken ATI VBE.
31504 * video/i386/pc/vbe.c (last_set_mode): New variable.
31505 (grub_vbe_set_video_mode): Set 'last_set_mode'.
31506 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
31507 (grub_video_vbe_setup): Don't check for reserved flag.
31509 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
31511 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
31512 the `find' command.
31514 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
31516 UUID support for HFS.
31518 * fs/hfs.c (grub_hfs_uuid): New function.
31519 (grub_hfs_fs): New value .uuid.
31520 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
31522 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
31524 Fix a segfault with parsing unknown long options.
31526 * util/grub-mkrelpath.c (options): Zero terminate it.
31528 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31530 * include/grub/misc.h (grub_puts): New declaration.
31531 (grub_puts_): Likewise.
31532 * kern/misc.c (grub_puts): New definition.
31533 (grub_puts_): Likewise.
31535 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31537 * util/grub-probe.c (probe): Improve error message.
31539 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
31541 * loader/i386/multiboot_elfxx.c
31542 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
31545 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31547 Relocator framework
31549 * loader/i386/xnu_helper.S: Removed. All users updated.
31550 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
31551 (relocator_mod_SOURCES): New variable.
31552 (relocator_mod_CFLAGS): Likewise.
31553 (relocator_mod_LDFLAGS): Likewise.
31554 (relocator_mod_ASFLAGS): Likewise.
31555 * conf/x86_64.rmk: Likewise.
31556 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
31557 (grub_multiboot_payload_entry_offset): Likewise.
31558 (grub_multiboot_forward_relocator): Likewise.
31559 (grub_multiboot_forward_relocator_end): Likewise.
31560 (grub_multiboot_backward_relocator): Likewise.
31561 (grub_multiboot_backward_relocator_end): Likewise.
31562 (grub_multiboot_payload_eip): New variable.
31563 (grub_multiboot_payload_orig): Likewise.
31564 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
31565 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
31566 * include/grub/i386/memory.h
31567 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
31568 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
31569 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
31570 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
31571 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
31572 * include/grub/i386/relocator.h: New file.
31573 * include/grub/x86_64/relocator.h: Likewise.
31574 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
31575 (XNU_RELOCATOR): New macro.
31576 (grub_xnu_launcher_start): Remove.
31577 (grub_xnu_launcher_end): Likewise.
31578 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
31579 (grub_xnu_heap_real_start): Remove.
31580 (grub_xnu_heap_start): Change to void *. All users updated.
31581 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
31582 * lib/i386/relocator.c: New file.
31583 * lib/i386/relocator_asm.S: Likewise.
31584 * lib/i386/relocator_backward.S: Likewise.
31585 * lib/mips/relocator.c: Likewise.
31586 * lib/mips/relocator_asm.S: Likewise.
31587 * lib/relocator.c: Likewise.
31588 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
31590 (playground): Likewise.
31591 (grub_multiboot_payload_orig): New variable.
31592 (grub_multiboot_payload_dest): Likewise.
31593 (grub_multiboot_payload_size): Likewise.
31594 (grub_multiboot_payload_eip): Likewise.
31595 (grub_multiboot_payload_esp): Likewise.
31596 (grub_multiboot_boot): Use grub_relocator32_boot.
31597 (grub_multiboot_unload): Free relocators.
31598 (grub_multiboot): Setup stack. Use relocators.
31599 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
31600 (grub_multiboot_load_elfXX): Use relocators.
31601 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
31602 (grub_multiboot_payload_size): Likewise.
31603 (grub_multiboot_payload_dest): Likewise.
31604 (grub_multiboot_payload_entry_offset): Likewise.
31605 (grub_multiboot_forward_relocator): Likewise.
31606 (grub_multiboot_backward_relocator): Likewise.
31607 (grub_multiboot_real_boot): Likewise.
31608 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
31609 (grub_xnu_entry_point): Likewise.
31610 (grub_xnu_arg1): Likewise.
31611 (grub_xnu_stack): Likewise.
31612 (grub_xnu_launch): Removed.
31613 (grub_xnu_boot_resume): New function.
31614 (grub_xnu_boot): Use relocators.
31615 * loader/i386/xnu_helper.S: Removed.
31616 * loader/xnu.c (grub_xnu_heap_start): New variable.
31617 (grub_xnu_heap_size): Likewise.
31618 (grub_xnu_heap_malloc): Use relocators.
31619 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
31621 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
31623 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
31626 2009-12-13 Carles Pina i Estany <carles@pina.cat>
31628 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
31629 GRUB_ERR_NONE before calling grub_env_set.
31631 2009-12-12 Robert Millan <rmh@aybabtu.com>
31633 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
31634 * genmk.rb (video): New variable.
31635 (CLEANFILES, VIDEOFILES): Add #{video}.
31636 (#{video}): New target rule.
31637 * genvideolist.sh: New file.
31638 * Makefile.in (pkglib_DATA): Add video.lst.
31639 (video.lst): New target rule.
31640 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
31642 * util/grub.d/30_os-prober.in: Replace `vbe' with
31643 ${GRUB_VIDEO_BACKEND}.
31645 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
31647 * THANKS: Add David Miller.
31649 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
31651 libpciaccess support.
31653 * Makefile.in (LIBPCIACCESS): New variable.
31654 (enable_grub_emu_pci): Likewise.
31655 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
31656 util/pci.c and commands/lspci.c.
31657 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
31658 * configure.ac (grub-emu-pci): New option.
31659 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
31660 (grub_pci_device_unmap_range): Likewise.
31661 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
31662 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
31663 (grub_pci_address_t) [!GRUB_UTIL]: New type.
31664 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
31665 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
31666 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
31667 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
31668 * include/grub/pciutils.h: New file.
31669 * util/pci.c: Likewise.
31671 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
31673 * util/misc.c: Don't include <errno.h> twice.
31675 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
31677 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
31678 name in an error message.
31679 (grub_biosdisk_rw): Likewise.
31681 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31683 Eliminate NTFS 4Gib barrier.
31685 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
31686 (read_run_data): Likewise.
31687 (grub_ntfs_read_run_list): Likewise.
31688 (grub_ntfs_read_block): Likewise.
31689 (grub_ntfs_iterate_dir): Likewise.
31690 (read_mft): Likewise.
31691 (read_data): Likewise.
31693 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
31694 to avoid 64-bit division
31695 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
31696 (grub_ntfs_rlst): Use grub_disk_addr_t.
31698 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31700 Eliminate grub-fstest 4Gib barrier.
31702 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
31703 (read_file): Fix error reporting.
31705 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31707 Eliminate hexdump 4Gib barrier.
31709 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
31710 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
31712 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
31714 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
31717 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
31719 Remove miscellaneous files in distclean target.
31721 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
31723 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
31725 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
31726 if they're already set. This resolves the conflict between my
31727 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
31728 fixing the --grub-probe option again.
31729 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
31730 change on 2009-10-06, so that we now once again source
31731 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
31733 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
31735 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
31736 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
31737 `util/devicemap.c'.
31739 2009-12-08 Carles Pina i Estany <carles@pina.cat>
31741 * include/grub/misc.h (grub_printf_): New declaration.
31742 * kern/misc.c (grub_printf_): New definition.
31743 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
31744 instead of `grub_printf' and `_'.
31745 * normal/menu_entry.c (store_completion): Likewise.
31747 (grub_menu_entry_run): Likewise.
31748 * normal/menu_text.c (grub_wait_after_message): Likewise.
31749 (notify_booting): Likewise.
31750 (notify_fallback): Likewise.
31751 (notify_execution_failure): Likewise.
31753 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
31755 * configure.ac: Check for vasprintf.
31756 * util/misc.c (asprintf): Move allocation from here ...
31757 (vasprintf): ... to here. New function.
31758 (xasprintf): New function.
31759 * include/grub/util/misc.h (vasprintf, xasprintf): Add
31761 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
31762 * util/grub-mkfont.c (write_font): Likewise.
31763 * util/grub-probe.c (probe): Likewise.
31764 * util/hostdisk.c (make_device_name): Likewise.
31766 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
31768 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
31769 anything even prefixed with 'cdrom' as a cdrom.
31771 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
31773 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
31776 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31778 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
31779 grub_gettext_msg_list.
31780 (grub_gettext_gettranslation_from_position): Return const char *
31782 (grub_gettext_translate): Add the translated strings into a list,
31783 returns from the list if existing there.
31784 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
31785 (grub_gettext_delete_list): Delete the list.
31786 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
31787 lang environment variable is changed.
31788 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
31790 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31792 Rename kernel.mod to kernel.img.
31794 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
31795 (kernel_mod_EXPORTS): Rename to ...
31796 (kernel_img_EXPORTS): ... this.
31797 (kernel_mod_SOURCES): Rename to ...
31798 (kernel_img_SOURCES): ... this.
31799 (kernel_mod_HEADERS): Rename to ...
31800 (kernel_img_HEADERS): ... this. All users updated.
31801 (kernel_mod_CFLAGS): Rename to ...
31802 (kernel_img_CFLAGS): ... this.
31803 (kernel_mod_ASFLAGS): Rename to ...
31804 (kernel_img_ASFLAGS): ... this.
31805 (kernel_mod_LDFLAGS): Rename to ...
31806 (kernel_img_LDFLAGS): ... this.
31807 * conf/x86_64-efi.rmk: Likewise.
31808 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
31809 (read_kernel_image): ... this. All users updated.
31810 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
31812 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31814 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
31815 (print_spaces): New function.
31816 (grub_print_ucs4): New function.
31817 (getstringwidth): New function.
31818 (print_message_indented): New function.
31819 (print_message): Gettexttize strings using print_message_indented.
31820 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
31822 (get_entry_number): Gettextize and uses dynamic terminal width.
31823 (notify_booting, notify_fallback, notify_execution_failure):
31825 * normal/menu_entry.c (store_completion): Cleanup the gettextized
31828 (grub_menu_entry_run): Likewise.
31829 * PO/POTFILES: Add normal/menu_entry.c.
31831 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
31833 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
31835 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31837 * util/grub-install.in: Install gettext .mo files.
31838 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
31840 2009-12-05 Carles Pina i Estany <carles@pina.cat>
31842 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
31845 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
31847 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
31848 non-firmware-dependant one in realmode.S takes precedence.
31850 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
31852 * commands/halt.c: Replace misc arch-specific headers with
31854 * commands/reboot.c: Likewise.
31855 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
31857 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
31858 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
31859 (kernel_img_SOURCES): ... to here.
31861 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
31862 * include/grub/i386/pc/init.h: Likewise.
31863 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
31864 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31866 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
31868 * include/grub/i386/halt.h: Remove.
31869 * include/grub/i386/reboot.h: Likewise.
31871 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
31873 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
31875 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
31876 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
31877 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
31879 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
31880 * util/sparc64/ieee1275/grub-setup.c: Likewise.
31881 (usage): Add missing comma in printf.
31883 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
31885 Use the same reboot approach on i386 coreboot and qemu as we do on
31888 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
31889 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
31890 * kern/i386/reboot.c: Remove.
31891 * include/grub/i386/reboot.h (grub_reboot): Export function.
31892 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
31893 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
31894 0xf000:0xfff0 instead of 0xffff:0x0000.
31895 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
31896 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
31898 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
31900 Fix $srcdir != $objdir build.
31902 * Makefile.in (po/%.po): Rewrite as ...
31903 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
31905 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
31907 Fix GNU/Hurd grub-install crash.
31908 * util/grub-probe.c (probe): Try to access `path' only when it is not
31911 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31913 Correct module naming.
31915 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31916 (GRUB_MOD_INIT(efi_uga)): ... to this
31917 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31918 (GRUB_MOD_FINI(efi_uga)): ... to this
31919 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
31920 (GRUB_MOD_INIT(efi_gop)): ... to this
31921 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
31922 (GRUB_MOD_FINI(efi_gop)): ... to this
31924 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
31926 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
31928 (usage): Translate `arg' strings using gettext().
31929 Thanks to Jordi Mallach for the suggestion.
31931 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31933 GOP support. Based on patch from Bean
31934 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
31936 * video/efi_gop.c: New file.
31937 * include/grub/efi/graphics_output.h: Likewise.
31938 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
31939 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
31941 * conf/x86_64-efi.rmk: Likewise.
31943 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
31945 Rename efi_fb to efi_uga.
31947 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31949 (efi_fb_mod_SOURCES): Rename this ...
31950 (efi_uga_mod_SOURCES): ... to this.
31951 (efi_fb_mod_CFLAGS): Rename this ...
31952 (efi_uga_mod_CFLAGS): ... to this.
31953 (efi_fb_mod_LDFLAGS): Rename this ...
31954 (efi_uga_mod_LDFLAGS): ... to this.
31955 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
31957 (efi_fb_mod_SOURCES): Rename this ...
31958 (efi_uga_mod_SOURCES): ... to this.
31959 (efi_fb_mod_CFLAGS): Rename this ...
31960 (efi_uga_mod_CFLAGS): ... to this.
31961 (efi_fb_mod_LDFLAGS): Rename this ...
31962 (efi_uga_mod_LDFLAGS): ... to this.
31963 * video/efi_fb.c: Move this ...
31964 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
31966 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31968 * po/README: New file. Explain our PO file workflow.
31970 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31972 * po/ChangeLog: Remove. Move relevant entries back to ...
31973 * ChangeLog: ... here.
31974 * po/ca.po: Remove (now handled by TLP).
31975 * po/id.po: Likewise.
31976 * po/zh_CN.po: Likewise.
31977 * Makefile.in (LINGUAS): Initialize in a way that supports
31980 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
31982 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
31983 reliing on po/LINGUAS.
31984 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
31985 (po/%.po): ... this.
31987 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31989 * util/i386/efi/grub-mkimage.c: Include "progname.h".
31990 (main): Use `program_name' instead of nonexistent `progname'.
31992 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
31994 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
31995 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
31997 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
31999 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
32001 * conf/i386-efi.rmk: Likewise.
32002 * conf/i386-ieee1275.rmk: Likewise.
32003 * conf/powerpc-ieee1275.rmk: Likewise.
32004 * conf/sparc64-ieee1275.rmk: Likewise.
32005 * conf/x86_64-efi.rmk: Likewise.
32007 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32009 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
32011 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
32013 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
32015 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
32017 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32018 (grub_mkdevicemap_SOURCES): New variable.
32019 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
32020 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
32021 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
32022 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
32023 (grub_mkdevicemap_SOURCES): Remove.
32024 * conf/i386-efi.rmk: Likewise.
32025 * conf/i386-ieee1275.rmk: Likewise.
32026 * conf/i386-pc.rmk: Likewise.
32027 * conf/powerpc-ieee1275.rmk: Likewise.
32028 * conf/sparc64-ieee1275.rmk: Likewise.
32029 * conf/x86_64-efi.rmk: Likewise.
32030 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
32031 (usage): Fix strings to use `program_name'.
32032 (main): Initialize gettext.
32033 * util/grub-editenv.c: Likewise.
32034 * util/grub-emu.c: Likewise.
32035 * util/grub-fstest.c: Likewise.
32036 * util/grub-mkdevicemap.c: Likewise.
32037 * util/grub-mkfont.c: Likewise.
32038 * util/grub-mkrelpath.c: Likewise.
32039 * util/grub-pe2elf.c: Likewise.
32040 * util/grub-probe.c: Likewise.
32041 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
32042 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
32043 * util/sparc64/ieee1275/grub-setup.c: Likewise.
32045 * util/misc.c: Include `"progname.h"'.
32046 (progname): Remove variable.
32047 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
32049 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32051 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
32052 printf and print a newline after the menuentry header line.
32053 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
32055 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
32057 autoconf >= 2.60 support $(localedir).
32059 * INSTALL: Note that autoconf 2.60 is required.
32060 * configure.ac (AC_PREREQ): Bump to 2.60.
32061 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
32062 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
32064 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
32066 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
32069 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32071 * normal/main.c (grub_normal_read_line): Fix off-by-one
32074 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
32076 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
32077 "parser.grub" in grub_command_execute() call.
32079 2009-11-24 Carles Pina i Estany <carles@pina.cat>
32081 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
32082 * conf/i386-efi.rmk: Likewise.
32083 * conf/i386-ieee1275.rmk: Likewise.
32084 * conf/i386-pc.rmk: Likewise.
32085 * conf/powerpc-ieee1275.rmk: Likewise.
32086 * conf/sparc64-ieee1275.rmk: Likewise.
32087 * conf/x86_64-efi.rmk: Likewise.
32088 * gettext/gettex.c: Include <grub/i18n.h>.
32089 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
32091 * include/grub/i18n.h: ... to here
32092 * include/grub/i18n.h: ... to here.
32093 * kern/misc.c: Include <grub/i18n.h>
32094 (grub_gettext_dummy): Move above user.
32096 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32098 * util/Makefile.in (install-local): Convert a `for' into a normal
32101 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
32103 * autogen.sh: Add automake call.
32104 * config.guess: Remove.
32105 * config.sub: Likewise.
32106 * install-sh: Likewise.
32108 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32110 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
32112 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32114 * util/Makefile.in (install-local): Convert a make `$(foreach)'
32115 function to a normal shell `for'.
32117 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32119 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32121 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32123 * util/grub-mkrelpath.c: New file.
32124 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
32125 (grub_mkrelpath_SOURCES): New variable.
32126 * include/grub/util/misc.h: New function prototype.
32127 * util/misc.c (make_system_path_relative_to_its_root): New function.
32129 * util/grub-mkconfig_lib.in (bindir): New variable.
32130 (grub_mkrelpath): Likewise.
32131 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
32133 * util/probe.c (probe): Make the file path relative to its root.
32134 Change a info message to use the GRUB path. Enable again the
32135 check if we can read the file with GRUB facilities.
32137 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
32140 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32142 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
32145 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32147 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
32150 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
32152 * util/getroot.c (grub_util_is_dmraid): New function.
32153 (grub_util_get_dev_abstraction): Treat dmraid and multipath
32154 devices as normal ones, not as LVM.
32156 2009-11-23 Carles Pina i Estany <carles@pina.cat>
32158 * conf/common.rmk: Add grub-gettext_lib target and updates
32159 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
32161 * gettext/gettext.c: New file. (Reads mo files).
32162 * include/grub/file.h (grub_file_pread): New prototype.
32163 * include/grub/i18n.h (_): New prototype.
32164 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
32166 * kern/misc.c (grub_gettext_dummy): New function.
32167 * normal/menu_text.c: Include <grub/i18n.h>.
32168 * normal/menu_text.c (print_timeout): Gettexttize string.
32169 * normal/menu_text.c (print_message): Gettexttize string.
32170 * po/POTFILES: Add `normal/menu_text.c'.
32171 * po/ca.po: Add new translations.
32172 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
32173 gettext module and defines locale_dir and lang in grub.cfg.
32174 * NEWS: Add gettext support.
32176 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32178 * util/hostdisk.c: Include `<grub/i18n.h>'.
32179 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
32180 (make_device_name): Rewrite using asprintf.
32181 (convert_system_partition_to_system_disk): Replace 0 with NULL.
32182 (find_system_device): If a device is not found, generate one just
32183 by reusing the OS path name.
32184 (read_device_map): Make it permissible for device.map not to exist.
32186 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32188 * script/sh/execute.c: Move from here ...
32189 * script/execute.c: ... to here. Update all users.
32190 * script/sh/function.c: Move from here ...
32191 * script/function.c: ... to here. Update all users.
32192 * script/sh/lexer.c: Move from here ...
32193 * script/lexer.c: ... to here. Update all users.
32194 * script/sh/main.c: Move from here ...
32195 * script/main.c: ... to here. Update all users.
32196 * script/sh/parser.y: Move from here ...
32197 * script/parser.y: ... to here. Update all users.
32198 * script/sh/script.c: Move from here ...
32199 * script/script.c: ... to here. Update all users.
32201 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32203 * configure.ac: Detect all `emu' platforms. Define
32204 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
32205 --enable-grub-emu logic. Disable include/grub/machine
32206 symlink on `emu' platforms.
32208 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
32209 * gensymlist.sh.in: Likewise.
32211 * include/grub/i386/coreboot/machine.h: Remove file.
32212 * include/grub/i386/efi/machine.h: Likewise.
32213 * include/grub/i386/ieee1275/machine.h: Likewise.
32214 * include/grub/i386/pc/machine.h: Likewise.
32215 * include/grub/i386/qemu/machine.h: Likewise.
32216 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32217 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32218 * include/grub/x86_64/efi/machine.h: Likewise.
32220 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
32221 * commands/halt.c: Likewise.
32222 * commands/reboot.c: Likewise.
32223 * include/grub/autoefi.h: Likewise.
32224 * include/grub/i386/at_keyboard.h: Likewise.
32225 * include/grub/i386/kernel.h: Likewise.
32226 * include/grub/i386/loader.h: Likewise.
32227 * include/grub/i386/pc/memory.h: Likewise.
32228 * kern/dl.c: Likewise.
32229 * kern/i386/coreboot/init.c: Likewise.
32230 * loader/i386/bsd.c: Likewise.
32231 * loader/i386/linux.c: Likewise.
32232 * loader/multiboot_loader.c: Likewise.
32233 * term/i386/pc/serial.c: Likewise.
32234 * term/usb_keyboard.c: Likewise.
32236 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
32237 `<grub/machine/machine.h>'
32238 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
32239 * util/misc.c: Remove `<grub/machine/machine.h>' and
32240 `<grub/machine/time.h>'.
32242 * Makefile.in (enable_grub_emu): Remove variable.
32243 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
32245 * conf/any-emu.rmk: New file.
32246 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
32247 (grub_emu_init.c): Move from here ...
32248 * conf/any-emu.rmk: ... to here.
32250 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
32251 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
32252 * conf/any-emu.rmk: ... to here.
32254 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32256 * include/grub/parser.h (grub_parser_register): Document need
32257 of `name' parameter.
32258 * normal/main.c (grub_normal_read_line): Simplify prompt string.
32259 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
32262 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32264 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
32266 * include/grub/i18n.h (N_): New macro.
32267 * util/mkisofs/mkisofs.h: Likewise.
32268 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
32270 (usage): Use gettext() to translate help strings when printing them.
32272 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
32274 Based on patch from Bean
32275 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
32277 * video/efi_fb.c: New file.
32278 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
32279 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
32281 * conf/x86_64-efi.rmk: Likewise.
32283 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
32285 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
32286 * util/i386/pc/grub-setup.c: Likewise.
32288 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
32290 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
32292 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
32293 file_get_storage_info to implement grub_guess_root_device.
32295 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32297 * Makefile.in (target): Use make's builtin $(shell) function
32298 instead of calling directly $(SHELL) to create the locale directories,
32299 inside the $(foreach) function.
32301 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32303 * util/grub-mkrescue.in: Print an error and usage if output option
32304 has not been given.
32306 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
32308 Patch from Loïc Minier <loic.minier@ubuntu.com>.
32309 * util/grub.d/30_os-prober.in: Cope with Linux entries where
32310 root and /boot are on different devices.
32312 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32314 Fix build for srcdir != objdir.
32316 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
32317 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
32319 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
32320 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
32321 reference for input.
32323 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32325 * util/grub-mkrescue.in: Use source directory direcly (without copiing
32326 or hardlinking it). Remove -J option, Joliet is not compatible with
32327 multiple source directories.
32329 2009-11-21 Carles Pina i Estany <carles@pina.cat>
32330 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
32332 * util/grub-mkrescue.in: Recognize `--override-directory' option.
32333 (process_input_dir): New function. Process an arbitrary input
32335 Misc adjustments to support both "override mode" and system-wide mode.
32337 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32339 * configure.ac (UNIFONT_BDF): Rename to ...
32340 (FONT_SOURCE): ... this. Update all users.
32342 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
32344 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
32345 to the list of unifont files to look for.
32347 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32349 Patch from Joe Auricchio <jauricchio@gmail.com>
32350 * commands/minicmd.c (grub_mini_cmd_clear): New function.
32351 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
32352 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
32354 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32356 * Makefile.in (install-local): Add a missing backslash.
32358 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
32360 * include/grub/x86_64/io.h: New file.
32362 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32364 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
32365 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
32366 Include `"progname.h"'.
32367 (main): Initialize gettext.
32368 * util/i386/pc/grub-setup.c: Gettexttize.
32369 * util/i386/pc/grub-mkimage.c: Likewise.
32371 * Makefile.in (po/*.po): Redefine as ...
32372 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
32374 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
32376 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
32378 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
32379 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
32380 (program_name): Remove.
32381 (main): Initialize gettext support.
32382 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
32383 Include `<libintl.h>'.
32386 * util/mkisofs/eltorito.c: Gettexttize.
32387 * util/mkisofs/joliet.c: Likewise.
32388 * util/mkisofs/mkisofs.c: Likewise.
32389 * util/mkisofs/multi.c: Likewise.
32390 * util/mkisofs/rock.c: Likewise.
32391 * util/mkisofs/tree.c: Likewise.
32392 * util/mkisofs/write.c: Likewise.
32394 * po/POTFILES: Update with new files.
32396 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32398 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
32399 * util/mkisofs/iso9660.h: Likewise.
32400 * util/mkisofs/joliet.c: Likewise.
32401 * util/mkisofs/mkisofs.c: Likewise.
32402 * util/mkisofs/mkisofs.h: Likewise.
32403 * util/mkisofs/rock.c: Likewise.
32404 * util/mkisofs/tree.c: Likewise.
32405 * util/mkisofs/write.c: Likewise.
32407 * util/mkisofs/eltorito.c (rcsid): Remove.
32408 * util/mkisofs/hash.c: Likewise.
32409 * util/mkisofs/joliet.c: Likewise.
32410 * util/mkisofs/name.c: Likewise.
32411 * util/mkisofs/rock.c: Likewise.
32412 * util/mkisofs/tree.c: Likewise.
32413 * util/mkisofs/write.c: Likewise.
32415 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32417 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
32418 instead of static allocation.
32419 * util/mkisofs/match.h: Likewise.
32421 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32423 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
32424 and `util/grub.d/10_linux.in'.
32425 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
32426 translatable Shell files.
32428 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
32430 * Makefile.in ($(srcdir)/aclocal.m4): New target.
32432 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32434 * INSTALL: Document Automake is needed for bootstrap.
32435 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
32436 * util/grub.d/10_kfreebsd.in (bindir): New variable.
32437 Add gettext initialization.
32438 (kfreebsd_entry): Make menuentry output translatable.
32440 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32442 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
32443 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
32444 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
32445 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
32446 (LINGUAS): Auto-generate using `po/LINGUAS'.
32447 * po/LINGUAS: New file.
32449 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32451 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
32453 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
32454 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
32455 bindtextdomain() calls for gettext initialization.
32457 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32459 * gnulib/progname.c: New file (imported from Gnulib).
32460 * gnulib/progname.h: Likewise.
32461 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
32462 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
32463 (usage): Replace `progname' with `program_name'.
32464 (main): Use set_program_name() for program name initialization.
32466 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32468 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
32470 * Makefile.in (CPPFLAGS): ... to here.
32472 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32474 * aclocal.m4: Move from here ...
32475 * acinclude.m4: ... to here.
32476 * autogen.sh: Add call to `aclocal'.
32477 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
32479 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32481 * Makefile.in (CLEANFILES): Add `po/*.mo'.
32482 (LINGUAS): New variable.
32483 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
32484 (install-local): Install MO files.
32485 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
32486 * include/grub/i18n.h: New file.
32487 * po/POTFILES: New file.
32488 * po/ca.po: New file.
32489 * util/grub.d/10_linux.in (bindir): New variable.
32490 Add gettext initialization.
32491 (linux_entry): Make menuentry output translatable.
32492 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
32493 (usage): Make --help output translatable.
32494 (main): Initialize gettext.
32496 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32498 * import_gcry.py: New file (written by Vladimir with minor
32500 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
32502 * INSTALL: Document that Python is required for bootstrap.
32504 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
32506 Import ciphers from libgcrypt 1.4.4.
32508 * lib/libgcrypt/cipher/ChangeLog
32509 * lib/libgcrypt/cipher/ac.c
32510 * lib/libgcrypt/cipher/arcfour.c
32511 * lib/libgcrypt/cipher/bithelp.h
32512 * lib/libgcrypt/cipher/blowfish.c
32513 * lib/libgcrypt/cipher/camellia-glue.c
32514 * lib/libgcrypt/cipher/camellia.c
32515 * lib/libgcrypt/cipher/camellia.h
32516 * lib/libgcrypt/cipher/cast5.c
32517 * lib/libgcrypt/cipher/cipher.c
32518 * lib/libgcrypt/cipher/crc.c
32519 * lib/libgcrypt/cipher/des.c
32520 * lib/libgcrypt/cipher/dsa.c
32521 * lib/libgcrypt/cipher/ecc.c
32522 * lib/libgcrypt/cipher/elgamal.c
32523 * lib/libgcrypt/cipher/hash-common.c
32524 * lib/libgcrypt/cipher/hash-common.h
32525 * lib/libgcrypt/cipher/hmac-tests.c
32526 * lib/libgcrypt/cipher/md.c
32527 * lib/libgcrypt/cipher/md4.c
32528 * lib/libgcrypt/cipher/md5.c
32529 * lib/libgcrypt/cipher/primegen.c
32530 * lib/libgcrypt/cipher/pubkey.c
32531 * lib/libgcrypt/cipher/rfc2268.c
32532 * lib/libgcrypt/cipher/rijndael-tables.h
32533 * lib/libgcrypt/cipher/rijndael.c
32534 * lib/libgcrypt/cipher/rmd.h
32535 * lib/libgcrypt/cipher/rmd160.c
32536 * lib/libgcrypt/cipher/rsa.c
32537 * lib/libgcrypt/cipher/seed.c
32538 * lib/libgcrypt/cipher/serpent.c
32539 * lib/libgcrypt/cipher/sha1.c
32540 * lib/libgcrypt/cipher/sha256.c
32541 * lib/libgcrypt/cipher/sha512.c
32542 * lib/libgcrypt/cipher/tiger.c
32543 * lib/libgcrypt/cipher/twofish.c
32544 * lib/libgcrypt/cipher/whirlpool.c
32546 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32548 Fix build for systems without error().
32550 * gnulib/error.c: New file (imported from Gnulib).
32551 * gnulib/error.h: Likewise.
32552 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
32553 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
32554 (this variable is now used by error()).
32556 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32558 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
32559 instead of relying that char is signed.
32561 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
32563 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
32564 blocksize different from specified.
32565 (grub_pxefs_read): Likewise.
32567 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
32569 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
32571 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
32572 (grub_ata_readwrite): Likewise. Update 2 format strings.
32573 (grub_atapi_read): Likewise.
32575 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
32576 * conf/i386.rmk (pkglib_MODULES): ... to here ...
32577 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
32578 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
32579 (ata_mod_LDFLAGS): Move from here ...
32580 * conf/i386.rmk: ... to here ...
32581 * conf/x86_64-efi.rmk: ... and here.
32582 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
32583 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
32585 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
32587 Relicense multiboot.h, with RMS' blessing.
32589 * include/multiboot.h: Change to X11 license.
32591 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
32593 Support --version in grub-mkisofs.
32595 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
32596 (OPTION_VERSION): New macro.
32597 (ld_options): Recognize --version.
32598 (usage): Move `program_name' from here ...
32599 (program_name): ... to here. Add `static' qualifier.
32600 (main): Recognize `OPTION_VERSION'.
32602 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
32604 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
32605 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
32607 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32609 Fix help2man generation for mkisofs.
32611 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
32612 (usage): Send output to stdout (rather than stderr).
32614 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
32616 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
32617 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32618 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
32619 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
32620 (bin_SCRIPTS): Add `grub-mkfloppy'.
32621 (grub_mkfloppy_SOURCES): New variable.
32623 * util/grub-mkrescue.in: New file.
32624 * util/i386/pc/grub-mkfloppy.in: New file.
32626 * util/i386/coreboot/grub-mkrescue.in: Remove.
32627 * util/i386/pc/grub-mkrescue.in: Remove.
32629 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32631 * include/grub/multiboot.h (struct grub_multiboot_header): Move
32633 * include/multiboot.h (struct multiboot_header): ... to here. Update
32635 * include/grub/multiboot.h (struct grub_multiboot_info): Move
32637 * include/multiboot.h (struct multiboot_info): ... to here. Update
32639 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
32641 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
32643 * include/grub/multiboot.h (struct grub_mod_list): Move
32645 * include/multiboot.h (struct multiboot_mod_list): ... to here.
32648 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32650 * include/multiboot2.h (multiboot_word): Rename from this ...
32651 (multiboot2_word): ... to this. Update all users.
32652 (multiboot_header): Rename from this ...
32653 (multiboot2_header): ... to this. Update all users.
32654 (multiboot_tag_header): Rename from this ...
32655 (multiboot2_tag_header): ... to this. Update all users.
32656 (multiboot_tag_start): Rename from this ...
32657 (multiboot2_tag_start): ... to this. Update all users.
32658 (multiboot_tag_name): Rename from this ...
32659 (multiboot2_tag_name): ... to this. Update all users.
32660 (multiboot_tag_module): Rename from this ...
32661 (multiboot2_tag_module): ... to this. Update all users.
32662 (multiboot_tag_memory): Rename from this ...
32663 (multiboot2_tag_memory): ... to this. Update all users.
32664 (multiboot_tag_unused): Rename from this ...
32665 (multiboot2_tag_unused): ... to this. Update all users.
32666 (multiboot_tag_end): Rename from this ...
32667 (multiboot2_tag_end): ... to this. Update all users.
32669 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
32671 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
32672 this platform we should support Multiboot1 first.
32674 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
32675 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
32676 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
32678 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32680 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
32681 of write calls (converting them to fwrite() if they aren't already).
32682 (get_torito_desc): Likewise.
32683 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
32685 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
32687 * util/i386/pc/grub-install.in: Move from here ...
32688 * util/grub-install.in: ... to here. Update all users.
32690 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
32692 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
32694 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32696 Support for El Torito without floppy emulation.
32698 * util/mkisofs/eltorito.c: Include `<errno.h>'.
32699 (init_boot_catalog): Improve error handling.
32700 (get_torito_desc): Don't use floppy emulation unless requested by
32701 user. Patch boot information table when requested via
32702 `-boot-info-table'.
32703 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
32704 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
32705 (use_boot_info_table): New variables.
32706 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
32707 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
32708 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
32709 `--eltorito-emul-floppy'.
32710 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
32711 and `OPTION_ELTORITO_EMUL_FLOPPY'.
32712 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
32713 (use_boot_info_table, get_731): New prototypes.
32714 * util/mkisofs/write.c (get_731): New function.
32716 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
32718 Fix the generation of the man page.
32720 * util/pc/i386/grub-install.in: Source
32721 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
32723 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
32725 Large file support for grub-mkisofs.
32727 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
32728 * util/mkisofs/mkisofs.c (next_extent, last_extent)
32729 (session_start): Upgrade type to `uint64_t'. Update all users.
32730 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
32731 (struct directory_entry): Upgrade type of `starting_block' and
32732 `size' to `uint64_t'. Update all users.
32733 (struct deferred): Remove unused structure.
32734 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
32736 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
32737 file is larger than `UINT32_MAX'.
32738 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
32739 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
32741 (struct deferred_write): Upgrade type of `extent' and `size' to
32742 `uint64_t'. Update all users.
32743 (last_extent_written): Upgrade type to `uint64_t'. Update all
32745 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
32746 Update all users. Upgrade type of `remain' to `int64_t' and
32747 `use' to `size_t'. Use error() to handle fread() errors.
32748 (write_files): Rely on write_one_file() rather than calling
32749 xfwrite() directly.
32751 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
32753 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
32755 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32757 * util/mkisofs/fnmatch.c: Remove.
32758 * util/mkisofs/getopt1.c: Likewise.
32759 * util/mkisofs/getopt.c: Likewise.
32760 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
32761 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
32762 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
32763 `gnulib/getopt1.c' and `gnulib/getopt.c'.
32764 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
32766 * configure.ac: Detect `mingw32msvc' host_os.
32767 Check for lstat(), getuid() and getgid().
32769 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
32770 instances of `u_char' with `uint8_t'.
32772 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
32773 [!HAVE_GETUID] (getuid): New function (stub).
32774 [!HAVE_GETGID] (getgid): Likewise.
32775 [!HAVE_LSTAT] (lstat): Likewise.
32776 [!S_IROTH] (S_IROTH): New macro (dummy).
32777 [!S_IRGRP] (S_IRGRP): Likewise.
32779 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32781 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
32782 conditional expression).
32784 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32786 Import from Gnulib.
32788 * gnulib/fnmatch.c: New file.
32789 * gnulib/fnmatch.h: Likewise.
32790 * gnulib/fnmatch_loop.c: Likewise.
32791 * gnulib/getopt.c: Likewise.
32792 * gnulib/getopt.h: Likewise.
32793 * gnulib/getopt1.c: Likewise.
32794 * gnulib/getopt_int.h: Likewise.
32795 * gnulib/gettext.h: Likewise.
32797 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32799 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
32800 * normal/handler.c (read_handler_list): Likewise.
32802 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32806 * kern/command.c (grub_register_command_prio): Use
32807 grub_zalloc() instead of explicitly zeroing data.
32808 * kern/list.c: Include `<grub/mm.h>'.
32809 (grub_named_list_find): Replace `0' with `NULL'.
32810 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
32811 (fs_module_list): Change type to `grub_named_list_t'. Update all
32813 * normal/dyncmd.c (read_command_list): Add space between function
32814 call and parenthesis.
32815 * normal/handler.c (read_handler_list): Likewise.
32817 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32819 * normal/auth.c (punishment_delay): Moved from here ...
32820 (grub_auth_strcmp): ... to here (inside function).
32822 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32824 * include/grub/list.h (struct grub_named_list): Remove `const'
32825 qualifier from `name'.
32826 (struct grub_prio_list): Likewise.
32828 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32830 * normal/auth.c: Include `<grub/time.h>'.
32831 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
32833 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32835 * normal/auth.c (punishment_delay): New variable.
32836 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
32837 (grub_auth_check_authentication): Punish failed login attempts with
32838 an incremental (2^N) delay.
32840 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32842 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
32843 path with $(srcdir).
32845 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32847 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
32849 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
32851 * util/i386/coreboot/grub-mkrescue.in: New file.
32852 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
32855 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
32856 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
32857 * configure.ac: Add header and function checks to satisfy grub-mkisofs
32859 * util/mkisofs/defaults.h: New file.
32860 * util/mkisofs/eltorito.c: Likewise.
32861 * util/mkisofs/exclude.h: Likewise.
32862 * util/mkisofs/fnmatch.c: Likewise.
32863 * util/mkisofs/getopt.c: Likewise.
32864 * util/mkisofs/getopt1.c: Likewise.
32865 * util/mkisofs/hash.c: Likewise.
32866 * util/mkisofs/include/fctldefs.h: Likewise.
32867 * util/mkisofs/include/mconfig.h: Likewise.
32868 * util/mkisofs/include/prototyp.h: Likewise.
32869 * util/mkisofs/include/statdefs.h: Likewise.
32870 * util/mkisofs/iso9660.h: Likewise.
32871 * util/mkisofs/joliet.c: Likewise.
32872 * util/mkisofs/match.c: Likewise.
32873 * util/mkisofs/match.h: Likewise.
32874 * util/mkisofs/mkisofs.c: Likewise.
32875 * util/mkisofs/mkisofs.h: Likewise.
32876 * util/mkisofs/multi.c: Likewise.
32877 * util/mkisofs/name.c: Likewise.
32878 * util/mkisofs/rock.c: Likewise.
32879 * util/mkisofs/tree.c: Likewise.
32880 * util/mkisofs/write.c: Likewise.
32882 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
32884 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
32887 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32889 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
32890 `grub-mkimage' (and use $0 when possible).
32892 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32894 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
32895 error message for excessively large memory map.
32897 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32899 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
32902 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
32904 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
32905 message for coreboot users.
32907 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
32909 Fix build with GNU gold.
32911 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
32912 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
32913 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
32915 * aclocal.m4: Likewise.
32917 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
32919 * configure.ac (AC_PREREQ): Bump to 2.59d.
32920 * INSTALL: Make it more clear when Autoconf and Ruby are
32921 needed and when to run `./autogen.sh'.
32923 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
32925 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
32928 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32930 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
32932 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32934 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
32935 giving it to GNU Mach.
32937 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32939 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
32940 GNU partition number to get internal GRUB partition number.
32942 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
32944 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
32945 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
32947 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
32949 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
32950 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
32953 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
32955 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
32957 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32961 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
32962 `-isystem=$(srcdir)/include'.
32964 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
32966 * util/i386/pc/grub-install.in: Remove hint that device.map should be
32967 checked (grub-install doesn't currently rely on it).
32969 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
32973 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
32974 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
32975 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
32976 * conf/i386-ieee1275.rmk: Likewise.
32977 * conf/i386-pc.rmk: Likewise.
32978 * conf/powerpc-ieee1275.rmk: Likewise.
32979 * conf/sparc64-ieee1275.rmk: Likewise.
32980 * conf/x86_64-efi.rmk: Likewise.
32982 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32984 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
32986 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32988 * include/grub/misc.h: Stop checking for APPLE_CC.
32990 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
32992 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
32993 doesn't cause an infinite call loop.
32995 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
32997 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
33000 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33002 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
33004 * Makefile.in: Likewise.
33006 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33008 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
33010 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33012 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
33014 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33016 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
33018 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33020 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
33022 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
33024 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33026 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
33027 in $(MAKEINFO) invocation. This makes it clear in output that
33028 errors are being ignored.
33030 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33032 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
33034 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
33035 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
33036 * conf/i386-ieee1275.rmk: Likewise.
33037 * conf/i386-pc.rmk: Likewise.
33038 * conf/powerpc-ieee1275.rmk: Likewise.
33039 * conf/sparc64-ieee1275.rmk: Likewise.
33040 * conf/x86_64-efi.rmk: Likewise.
33042 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33044 * util/grub-editenv.c (main): If only a command is given, use
33045 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
33046 (usage): FILENAME is now optional and has a default.
33048 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
33050 Improve grub-mkconfig performance when there are several menu
33051 entries on a single filesystem.
33053 * util/grub.d/10_linux.in (linux_entry): Cache the output of
33054 prepare_grub_to_access_device.
33055 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
33056 * util/grub.d/30_os-prober.in: Likewise.
33058 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33060 * util/grub.d/10_freebsd.in: Remove.
33061 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
33062 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
33064 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
33066 * docs/grub.cfg: Fix example usage of *BSD loaders.
33068 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33070 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
33071 grub_util_error() call.
33073 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33075 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
33076 `reserved_first_sector' member.
33077 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
33078 `reserved_first_sector' to 1.
33079 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
33080 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
33081 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
33082 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
33083 filesystems which begin at first sector.
33084 (options): New option --skip-fs-probe.
33085 (main): Handle --skip-fs-probe and pass it to setup().
33087 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33089 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
33090 (memset): Fix function prototype.
33092 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33093 2009-10-25 Vasily Averin <vvs@parallels.com>
33095 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
33096 `dirent.direntlen == 0'.
33098 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33100 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
33102 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
33104 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33106 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
33107 `__trampoline_setup' and `__ucmpdi2'.
33108 * include/grub/powerpc/libgcc.h: Only export symbols for functions
33109 that libgcc provides.
33111 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33113 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
33114 * include/grub/sparc64/libgcc.h (memset): Likewise.
33115 * include/grub/misc.h (memset, memcmp): New function prototypes.
33117 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33119 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
33121 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
33123 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
33125 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
33126 * docs/grub.cfg: Compensate for recent change in multiboot
33127 loader (since 2009-08-14 it won't pass filename to payload).
33128 * util/grub.d/10_hurd.in: Likewise.
33130 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
33132 * config.guess: Update to latest version from config git
33134 * config.sub: Likewise.
33136 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
33138 Fix build on sparc64.
33140 * configure.ac: Perform checks for libgcc symbols before
33141 adding `-nostdlib' to LDFLAGS.
33143 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33145 Let user specify OpenBSD root device.
33147 * loader/i386/bsd.c (openbsd_root): New variable.
33148 (openbsd_opts): New option 'root'.
33149 (OPENBSD_ROOT_ARG): New macro.
33150 (grub_openbsd_boot): Use 'openbsd_root'.
33151 (grub_cmd_openbsd): Fill 'openbsd_root'.
33153 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33155 * NEWS: Misc adjustments.
33157 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
33159 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
33161 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
33163 * configure.ac: Bump version to 1.97.
33165 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
33167 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
33168 -mno-3dnow on x86 architectures. Some toolchains enable these
33169 features by default, but they rely on registers that aren't enabled
33170 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
33172 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
33174 Make entry text a bit more readable.
33176 * util/grub.d/10_linux.in: Add `with' before `Linux'.
33178 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33180 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
33182 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33184 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
33187 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33189 * configure.ac: Add missing dollar.
33191 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
33193 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
33195 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
33196 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
33198 * include/grub/sparc64/libgcc.h: Likewise. Use
33199 preprocessor conditionals.
33201 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33203 * conf/common.rmk (grub-dumpbios): Remove rule.
33204 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
33205 * util/grub-dumpbios.in: Remove file.
33207 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
33209 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
33210 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
33212 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
33213 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
33216 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
33217 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
33218 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
33219 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
33222 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
33224 * term/tparm.c: Switch to GPLv3.
33226 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33228 * include/grub/i386/cpuid.h: Add header protection.
33230 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
33232 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
33234 * include/grub/i386/cpuid.h: New file.
33235 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
33236 (has_longmode): Rename to ...
33237 (grub_cpuid_has_longmode): ... this. Update all users. Remove
33238 `static' attribute.
33239 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
33240 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
33241 on a CPU that doesn't implement AMD64 instruction set.
33243 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33245 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
33246 that version.texi is rebuilt on version number changes.
33248 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33250 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
33253 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
33255 * util/i386/pc/grub-install.in: Source
33256 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
33257 that the --grub-probe option will work.
33258 * util/sparc64/ieee1275/grub-install.in: Likewise.
33260 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
33262 * configure.ac: Bump version to 1.97~beta4.
33264 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
33266 Resync grub-mkdevicemap in x86_64-efi.
33268 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
33269 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
33270 `util/devicemap.c'.
33272 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
33274 * util/grub-editenv.c (create_envblk_file): Write new block with a
33275 .new suffix and then rename it into place, to ensure atomic
33278 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
33280 Do not automatically install headers.
33282 * Makefile.in (include_DATA): Remove. Update all users.
33284 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
33286 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
33287 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
33289 * util/osdetect.lua: Remove.
33290 * script/lua/lauxlib.c: Likewise.
33291 * script/lua/ldebug.c: Likewise.
33292 * script/lua/grub_main.c: Likewise.
33293 * script/lua/lauxlib.h: Likewise.
33294 * script/lua/ldebug.h: Likewise.
33295 * script/lua/ltablib.c: Likewise.
33296 * script/lua/liolib.c: Likewise.
33297 * script/lua/lstrlib.c: Likewise.
33298 * script/lua/lualib.h: Likewise.
33299 * script/lua/ldo.c: Likewise.
33300 * script/lua/ldump.c: Likewise.
33301 * script/lua/ldo.h: Likewise.
33302 * script/lua/loslib.c: Likewise.
33303 * script/lua/lundump.c: Likewise.
33304 * script/lua/grub_lib.c: Likewise.
33305 * script/lua/ldblib.c: Likewise.
33306 * script/lua/lundump.h: Likewise.
33307 * script/lua/lmem.c: Likewise.
33308 * script/lua/grub_lib.h: Likewise.
33309 * script/lua/lmathlib.c: Likewise.
33310 * script/lua/lstate.c: Likewise.
33311 * script/lua/ltm.c: Likewise.
33312 * script/lua/lvm.c: Likewise.
33313 * script/lua/lmem.h: Likewise.
33314 * script/lua/lstate.h: Likewise.
33315 * script/lua/ltm.h: Likewise.
33316 * script/lua/ltable.c: Likewise.
33317 * script/lua/lvm.h: Likewise.
33318 * script/lua/llex.c: Likewise.
33319 * script/lua/lgc.c: Likewise.
33320 * script/lua/grub_lua.h: Likewise.
33321 * script/lua/loadlib.c: Likewise.
33322 * script/lua/lfunc.c: Likewise.
33323 * script/lua/lopcodes.c: Likewise.
33324 * script/lua/lparser.c: Likewise.
33325 * script/lua/ltable.h: Likewise.
33326 * script/lua/llex.h: Likewise.
33327 * script/lua/lgc.h: Likewise.
33328 * script/lua/lfunc.h: Likewise.
33329 * script/lua/lbaselib.c: Likewise.
33330 * script/lua/lopcodes.h: Likewise.
33331 * script/lua/lparser.h: Likewise.
33332 * script/lua/lzio.c: Likewise.
33333 * script/lua/linit.c: Likewise.
33334 * script/lua/lobject.c: Likewise.
33335 * script/lua/llimits.h: Likewise.
33336 * script/lua/lstring.c: Likewise.
33337 * script/lua/lzio.h: Likewise.
33338 * script/lua/lapi.c: Likewise.
33339 * script/lua/lcode.c: Likewise.
33340 * script/lua/lua.h: Likewise.
33341 * script/lua/lobject.h: Likewise.
33342 * script/lua/lstring.h: Likewise.
33343 * script/lua/lapi.h: Likewise.
33344 * script/lua/lcode.h: Likewise.
33345 * script/lua/luaconf.h: Likewise.
33347 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
33349 * docs/grub.texi (Command-line and menu entry commands): Document
33350 date and echo commands.
33352 2009-09-24 Pavel Roskin <proski@gnu.org>
33354 * include/grub/kernel.h (struct grub_module_header): Remove
33355 `grub_module_header_types'. Make `type' unsigned. Make `size'
33356 32-bit on all platforms.
33357 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
33358 8-bit field. Use grub_host_to_target32() for `size'.
33359 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
33360 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
33361 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
33363 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33365 Fix "lost keypress" bug in at_keyboard.
33367 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
33368 Checks for readyness of input buffer (without flushing it).
33369 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
33370 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
33372 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33374 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
33375 size check within GRUB_MACHINE_PCBIOS section.
33377 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
33379 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
33381 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
33382 KEYBOARD_ISREADY check.
33383 (grub_at_keyboard_checkkey): Rename to ...
33384 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
33385 Remove gratuitous cast.
33387 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
33389 * configure.ac: Call AC_PROG_MKDIR_P.
33390 * Makefile.in (docs/stamp-vti): Create docs directory. Create
33391 version.texi in $(builddir) rather than $(srcdir).
33392 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
33393 to makeinfo's @include search path.
33395 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33397 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
33399 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
33401 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
33404 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
33406 Build info documentation. Some code borrowed from Automake.
33408 * configure.ac: Check for makeinfo.
33409 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
33410 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
33412 (MOSTLYCLEANFILES): Add vti.tmp.
33413 (docs/version.texi, docs/stamp-vti): Update automatically.
33414 (docs/grub.info): Build info documentation. Use --force and ignore
33416 (all-local): Add $(INFOS).
33417 (install-local): Install info files.
33418 (uninstall): Uninstall info files.
33419 * docs/version.texi: Remove from revision control. This file is
33420 automatically generated on build now.
33421 * gendistlist.sh: Add `*.info'.
33423 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33425 * kern/term.c: Fix indentation.
33427 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
33429 * util/hostdisk.c: Fix a comment.
33431 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
33433 Fix regression introduced in r2539.
33435 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
33438 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
33440 * util/grub.d/30_os-prober.in: Don't throw away stderr from
33441 os-prober. Under normal operation, it does not print anything to
33442 stderr; if it does, we need to debug it, and throwing away stderr
33443 makes that excessively difficult.
33445 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
33447 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
33449 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33451 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
33452 AC_LANG_PROGRAM from autoconf.
33453 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
33454 prototypes (fixes warning).
33456 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
33457 `--disable-werror' was used.
33459 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
33461 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
33462 uninitialized `lastaddr'.
33464 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
33466 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
33468 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33470 * commands/test.c (get_fileinfo): Return immediately if
33471 grub_fs_probe fails.
33473 2009-09-14 José Martínez <xosemp@gmail.com>
33475 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
33477 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
33479 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
33482 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
33484 * configure.ac: Remove --enable-grub-pe2elf. Only build
33485 grub-pe2elf when needed by the build system itself.
33486 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
33488 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33490 * configure.ac: Bump version to 1.97~beta3.
33491 * docs/version.texi: Likewise.
33493 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33495 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
33496 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
33498 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
33499 (grub_linux_setup_video): ... to here (with some adjustments).
33501 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
33503 Fix memory corruption issue (spotted by Colin Watson).
33505 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
33506 causing returned size to be stored in an incorrect memory location.
33507 Fix use of uninitialized value when storing the returned size.
33509 2009-09-12 Yves Blusseau <blusseau@zetam.org>
33511 Change clean rules to properly remove files
33513 * genmk.rb: add new clean rules
33514 * Makefile.in (clean): add the new targets
33515 (mostlyclean): likewise
33517 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33519 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
33521 * fs/ntfs.c (init_file): Understand 64-bit sizes for
33522 non-resident files.
33524 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
33526 * configure.ac: Don't look for help2man when cross-compiling. Fixes
33527 part of bug #27349.
33529 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33531 * util/grub-mkconfig.in: Make the created config mode 400 and
33532 print a warning if it fails.
33534 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
33536 * util/grub.d/40_custom.in: Ask user to type custom entries below
33537 comment, rather than below 'exec tail' line.
33539 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33541 * util/grub.d/40_custom.in: Make sure that the explanatory text is
33542 visible in grub.cfg.
33544 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
33546 * util/grub.d/40_custom.in: Make it a little clearer how to use this
33549 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
33551 * docs/grub.cfg: Add an example menu entry for memtest86+.
33553 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
33555 * config.guess: Update to latest version from config git.
33556 * config.sub: Likewise.
33558 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
33560 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
33561 unknown-command case. Fixes bug #27320.
33563 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
33565 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
33566 `help' if the command exists.
33568 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
33570 * INSTALL: Require GCC 4.1.3 or later.
33572 2009-09-06 Yves Blusseau <blusseau@zetam.org>
33574 * Makefile.in (RMKFILES): add i386-qemu.rmk
33575 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
33576 $(srcdir)/stamp-h.in
33578 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
33580 * util/grub-probe.c (probe): Comment out buggy codepath, which
33581 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
33582 should be re-enabled after 1.97.
33584 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
33586 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
33589 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
33591 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
33592 unnecessary calls to grub_error.
33594 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
33596 * NEWS: Mention `keystatus' and Unicode fonts.
33598 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
33600 * configure.ac: Bump version to 1.97~beta2.
33601 * docs/version.texi: Likewise.
33603 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33605 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
33606 containing unwind information in some cases where it previously did
33607 not. Use -fno-dwarf2-cfi-asm if available to restore the old
33608 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
33611 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
33613 Embedding loadenv module into grub-emu
33615 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
33617 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
33618 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
33619 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
33620 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
33621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
33622 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
33624 2009-09-03 Magnus Granberg <zorry@ume.nu>
33626 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
33627 include -fPIE in the default specs.
33628 * configure.ac: Check if pie_possible is yes and add -fno-PIE
33631 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
33633 * INSTALL: Note that GNU Bison 2.3 or later is required.
33635 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
33637 * kern/i386/pc/startup.S: Fix typo.
33639 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
33641 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
33644 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33646 * docs/grub.texi (Naming convention): Describe one-based partition
33648 (Device syntax): Likewise.
33649 (File name syntax): Likewise.
33650 (Block list syntax): Likewise.
33651 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
33653 (File name syntax): Likewise.
33654 (Command-line and menu entry commands): Document acpi, blocklist,
33655 crc, export, insmod, keystatus, ls, set, and unset commands.
33657 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33659 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
33660 to avoid implying that only one of --shift, --ctrl, or --alt may be
33663 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
33665 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
33666 rather than comparing against S_IFREG, which will almost never work.
33668 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
33670 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
33671 (write_blocklists): Likewise.
33673 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
33675 * script/lua/grub_lua.h (fputs): Supply a format string as the first
33676 argument to grub_printf.
33678 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
33680 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
33683 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33685 * kern/file.c (grub_file_read): Spelling fix
33687 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
33689 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
33690 loading of headers in some cases.
33692 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
33694 * configure.ac: Bump version to 1.97~beta1.
33695 * docs/version.texi: Likewise.
33697 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
33699 * include/grub/i386/xnu.h: Add license header.
33700 include grub/err.h explicitly.
33702 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33704 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
33705 to `ufs' in the vfs.root.mountfrom kernel parameter.
33707 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
33709 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
33711 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
33712 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
33714 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
33715 `ARRAY_SIZE' macro.
33717 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33719 * kern/file.c (grub_file_read): Check offset.
33720 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
33721 * fs/jfs.c (grub_jfs_read_file): Likewise.
33722 * fs/ntfs.c (grub_ntfs_read): Likewise.
33723 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
33724 * fs/minix.c (grub_minix_read_file): Correct offset check.
33725 * fs/ufs.c (grub_ufs_read_file): Likewise.
33727 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33729 * term/i386/pc/console.c (bios_data_area): Cast
33730 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
33732 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33734 1-bit optimised blitters.
33736 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
33738 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33739 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33740 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33741 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33742 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33743 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33744 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
33746 (grub_video_fbblit_replace_24bit_1bit): Likewise.
33747 (grub_video_fbblit_replace_16bit_1bit): Likewise.
33748 (grub_video_fbblit_replace_8bit_1bit): Likewise.
33749 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
33750 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
33751 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
33752 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
33754 * video/video.c (grub_video_get_blit_format): Return
33755 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
33757 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33759 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
33760 the first argument to grub_printf.
33762 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
33763 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
33765 Add `getkeystatus' terminal method. Add a new `keystatus' command
33768 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
33769 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
33770 modifier key bitmasks.
33771 (struct grub_term_input): Add `getkeystatus' member.
33772 (grub_getkeystatus): Add prototype.
33773 * kern/term.c (grub_getkeystatus): New function.
33775 * include/grub/i386/pc/memory.h
33776 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
33777 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
33779 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
33780 (grub_console_term_input): Set `getkeystatus' member.
33781 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
33783 (grub_usb_keyboard_getreport): Likewise.
33784 (grub_usb_keyboard_checkkey): Likewise.
33785 (grub_usb_keyboard_getkeystatus): New function.
33786 (grub_usb_keyboard_term): Set `getkeystatus' member.
33788 * commands/keystatus.c: New file.
33789 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
33790 (keystatus_mod_SOURCES): New variable.
33791 (keystatus_mod_CFLAGS): Likewise.
33792 (keystatus_mod_LDFLAGS): Likewise.
33793 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
33794 commands/keystatus.c.
33795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33797 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33799 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33800 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33802 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
33804 Split befs.mod and afs.mod into *_be.mod and *.mod
33806 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
33807 (grub_fstest_SOURCES): Likewise.
33808 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
33809 (afs_be_mod_SOURCES): New variable.
33810 (afs_be_mod_CFLAGS): Likewise.
33811 (afs_be_mod_LDFLAGS): Likewise.
33812 (befs_be_mod_SOURCES): Likewise.
33813 (befs_be_mod_CFLAGS): Likewise.
33814 (befs_be_mod_LDFLAGS): Likewise.
33815 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
33816 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33818 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
33819 (grub_emu_SOURCES): Likewise.
33820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33821 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33823 * fs/afs_be.c: New file.
33824 * fs/befs_be.c: New file.
33825 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
33826 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
33827 (U16): Replaced with ...
33828 (grub_afs_to_cpu16): ...this. All users updated.
33829 (U32): Replaced with ...
33830 (grub_afs_to_cpu32): ...this. All users updated.
33831 (U64): Replaced with ...
33832 (grub_afs_to_cpu64): ...this. All users updated.
33833 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
33834 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
33835 (grub_afs_validate_sblock): Check only one endianness.
33836 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33837 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33838 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33839 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33840 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
33841 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
33842 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
33843 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
33845 2009-08-26 Bean <bean123ch@gmail.com>
33847 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
33849 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
33850 (grub_xfs_inode_block): Change return type to grub_uint64_t.
33851 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
33853 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33855 NetBSD memory map support.
33857 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
33858 (grub_netbsd_btinfo_mmap_header): New structure.
33859 (grub_netbsd_btinfo_mmap_entry): Likewise.
33860 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
33862 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33864 Enable bsd.mod on coreboot.
33866 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
33867 (bsd_mod_SOURCES): New variable.
33868 (bsd_mod_CFLAGS): Likewise.
33869 (bsd_mod_LDFLAGS): Likewise.
33870 (bsd_mod_ASFLAGS): Likewise.
33871 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
33872 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
33874 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33876 Cleanup NetBSD root support.
33878 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
33879 grub_bsd_get_device.
33882 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
33884 * util/grub.d/00_header.in: Move check for the video backend of
33885 gfxterm from here ...
33886 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
33887 a suitable video backend.
33889 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33891 Fix breakage in grub-setup.
33893 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
33894 "msdos_partition_map".
33896 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33898 Fix breakage in normal/auth.c.
33900 * normal/auth.c (grub_iswordseparator): New function.
33902 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
33904 Authentication support.
33906 * commands/password.c: New file.
33907 * conf/common.rmk (pkglib_MODULES): Add password.mod.
33908 (password_mod_SOURCES): New variable.
33909 (password_mod_CFLAGS): Likewise.
33910 (password_mod_LDFLAGS): Likewise.
33911 (normal_mod_SOURCES): Add normal/auth.c.
33912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
33914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
33915 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33916 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33917 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33918 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33919 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
33920 * include/grub/auth.h: New file.
33921 * include/grub/err.h (grub_err_t): New enum value
33922 GRUB_ERR_ACCESS_DENIED.
33923 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
33925 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
33926 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
33928 * normal/auth.c: New file.
33929 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
33930 (grub_cmdline_run): Don't allow to go to command line without
33932 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
33933 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
33934 menuentry without superuser rights.
33935 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
33936 user isn't a superuser.
33938 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33940 Save space by inlining misc.c functions.
33942 * kern/misc.c (grub_iswordseparator): Made static.
33943 * kern/misc.c (grub_strcat): Moved from here ...
33944 * include/grub/misc.h (grub_strcat): ... here. Inlined.
33945 * kern/misc.c (grub_strncat): Moved from here ...
33946 * include/grub/misc.h (grub_strncat): ... here. Inlined.
33947 * kern/misc.c (grub_strcasecmp): Moved from here ...
33948 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
33949 * kern/misc.c (grub_strncasecmp): Moved from here ...
33950 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
33951 * kern/misc.c (grub_isalpha): Moved from here ...
33952 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
33953 * kern/misc.c (grub_isdigit): Moved from here ...
33954 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
33955 * kern/misc.c (grub_isgraph): Moved from here ...
33956 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
33957 * kern/misc.c (grub_tolower): Moved from here ...
33958 * include/grub/misc.h (grub_tolower): ... here. Inlined.
33960 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33962 * script/sh/function.c (grub_script_function_find): Cut error message
33963 not to flood terminal.
33964 * script/sh/lexer.c (grub_script_yylex): Remove command line length
33966 * script/sh/script.c (grub_script_arg_add): Duplicate string.
33968 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
33970 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
33971 `report' grub_uint8_t *.
33972 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
33973 Use a 50-millisecond timeout rather than just repeating
33974 grub_usb_keyboard_getreport 50 times.
33975 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
33977 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33979 Rename *_partition_map to part_*
33981 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
33982 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
33983 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
33984 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
33986 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
33988 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
33989 * util/grub-probe.c (probe_partmap): Don't transform partition name
33990 to get module name.
33992 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
33994 Fix OpenBSD and NetBSD support.
33996 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
33997 memory address conflict.
33998 (OPENBSD_MMAP_ACPI): New definition.
33999 (OPENBSD_MMAP_NVS): Likewise.
34000 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
34001 and OPENBSD_MMAP_NVS.
34002 Add memory map terminator
34003 Explicit cast when calling grub_unix_real_boot.
34004 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
34006 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34008 Let user specify NetBSD root device.
34010 * loader/i386/bsd.c (netbsd_root): New variable.
34011 (netbsd_opts): New option 'root'.
34012 (NETBSD_ROOT_ARG): New macro.
34013 (grub_netbsd_boot): Use 'netbsd_root'.
34014 (grub_bsd_unload): Free 'netbsd_root'.
34015 (grub_cmd_netbsd): Fill 'netbsd_root'.
34017 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34019 Support for 64-bit NetBSD.
34021 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
34022 point when booting non-FreeBSD.
34024 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
34026 Support --no-smp and --no-acpi for NetBSD.
34028 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
34029 (NETBSD_AB_NOACPI): Likewise.
34030 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
34031 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
34033 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34035 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
34037 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
34038 errors. Call grub_error when needed.
34040 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34042 * commands/search.c (search_fs): Try searching without autoload first.
34043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
34044 filesystem module explicitly for faster booting.
34046 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34048 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
34050 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
34052 * util/grub.d/30_os-prober.in: Disable os-prober if
34053 `GRUB_DISABLE_OS_PROBER' was set to true.
34055 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
34057 * partmap/pc.c: Rename to ...
34058 * partmap/msdos.c: ... this. Update all users.
34059 (grub_pc_partition_map): Rename to ...
34060 (grub_msdos_partition_map): ... this. Update all users.
34062 * parttool/pcpart.c: Rename to ...
34063 * parttool/msdospart.c: ... this. Update all users.
34065 * include/grub/pc_partition.h: Rename to ...
34066 * include/grub/msdos_partition.h: ... this. Update all users.
34067 (grub_pc_partition_bsd_entry): Rename to ...
34068 (grub_msdos_partition_bsd_entry): ... this. Update all users.
34069 (grub_pc_partition_disk_label): Rename to ...
34070 (grub_msdos_partition_disk_label): ... this. Update all users.
34071 (grub_pc_partition_entry): Rename to ...
34072 (grub_msdos_partition_entry): ... this. Update all users.
34073 (grub_pc_partition_mbr): Rename to ...
34074 (grub_msdos_partition_mbr): ... this. Update all users.
34075 (grub_pc_partition): Rename to ...
34076 (grub_msdos_partition): ... this. Update all users.
34077 (grub_pc_partition_is_empty): Rename to ...
34078 (grub_msdos_partition_is_empty): ... this. Update all users.
34079 (grub_pc_partition_is_extended): Rename to ...
34080 (grub_msdos_partition_is_extended): ... this. Update all users.
34081 (grub_pc_partition_is_bsd): Rename to ...
34082 (grub_msdos_partition_is_bsd): ... this. Update all users.
34084 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
34085 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
34086 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
34087 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
34088 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
34089 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
34090 (gpt_mod_LDFLAGS): Rename to ...
34091 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
34092 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
34093 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
34094 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
34095 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
34096 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
34097 (part_gpt_mod_LDFLAGS): ... this.
34098 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
34099 `pcpart.mod' to `msdospart.mod'.
34100 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
34102 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
34103 (msdospart_mod_LDFLAGS): ... this.
34105 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
34107 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
34108 (openbsd_opts): Likewise.
34109 (netbsd_opts): Likewise.
34110 (freebsd_flags): Added 0 terminator.
34111 (openbsd_flags): Likewise.
34112 (netbsd_flags): Likewise.
34113 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
34114 (grub_cmd_freebsd): Transformed into extended command.
34115 (grub_cmd_openbsd): Likewise.
34116 (grub_cmd_netbsd): Likewise.
34117 (cmd_freebsd): Changed type to grub_extcmd_t.
34118 (cmd_openbsd): Likewise.
34119 (cmd_netbsd): Likewise.
34120 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
34121 grub_cmd_openbsd as extended commands.
34122 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
34123 cmd_netbsd and cmd_openbsd
34125 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
34127 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
34129 2009-08-21 Pavel Roskin <proski@gnu.org>
34131 * Makefile.in (install-local): When checking if a file is in the
34132 build directory, use "test -e" to detect symlinks.
34134 * Makefile.in (install-local): Remove all files in
34135 $(DESTDIR)$(pkglibdir) before installing new files there.
34137 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34139 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
34142 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
34144 * util/grub-mkconfig.in: Don't use gfxterm by default if not
34145 explicitly specified by the user.
34147 2009-08-18 Pavel Roskin <proski@gnu.org>
34149 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
34150 grub_uint8_t pointer for data.
34151 * include/grub/fbutil.h (struct grub_video_fbblit_info):
34153 * video/fb/fbutil.c: Remove unnecessary casts.
34155 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34159 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
34160 (grub_vbe_set_video_mode): Save active mode info
34161 only after setting the mode.
34162 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
34165 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34167 Rename variables for clarity.
34169 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
34170 (active_vbe_mode_info): ... this. All users updated.
34171 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
34173 (initial_mode): Rename to ...
34174 (initial_vbe_mode): ... this. All users updated.
34175 (mode_in_use): Rename to ..
34176 (vbe_mode_in_use): ... this. All users updated.
34177 (mode_list): Rename to ..
34178 (vbe_mode_list): ... this. All users updated.
34179 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
34180 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
34181 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
34182 'mode_list_size' to 'vbe_mode_list_size'.
34183 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
34184 'best_mode_info' to 'best_vbe_mode_info' and
34185 'best_mode' to 'best_vbe_mode'
34187 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
34189 Remove duplicate grub_video_fb_get_video_ptr.
34191 * include/grub/fbutil.h (get_data_ptr): Rename to ...
34192 (grub_video_fb_get_video_ptr): ... this.
34193 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
34194 * video/fb/fbutil.c: Add comment about addressing.
34195 (get_data_ptr): Rename to ...
34196 (grub_video_fb_get_video_ptr): ... this. All users updated.
34197 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
34199 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34201 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
34202 grub_dprintf() that was just added.
34204 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
34206 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
34207 (DEFAULT_VIDEO_MODE): Remove macros.
34208 (grub_linux_boot): Remove assumption that Linux has FB support,
34209 and use "text" as default video mode.
34211 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
34213 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
34215 * fs/fat.c (grub_fat_read_data): Likewise.
34217 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34219 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
34221 (grub_module): Likewise.
34223 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34225 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
34226 mbi->cmdline but free playground.
34228 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34230 Handle group offset on UFS1.
34232 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
34233 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
34235 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34237 Split ufs.mod into ufs1.mod and ufs2.mod.
34239 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
34240 (grub_fstest_SOURCES): Likewise.
34241 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
34242 (ufs_mod_SOURCES): Remove.
34243 (ufs_mod_CFLAGS): Likewise.
34244 (ufs_mod_LDFLAGS): Likewise.
34245 (ufs1_mod_SOURCES): New variable.
34246 (ufs1_mod_CFLAGS): Likewise.
34247 (ufs1_mod_LDFLAGS): Likewise.
34248 (ufs2_mod_SOURCES): New variable.
34249 (ufs2_mod_CFLAGS): Likewise.
34250 (ufs2_mod_LDFLAGS): Likewise.
34251 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
34252 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34254 (grub_emu_SOURCES): Likewise.
34255 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34256 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34257 (grub_setup_SOURCES): Likewise.
34258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34259 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
34260 (grub_setup_SOURCES): Likewise.
34261 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
34263 * fs/ufs2.c: New file.
34264 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
34266 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
34270 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
34271 subsystem at the end.
34272 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
34273 (video_fb_mod_SOURCES): New variable.
34274 (video_fb_mod_CFLAGS): Likewise.
34275 (video_fb_mod_LDFLAGS): Likewise.
34276 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
34277 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
34278 * video/i386/pc/vbeblit.c: Moved from here ...
34279 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
34280 * video/i386/pc/vbefill.c: Moved from here ...
34281 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
34282 * video/i386/pc/vbeutil.c: Moved from here ...
34283 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
34284 * include/grub/i386/pc/vbeblit.h: Moved from here ...
34285 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
34286 * include/grub/i386/pc/vbefill.h: Moved from here ...
34287 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
34288 * include/grub/i386/pc/vbeutil.h: Moved from here ...
34289 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
34290 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
34291 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
34292 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
34293 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
34294 (grub_video_adapter): Added 'get_info_and_fini'.
34295 (grub_video_get_info_and_fini): New prototype.
34296 (grub_video_set_mode): make modestring const char *.
34297 * loader/i386/linux.c (grub_linux_setup_video): Use
34298 grub_video_get_info_and_fini.
34299 (grub_linux_boot): Move modesetting just before booting.
34300 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
34301 grub_video_get_info_and_fini.
34302 * video/i386/pc/vbe.c: Moved framebuffer part ...
34303 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
34304 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
34305 grub_video_fbstd_colors and grub_video_fb_set_palette.
34306 (grub_video_vbe_init): Clear 'framebuffer' variable and use
34307 grub_video_fb_init.
34308 (grub_video_vbe_fini): Use grub_video_fb_fini.
34309 (grub_video_vbe_setup): Use framebuffer.render_target instead of
34310 render_target and use grub_video_fb_set_active_render_target and
34311 grub_video_fb_set_palette.
34312 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
34313 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
34314 (grub_video_vbe_adapter): Use framebuffer.
34315 * video/video.c (grub_video_get_info_and_fini): New function.
34316 (grub_video_set_mode): Make modestring const char *.
34317 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
34318 values are already initialised.
34320 2009-08-14 Pavel Roskin <proski@gnu.org>
34322 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
34324 * boot/i386/pc/diskboot.S: Likewise.
34325 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
34326 sectors allow compilation on MacOSX.
34327 * conf/i386-pc.rmk: Enable unconditional compilation of
34330 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
34332 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
34333 * util/grub.d/00_header.in: Enter interruptible sleep if
34334 GRUB_HIDDEN_TIMEOUT is set.
34336 2009-08-13 Yves Blusseau <blusseau@zetam.org>
34338 * include/grub/symbol.h: Add the LOCAL macro.
34339 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
34340 starting with "L_".
34342 2009-08-13 Pavel Roskin <proski@gnu.org>
34344 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
34345 any modern compilers we support.
34347 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
34348 Use local labels starting with "L_" so that Apple assembler
34349 knows they are local.
34351 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
34353 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
34354 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
34355 (bsd_kernel_types): ... this enum.
34357 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
34358 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
34359 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
34361 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
34362 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
34363 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
34366 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34368 * util/grub-dumpdevtree: Moved from here ...
34369 * util/i386/efi/grub-dumpdevtree: ... to here.
34370 (hexify): New function. Converts a string to its hex version.
34371 Generate hex versions of "efi" and "device-properties" by calling
34372 hexify() on the ASCII strings rather than by hardcoding numbers.
34374 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
34376 * fs/jfs.c: Update copyright year.
34378 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34380 * util/grub.d/00_header.in: Fix a comment.
34381 * util/grub.d/10_linux.in: Likewise.
34382 * util/grub.d/10_windows.in: Likewise.
34383 * util/grub.d/10_hurd.in: Likewise.
34385 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
34387 * util/grub-mkconfig.in: Allow the user to specify the used font
34390 2009-08-08 Pavel Roskin <proski@gnu.org>
34392 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
34393 available, xfs.mod needs it now.
34395 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
34396 the "g" modifier in sed when the intention is to strip something
34397 once. This fixes comparison of kernels with multiple dashes.
34399 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
34400 on it. Add missing space before closing bracket. Fix
34401 misleading formatting.
34403 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34405 * docs/grub.texi: Major overhaul. Remove all sections that are
34406 specific to GRUB Legacy, or mostly composed of Legacy-specific
34409 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34411 * docs/version.texi: New file. Provides version information for
34414 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34416 * docs/grub.texi: Update CVS information to SVN.
34417 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
34419 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34421 * util/grub-mkconfig.in: Remove a wrong `fi'.
34423 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34425 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
34426 (grub_jfs_uuid): New function.
34427 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
34429 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
34431 * util/grub-mkconfig_lib.in (font_path): Move the functionality
34433 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
34434 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
34436 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34438 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
34439 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
34442 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
34443 not just "vmlinu[zx]".
34444 Moved from here ...
34445 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
34448 * util/grub.d/10_linux.in (find_latest): Moved from here ...
34449 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
34452 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
34454 * util/grub.d/10_freebsd.in: Use an absolute device path for
34455 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
34457 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
34459 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
34460 handling of multiple abstraction modules.
34462 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
34464 Fix a bug resulting in black screen when loading Linux using a
34467 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
34470 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
34471 (grub_vbe_bios_getset_dac_palette_width): New function.
34472 (grub_vbe_bios_get_dac_palette_width)
34473 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
34474 grub_vbe_bios_getset_dac_palette_width()).
34476 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
34477 check for return status.
34478 (grub_vbe_get_video_mode_info): When getting information for a packed
34479 mode (<= 8 bpp), obtain DAC palette width using
34480 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
34481 {red,green,blue}_mark_size.
34483 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
34485 * commands/search.c (options): Fix help output to match actual code.
34487 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
34489 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
34492 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34494 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
34495 on XFS or ReiserFS.
34497 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34499 Support Apple partition map with sector size different from 512 bytes.
34501 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
34502 (apple_partition_map_iterate): Respect 'aheader.blocksize'
34503 and 'apart.partmap_size'.
34505 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
34506 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
34510 * commands/i386/cpuid.c (options): New variable.
34511 (grub_cmd_cpuid): Return real error.
34512 (GRUB_MOD_INIT(cpuid)): Declare options.
34514 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
34516 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
34519 2009-07-31 Bean <bean123ch@gmail.com>
34521 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
34523 (grub_fshelp_node): Move inode field to the end.
34524 (grub_xfs_data): Remove inode field.
34525 (grub_xfs_inode_block): Calculate inode size using sblock.
34526 (grub_xfs_inode_offset): Likewise.
34527 (grub_xfs_read_inode): Calculate inode size using sblock.
34528 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
34529 (grub_xfs_iterate_dir): Calculate inode size using sblock.
34530 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
34531 to match inode size.
34532 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
34533 not accessible when data is null.
34534 (grub_xfs_open): Likewise.
34536 2009-07-31 Bean <bean123ch@gmail.com>
34538 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
34539 Don't change pv->disk if it's already set.
34541 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
34542 (grub_raid_register): ... here.
34543 (grub_raid_rescan): Removed.
34545 * include/grub/raid.h (grub_raid_rescan): Removed.
34547 * util/grub-fstest.c: Remove include file <grub/raid.h>.
34548 (fstest): Replace grub_raid_rescan with module fini function followed
34551 * util/grub-probe.c: Add include file <grub/raid.h>.
34552 (probe_raid_level): New function.
34553 (probe): Detect abstraction by walking the disk device, support two
34554 level of abstraction (LVM on RAID) when detecting partition map.
34556 2009-07-31 Pavel Roskin <proski@gnu.org>
34558 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
34559 to grub_zalloc(), it was erroneous.
34560 Reported by Bean <bean123ch@gmail.com>
34562 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
34564 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
34565 embedding zone, not only the first one.
34567 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
34569 * term/gfxterm.c (clear_char): New function.
34570 (grub_virtual_screen_setup): Use clear_char.
34571 (scroll_up): Likewise.
34572 (grub_virtual_screen_cls): Likewise.
34574 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
34576 * util/deviceiter.c (get_acceleraid_disk_name): New static
34578 (grub_util_iterate_devices): Handle Accelraid devices.
34579 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
34581 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
34583 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
34584 separator for the suggested gfxpayload string (';' collides with the
34585 parser and needs escaping).
34587 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
34589 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
34590 Clear direction flag before jumping to OS.
34591 (grub_multiboot2_real_boot): Likewise.
34593 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34595 * util/i386/pc/grub-install: Fix parsing of --disk-module
34598 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
34600 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
34603 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
34605 * util/grub-mkconfig.in (package_version): New variable.
34606 Use it do display the version.
34608 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34610 * kern/file.c (grub_file_open): Revert to previous check with
34613 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34615 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
34616 from help line. It's out of sync with code.
34618 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
34620 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
34621 entries on failed boot.
34623 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
34625 * kern/file.c (grub_file_open): Fix an error check.
34627 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
34629 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
34630 partition map couldn't be identified.
34632 2009-07-23 Pavel Roskin <proski@gnu.org>
34634 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
34635 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
34636 case of little endian words becomes just an optimization.
34637 Respect const modifier.
34638 (md5_final): Use code that doesn't depend on endianness.
34640 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
34641 to avoid loss of upper bits if align is unsigned and shorter
34644 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34646 UUID support for UFS
34648 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
34649 (grub_ufs_uuid): New function.
34650 (grub_ufs_fs): add .uuid
34652 2009-07-21 Pavel Roskin <proski@gnu.org>
34654 * kern/dl.c (grub_dl_check_header): Make static.
34656 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
34658 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
34659 add drivemap for Vista. It breaks Windows 7.
34661 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
34663 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
34666 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34670 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
34671 (grub_fstest_SOURCES): Likewise.
34672 (pkglib_MODULES): Add befs.mod.
34673 (befs_mod_SOURCES): New variable.
34674 (befs_mod_CFLAGS): Likewise.
34675 (befs_mod_LDFLAGS): Likewise.
34676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
34677 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34679 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34680 (grub_setup_SOURCES): Likewise.
34681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34683 (grub_setup_SOURCES): Likewise.
34684 * fs/befs.c: New file.
34685 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
34686 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
34687 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
34688 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
34689 (B_KEY_INDEX_ALIGN): New declaration.
34690 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
34691 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
34692 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
34693 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
34694 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
34695 (grub_afs_mount) [MODE_BFS]: Likewise.
34696 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
34697 (grub_afs_fs): Use GRUB_AFS_FSNAME
34698 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
34699 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
34700 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
34701 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
34703 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
34705 * util/getroot.c (find_root_device): Add support for MacOSX.
34706 * util/hostdisk.c: Likewise.
34708 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34710 * font/font.c (find_glyph): Check whether a font is present to avoid
34711 segmentation fault.
34713 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
34715 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
34717 2009-07-20 Pavel Roskin <proski@gnu.org>
34719 * configure.ac: Trim excessively wordy excuses.
34721 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34723 Add symlink, mtime and label support to AtheFS.
34725 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
34726 (grub_afs_iterate_dir): Handle symlinks.
34727 (grub_afs_open): Use grub_afs_read_symlink.
34728 (grub_afs_dir): Likewise.
34730 (grub_afs_label): New function.
34731 (grub_afs_fs): Add grub_afs_label.
34732 (grub_afs_read_symlink): New function.
34734 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
34736 Fix AtheFS support.
34738 * fs/afs.c: Fix comments style.
34739 (grub_afs_blockrun): Declare as packed.
34740 (grub_afs_datastream): Likewise.
34741 (grub_afs_bnode): Likewise.
34742 (grub_afs_btree): Likewise.
34743 (grub_afs_sblock): Likewise.
34744 Declare `name' as char.
34745 (grub_afs_inode): Declare as packed.
34746 Change void *vnode to grub_uint32_t unused.
34747 (grub_afs_iterate_dir): Check that key_size is positive.
34748 (grub_afs_mount): Don't read superblock twice.
34749 (grub_afs_dir): Don't free node in case of error,
34750 grub_fshelp_find_file already handles this.
34751 (grub_afs_open): Likewise.
34753 2009-07-19 Pavel Roskin <proski@gnu.org>
34755 * Makefile.in: Remove LIBLZO and enable_lzo.
34756 * conf/i386-pc.rmk: Remove lzo support.
34757 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
34758 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
34760 * kern/i386/pc/lzo1x.S: Remove.
34761 * kern/i386/pc/startup.S: Remove lzo support.
34762 * util/i386/pc/grub-mkimage.c: Likewise.
34764 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
34766 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
34767 * fs/xfs.c (grub_xfs_dir): Likewise.
34768 * fs/afs.c (grub_afs_dir): Likewise.
34769 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
34770 (grub_iso9660_open): Likewise.
34771 * fs/jfs.c (grub_jfs_open): Likewise.
34772 * fs/ext2.c (grub_ext2_dir): Likewise.
34773 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
34774 * script/sh/lexer.c (grub_script_yylex): Likewise.
34776 2009-07-16 Pavel Roskin <proski@gnu.org>
34778 * configure.ac: Never add "-c" to CFLAGS.
34780 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
34782 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
34783 grub_cv_cc_efiemu should be used.
34785 * configure.ac: Typo fixes.
34787 * kern/mm.c (grub_zalloc): New function.
34788 (grub_debug_zalloc): Likewise.
34789 * include/grub/mm.h: Declare grub_zalloc() and
34790 grub_debug_zalloc().
34791 * util/misc.c (grub_zalloc): New function.
34792 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
34793 instead of grub_malloc(), remove unneeded initializations.
34794 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
34795 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
34796 * commands/parttool.c (grub_cmd_parttool): Likewise.
34797 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
34798 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
34799 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
34800 * disk/usbms.c (grub_usbms_finddevs): Likewise.
34801 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
34802 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
34803 (grub_cmd_efiemu_pnvram): Likewise.
34804 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
34805 * fs/iso9660.c (grub_iso9660_mount): Likewise.
34806 (grub_iso9660_iterate_dir): Likewise.
34807 * fs/jfs.c (grub_jfs_opendir): Likewise.
34808 * fs/ntfs.c (list_file): Likewise.
34809 (grub_ntfs_mount): Likewise.
34810 * kern/disk.c (grub_disk_open): Likewise.
34811 * kern/dl.c (grub_dl_load_core): Likewise.
34812 * kern/elf.c (grub_elf_file): Likewise.
34813 * kern/env.c (grub_env_context_open): Likewise.
34814 (grub_env_set): Likewise.
34815 (grub_env_set_data_slot): Likewise.
34816 * kern/file.c (grub_file_open): Likewise.
34817 * kern/fs.c (grub_fs_blocklist_open): Likewise.
34818 * loader/i386/multiboot.c (grub_module): Likewise.
34819 * loader/xnu.c (grub_xnu_create_key): Likewise.
34820 (grub_xnu_create_value): Likewise.
34821 * normal/main.c (grub_normal_add_menu_entry): Likewise.
34822 (read_config_file): Likewise.
34823 * normal/menu_entry.c (make_screen): Likewise.
34824 * partmap/sun.c (sun_partition_map_iterate): Likewise.
34825 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
34826 * script/sh/script.c (grub_script_parse): Likewise.
34827 * video/bitmap.c (grub_video_bitmap_create): Likewise.
34828 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
34829 * video/readers/png.c (grub_png_output_byte): Likewise.
34830 (grub_video_reader_png): Likewise.
34832 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34834 Enable all targets that can be built by default
34836 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
34837 grub-mkfont and grub-fstest if they can be built
34839 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34841 Fix hang and segmentation fault in grub-emu-usb
34843 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
34844 * util/usb.c (grub_libusb_devices): likewise
34845 (grub_libusb_init): rename to ...
34846 (GRUB_MOD_INIT (libusb)):...this
34847 (grub_libusb_fini): rename to ..
34848 (GRUB_MOD_FINI (libusb)):...this
34849 * disk/usbms.c (grub_usbms_transfer): fix retry logic
34850 * include/grub/disk.h (grub_raid_init): removed, it's useless
34851 (grub_raid_fini): likewise
34852 (grub_lvm_init): likewise
34853 (grub_lvm_fini): likewise
34854 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
34857 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34861 * Makefile.in (LIBUSB): new macro
34862 * genmk.rb (Utility/print_tail): new method
34863 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
34864 (top level): call util.print_tail at the end.
34866 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34868 Make FreeBSD accept zpool.cache
34870 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
34871 type is /boot/zfs/zpool.cache
34873 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
34877 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
34878 correct wrong typedef
34879 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
34881 2009-07-15 Pavel Roskin <proski@gnu.org>
34883 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
34884 * kern/disk.c (struct grub_disk_cache): Likewise.
34886 * commands/probe.c (options): Typo fix.
34888 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
34889 Increase to 0x5a to accommodate FAT32. Adjust other offsets
34891 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
34893 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
34894 the end of "Error" to make the message more readable.
34896 * boot/i386/pc/boot.S (kernel_segment): Remove.
34897 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
34900 * boot/i386/pc/boot.S (boot_version): Remove.
34901 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
34904 * include/grub/i386/pc/boot.h: Sort all offsets.
34905 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
34906 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
34907 * boot/i386/pc/boot.S: Assert location of every offset listed in
34908 include/grub/i386/pc/boot.h.
34910 2009-07-13 Pavel Roskin <proski@gnu.org>
34912 * include/grub/i386/coreboot/machine.h: Rename
34913 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
34914 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
34915 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
34917 * kern/dl.c: Force native word size to suppress warnings when
34918 compiling grub-emu.
34920 * kern/device.c (grub_device_iterate): Change struct part_ent to
34921 hold the name, not a pointer to it. Use one grub_malloc() per
34922 partition, not two. Free partition_name if grub_malloc() fails.
34923 Set ents to NULL only before grub_partition_iterate() is called.
34925 2009-07-11 Bean <bean123ch@gmail.com>
34927 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
34930 2009-07-10 Bean <bean123ch@gmail.com>
34931 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
34933 * kern/ieee1275/openfw.c (grub_children_iterate)
34934 (grub_devalias_iterate): Fix size evaluation for property or path
34935 strings, which was broken since r2132.
34937 2009-07-07 Pavel Roskin <proski@gnu.org>
34939 * commands/search.c (search_file): Merge into ...
34940 (search_fs): ... this. Accept search type as argument.
34941 (grub_cmd_search): Pass search type to search_fs().
34943 * include/grub/util/console.h: New file.
34944 * util/console.c: Use it instead of grub/machine/console.h.
34945 * util/grub-emu.c: Likewise.
34947 * lib/arg.c (find_long_option): Remove.
34948 (find_long): Add `len' argument, make `s' const char *.
34949 (grub_arg_parse): Parse long options in place, not in a
34952 2009-07-06 Pavel Roskin <proski@gnu.org>
34954 * commands/search.c (search_fs): Fix potential NULL pointer
34957 * commands/search.c (search_fs): Replace QUID macro with quid_fn
34960 2009-07-06 Daniel Mierswa <impulze@impulze.org>
34962 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
34965 2009-07-05 Pavel Roskin <proski@gnu.org>
34967 * include/grub/i386/linux.h (struct linux_kernel_params):
34968 Restore padding3, it's still needed.
34970 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
34972 * util/osdetect.lua: Likewise.
34974 2009-07-05 Bean <bean123ch@gmail.com>
34976 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
34978 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
34979 (grub_lua_getenv): Likewise.
34980 (grub_lua_setenv): Likewise.
34981 (save_errno): New function.
34982 (push_result): Likewise.
34983 (grub_lua_enum_device): Likewise.
34984 (grub_lua_enum_file): Likewise.
34985 (grub_lua_file_open): Likewise.
34986 (grub_lua_file_close): Likewise.
34987 (grub_lua_file_seek): Likewise.
34988 (grub_lua_file_read): Likewise.
34989 (grub_lua_file_getline): Likewise.
34990 (grub_lua_file_getsize): Likewise.
34991 (grub_lua_file_getpos): Likewise.
34992 (grub_lua_file_eof): Likewise.
34993 (grub_lua_file_exist): Likewise.
34994 (grub_lua_add_menu): Likewise.
34996 * script/lua/grub_lua.h (isupper): New inline function.
34997 (islower): Likewise.
34998 (ispunct): Likewise.
34999 (isxdigit): Likewise.
35000 (strcspn): Change to normal function.
35001 (strpbkr): New function declaration.
35002 (memchr): Likewise.
35004 * script/lua/grub_main.c (scan_str): New function.
35005 (strcspn): Likewise.
35006 (strpbrk): Likewise.
35007 (memchr): Likewise.
35009 * script/lua/linit.c (lualibs): Enable the string library.
35011 * util/osdetect.lua: New file.
35013 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
35015 * include/grub/i386/linux.h (struct linux_kernel_params): Add
35016 `capabilities' member.
35018 2009-07-02 Pavel Roskin <proski@gnu.org>
35020 * genparttoollist.sh: Add missing newline at the end.
35022 2009-07-01 Pavel Roskin <proski@gnu.org>
35024 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
35026 * util/hostdisk.c (open_device): Remove `const' from
35027 `sysctl_size', as sysctlbyname() can change it (in this case it
35028 doesn't actually happen).
35030 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
35031 using signed long int constants.
35033 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
35034 constant to avoid a warning on FreeBSD.
35036 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
35039 * Makefile.in: Install include/grub/machine symlink.
35041 * Makefile.in: When installing symlinks, use "cp -fR", which
35042 works on FreeBSD and MacOSX.
35043 From Yves Blusseau <cl7m42e02@sneakemail.com>
35045 * kern/dl.c (grub_dl_resolve_symbol): Make static.
35046 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
35048 * util/misc.c: Move grub_reboot() and grub_halt() ...
35049 * util/grub-emu.c: ... here. Make main_env static.
35050 * include/grub/util/misc.h: Remove main_env.
35052 * kern/mm.c: Use correct format to print size_t.
35054 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
35055 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
35056 * kern/powerpc/dl.c: Likewise.
35057 * kern/sparc64/dl.c: Likewise.
35058 * kern/x86_64/dl.c: Likewise.
35060 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35062 Fix grub-emu build on sparc64-ieee1275.
35064 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
35065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
35067 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35069 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
35070 (grub_reboot, grub_halt): New functions.
35072 * util/i386/pc/misc.c: Delete. Update all users.
35073 * util/sparc64/ieee1275/misc.c: Likewise.
35074 * util/powerpc/ieee1275/misc.c: Likewise.
35076 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35078 * conf/i386.rmk (setjmp_mod_SOURCES)
35079 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
35080 * conf/common.rmk (setjmp_mod_SOURCES)
35081 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
35082 to use $(target_cpu).
35083 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
35084 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
35085 * conf/powerpc-ieee1275.rmk: Likewise.
35086 * conf/sparc64-ieee1275.rmk: Likewise.
35088 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
35089 $(target_cpu) for kern/$(target_cpu)/dl.c.
35090 * conf/i386-efi.rmk: Likewise.
35091 * conf/i386-ieee1275.rmk: Likewise.
35092 * conf/x86_64-efi.rmk: Likewise.
35093 * conf/i386-coreboot.rmk: Likewise.
35094 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
35095 $(target_cpu) for kern/$(target_cpu)/dl.c and for
35096 kern/$(target_cpu)/cache.S.
35097 * conf/sparc64-ieee1275.rmk: Likewise.
35099 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
35101 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
35102 type to `grub_uint8_t', and adjust `padding9' accordingly.
35104 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35106 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
35108 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
35109 assembly in final jump, using register constraints.
35111 (grub_linux_boot): For text mode, initialize `have_vga' using
35112 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
35114 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
35115 right before the final jump.
35117 Set `video_mode' to 0x3.
35119 Document initialization of `video_page', `video_mode' and
35122 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35124 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
35125 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
35126 and set GRUB_LINUX_FLAG_QUIET appropriately.
35128 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
35130 Fix build on Debian / sparc.
35132 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
35134 2009-06-28 Pavel Roskin <proski@gnu.org>
35136 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
35139 * util/grub.d/10_linux.in: Match SUSE style initrd names.
35141 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35143 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
35146 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35150 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
35151 file can't be opened. grub_file_open() is already supposed to set
35152 grub_errno / grub_errmsg appropriately.
35153 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35155 2009-06-27 Pavel Roskin <proski@gnu.org>
35156 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
35158 * include/grub/dl.h: Include grub/elf.h.
35159 (struct grub_dl): Add symtab field.
35160 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
35161 GRUB_MODULES_MACHINE_READONLY.
35162 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
35163 of the header for read-only modules.
35164 (grub_dl_unload): Free mod->symtab for read-only modules.
35165 * kern/i386/dl.c: Use mod->symtab.
35166 * kern/powerpc/dl.c: Likewise.
35167 * kern/sparc64/dl.c: Likewise.
35168 * kern/x86_64/dl.c: Likewise.
35170 * conf/i386-qemu.rmk: New file.
35171 * kern/i386/qemu/startup.S: Likewise.
35172 * kern/i386/qemu/mmap.c: Likewise.
35173 * boot/i386/qemu/boot.S: Likewise.
35174 * include/grub/i386/qemu/time.h: Likewise.
35175 * include/grub/i386/qemu/serial.h: Likewise.
35176 * include/grub/i386/qemu/kernel.h: Likewise.
35177 * include/grub/i386/qemu/console.h: Likewise.
35178 * include/grub/i386/qemu/boot.h: Likewise.
35179 * include/grub/i386/qemu/init.h: Likewise.
35180 * include/grub/i386/qemu/machine.h: Likewise.
35181 * include/grub/i386/qemu/loader.h: Likewise.
35182 * include/grub/i386/qemu/memory.h: Likewise.
35184 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
35185 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
35186 [qemu] (pkglib_IMAGES): Add `boot.img'.
35187 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
35188 [qemu] (boot_img_FORMAT): New variables.
35189 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
35190 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
35191 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
35192 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
35193 [qemu] (kernel_img_FORMAT): New variables.
35195 * configure.ac: Recognise `i386-qemu'.
35197 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
35198 (for no compression).
35199 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
35200 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
35201 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
35202 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
35205 2009-06-27 Pavel Roskin <proski@gnu.org>
35207 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
35209 * efiemu/prepare32.c: Likewise.
35210 * efiemu/prepare64.c: Likewise.
35212 2009-06-26 Pavel Roskin <proski@gnu.org>
35214 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
35215 * include/grub/elf.h: Define symbols without "32" or "64" based
35216 on GRUB_TARGET_WORDSIZE.
35217 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
35218 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
35220 * efiemu/loadcore64.c: Likewise.
35221 * loader/i386/bsd32.c: Likewise.
35222 * loader/i386/bsd64.c: Likewise.
35223 * kern/dl.c: Remove own ELF definitions.
35224 * util/i386/efi/grub-mkimage.c: Likewise.
35226 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
35228 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
35229 segment 0x0 unconditionally, because the reference generated by
35230 GAS is an absolute address.
35232 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35234 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
35235 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
35237 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35239 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
35240 indexes. Check for -f explicitly.
35241 (search_file): Improve error message.
35242 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
35244 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35246 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
35247 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
35249 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35251 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
35252 * conf/i386-ieee1275.rmk: Likewise.
35253 * conf/i386-coreboot.rmk: Likewise.
35255 * kern/i386/pc/startup.S (grub_stop): Remove function.
35256 * kern/i386/ieee1275/startup.S: Likewise.
35257 * kern/i386/coreboot/startup.S: Likewise.
35258 * kern/i386/misc.S (grub_stop): New function.
35260 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35262 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
35263 * kern/i386/realmode.S (real_to_prot): ... to here.
35265 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
35267 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
35269 (kernel_elf_SOURCES): Rename to ...
35270 (kernel_img_SOURCES): ... this.
35271 (kernel_elf_HEADERS): Rename to ...
35272 (kernel_img_HEADERS): ... this. Update all users.
35273 (kernel_elf_ASFLAGS): Rename to ...
35274 (kernel_img_ASFLAGS): ... this.
35275 (kernel_elf_CFLAGS): Rename to ...
35276 (kernel_img_CFLAGS): ... this.
35277 (kernel_elf_LDFLAGS): Rename to ...
35278 (kernel_img_LDFLAGS): ... this.
35279 * conf/i386-coreboot.rmk: Likewise.
35280 * conf/powerpc-ieee1275.rmk: Likewise.
35282 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
35285 2009-06-21 Pavel Roskin <proski@gnu.org>
35287 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
35288 to match nested functions.
35289 * loader/sparc64/ieee1275/linux.c: Likewise.
35291 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
35293 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35295 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
35296 all i386 platforms.
35298 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
35300 Fix asm file handling on ELF, and remove workarounds.
35302 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
35303 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
35304 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
35305 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
35307 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
35309 Load BSD ELF modules
35311 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
35312 and loader/i386/bsd64.c
35313 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
35314 (FREEBSD_MODTYPE_ELF_MODULE): New definition
35315 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
35316 (grub_freebsd_load_elfmodule32): New declaration
35317 (grub_freebsd_load_elfmoduleobj64): Likewise
35318 (grub_freebsd_load_elf_meta32): Likewise
35319 (grub_freebsd_load_elf_meta64): Likewise
35320 (grub_freebsd_add_meta): Likewise
35321 (grub_freebsd_add_meta_module): Likewise
35322 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
35323 (grub_freebsd_add_meta_module): Likewise and move module-specific
35324 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
35325 (grub_cmd_freebsd): Add elf-kernel specific parts
35326 based on grub_freebsd_add_meta_module
35327 (grub_cmd_freebsd_module): Add type parsing moved from
35328 grub_freebsd_add_meta_module
35329 (grub_cmd_freebsd_module_elf): New function
35330 (cmd_freebsd_module_elf): New variable
35331 (GRUB_MOD_INIT): Register freebsd_module_elf
35332 * loader/i386/bsd32.c: New file
35333 * loader/i386/bsd64.c: Likewise
35334 * loader/i386/bsdXX.c: Likewise
35335 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
35336 (grub_elf64_load): Likewise
35337 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
35339 (grub_elf64_load_hook_t): Likewise
35341 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
35343 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
35345 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
35346 don't write a menu entry for recovery mode.
35348 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35350 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
35351 after it's no longer needed.
35353 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
35355 * include/grub/i386/loader.h (grub_linux_prot_size)
35356 (grub_linux_tmp_addr, grub_linux_real_addr)
35357 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
35358 GRUB_MACHINE_PCBIOS.
35359 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
35360 common grub_util_info() call to ...
35361 (generate_image): ... here.
35362 Fix use of uninitialized memory, comparison of signed with
35363 unsigned integers and memory leak.
35364 Remove bogus module address message.
35366 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
35368 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
35370 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
35372 2009-06-19 Pavel Roskin <proski@gnu.org>
35374 * configure.ac: Remove stray AC_MSG_CHECKING.
35376 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
35378 * disk/scsi.c (grub_scsi_open): use continue instead of big if
35380 2009-06-18 Pavel Roskin <proski@gnu.org>
35382 * conf/common.rmk: Add fs_file.mod.
35383 * disk/fs_file.c: New file.
35384 * include/grub/disk.h (enum grub_disk_dev_id): Add
35385 GRUB_DISK_DEVICE_FILE_ID.
35387 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35389 Fix build with Apple's toolchain. Part 2
35391 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
35394 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35396 Fix build with Apple's toolchain. Part 1
35398 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
35400 * configure.ac: remove a leftover AC_MSG_RESULT
35401 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
35404 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
35408 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
35409 (decomp_block): initialize ch
35410 use grub_memcpy instead of memcpy
35412 2009-06-17 Pavel Roskin <proski@gnu.org>
35414 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
35415 version, use declarations needed to use vga_text as the startup
35418 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
35419 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
35421 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
35422 and grub_at_keyboard_fini(), it's done on module load and
35425 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
35427 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
35428 file can't be found.
35429 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
35431 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35433 Fix newline handling
35435 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
35436 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
35437 (grub_script_yylex): don't segfault on unterminated script
35438 newline terminates command and variable
35440 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
35442 avoid double grub_adjust_range call. Bug reported by David Simner
35444 * kern/disk.c (grub_disk_write): change to raw disk access before
35447 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
35449 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
35450 spaces, for the benefit of help2man.
35451 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35453 2009-06-16 Pavel Roskin <proski@gnu.org>
35455 * kern/i386/halt.c: Include grub/machine/init.h.
35456 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
35458 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
35460 * util/grub.d/30_os-prober.in: Use ${root} in the generated
35461 drivemap menuentry.
35463 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
35465 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
35468 2009-06-16 Pavel Roskin <proski@gnu.org>
35470 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
35471 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
35472 save %dx, we only need %dl and we never change it.
35473 * boot/i386/pc/cdboot.S: Don't set the root drive.
35474 * boot/i386/pc/pxeboot.S: Likewise.
35475 * include/grub/i386/pc/boot.h: Remove
35476 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
35477 GRUB_BOOT_MACHINE_DRIVE_CHECK.
35478 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
35479 * kern/i386/pc/init.c (make_install_device): Remove references
35480 to grub_root_drive.
35481 * kern/i386/pc/startup.S: Likewise.
35482 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
35484 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35488 * commands/xnu_uuid.c: new file
35489 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
35490 (xnu_uuid_mod_SOURCES): new variable
35491 (xnu_uuid_mod_CFLAGS): likewise
35492 (xnu_uuid_mod_LDFLAGS): likewise
35493 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35494 * conf/i386-ieee1275.rmk: likewise
35495 * conf/i386-pc.rmk: likewise
35496 * conf/powerpc-ieee1275.rmk: likewise
35497 * conf/sparc64-ieee1275.rmk: likewise
35498 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
35500 2009-06-16 Pavel Roskin <proski@gnu.org>
35502 * configure.ac: Avoid '==' in test command, it's not portable.
35504 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
35508 * commands/probe.c: new file
35509 * conf/common.rmk (pkglib_MODULES): add probe.mod
35510 (probe_mod_SOURCES): new variable
35511 (probe_mod_CFLAGS): likewise
35512 (probe_mod_LDFLAGS): likewise
35513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
35514 * conf/i386-ieee1275.rmk: likewise
35515 * conf/i386-pc.rmk: likewise
35516 * conf/powerpc-ieee1275.rmk: likewise
35517 * conf/sparc64-ieee1275.rmk: likewise
35519 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
35521 Fix handling of string like \"hello\" and "a
35524 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
35525 (grub_script_yylex): fix parsing of quoting, escaping and newline
35527 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
35529 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
35532 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
35534 * util/grub-mkconfig.in: Fix parsing of --output option.
35536 2009-06-12 Pavel Roskin <proski@gnu.org>
35538 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
35539 genmk.rb don't need to be generated or installed.
35541 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
35543 * commands/i386/pc/drivemap_int13h.S: add more comments
35545 2009-06-11 Pavel Roskin <proski@gnu.org>
35547 * Makefile.in (uninstall): Uninstall manuals.
35549 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
35550 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
35551 and update-grub_lib in two places.
35552 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
35554 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
35555 a compiler warning.
35557 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
35558 `entry_lo' to fix variable shadowing.
35560 2009-06-11 Christian Franke <franke@computer.org>
35562 * kern/misc.c (__enable_execute_stack): Add missing return type
35563 to prevent gcc warning.
35565 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35567 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
35569 2009-06-11 Pavel Roskin <proski@gnu.org>
35571 * Makefile.in: Don't rely on any scripts being executable.
35572 Always use $(SHELL) to run shell scripts.
35574 * configure.ac: Always define ___main if using -nostdlib. This
35575 fixes tests on Cygwin.
35577 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
35581 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
35582 is in bytes and not in blocks
35584 2009-06-11 Pavel Roskin <proski@gnu.org>
35586 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
35589 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
35591 * util/grub.d/30_os-prober.in: Fix a comment. Source
35592 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
35593 to set the root device. Place drivemap command in the generated
35596 2009-06-11 Pavel Roskin <proski@gnu.org>
35598 * configure.ac: Remove host_m32. Issues with 64-bit utilities
35599 have long been resolved.
35601 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
35603 * util/grub.d/10_linux.in: Capitalise "Linux".
35605 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
35607 2009-06-11 Pavel Roskin <proski@gnu.org>
35609 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
35610 fix a gcc warning and ensure that the function won't ever exit.
35612 * kern/i386/ieee1275/init.c: Add missing prototype for
35613 grub_stop_floppy().
35615 * loader/ieee1275/multiboot2.c [__i386__]: Include
35616 grub/cpu/multiboot.h.
35618 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
35619 casts to short - they are not portable and cause warnings. Fix
35620 use of uninitialized values in input_buf. Use ARRAY_SIZE.
35622 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
35626 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
35628 (grub_get_root_biosnumber_saved): new variable
35629 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
35630 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
35631 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
35632 %dx after the call if necessary
35633 * conf/common.rmk (pkglib_MODULES): remove boot.mod
35634 (boot_mod_SOURCES): remove
35635 (boot_mod_CFLAGS): remove
35636 (boot_mod_LDFLAGS): remove
35637 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
35638 (boot_mod_SOURCES): new variable
35639 (boot_mod_CFLAGS): likewise
35640 (boot_mod_LDFLAGS): likewise
35641 * conf/i386-efi.rmk: likewise
35642 * conf/i386-ieee1275.rmk: likewise
35643 * conf/i386-pc.rmk: likewise
35644 * conf/powerpc-ieee1275.rmk: likewise
35645 * conf/sparc64-ieee1275.rmk: likewise
35646 * conf/x86_64-efi.rmk: likewise
35647 * include/grub/i386/pc/biosnum.h: new file
35648 * lib/i386/pc/biosnum.c: likewise
35649 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
35650 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
35651 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
35653 2009-06-10 Pavel Roskin <proski@gnu.org>
35655 * io/gzio.c (test_header): Don't reuse one buffer for all data.
35656 Use separate variables. Read only the file size at the end, but
35657 not the checksum that we don't use.
35659 * kern/file.c (grub_file_read): Use void pointer for the buffer.
35660 Adjust all callers.
35662 * kern/ieee1275/openfw.c: Remove libc includes.
35663 * kern/ieee1275/cmain.c: Likewise.
35664 * include/grub/ieee1275/ieee1275.h: Likewise.
35666 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
35669 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35671 * Makefile.in: Remove all trailing whitespace.
35672 * conf/i386-pc.rmk: Likewise.
35673 * conf/powerpc-ieee1275.rmk: Likewise.
35674 * conf/sparc64-ieee1275.rmk: Likewise.
35675 * docs/grub.texi: Likewise.
35676 * docs/texinfo.tex: Likewise.
35677 * disk/fs_uuid.c: Likewise.
35678 * disk/lvm.c: Likewise.
35679 * disk/scsi.c: Likewise.
35680 * disk/ata.c: Likewise.
35681 * disk/ieee1275/ofdisk.c: Likewise.
35682 * disk/i386/pc/biosdisk.c: Likewise.
35683 * disk/host.c: Likewise.
35684 * disk/raid.c: Likewise.
35685 * disk/efi/efidisk.c: Likewise.
35686 * disk/usbms.c: Likewise.
35687 * disk/memdisk.c: Likewise.
35688 * disk/loopback.c: Likewise.
35689 * kern/powerpc/dl.c: Likewise.
35690 * kern/device.c: Likewise.
35691 * kern/dl.c: Likewise.
35692 * kern/sparc64/dl.c: Likewise.
35693 * kern/ieee1275/ieee1275.c: Likewise.
35694 * kern/term.c: Likewise.
35695 * kern/fs.c: Likewise.
35696 * kern/i386/dl.c: Likewise.
35697 * kern/i386/pc/startup.S: Likewise.
35698 * kern/i386/pc/init.c: Likewise.
35699 * kern/i386/pc/mmap.c: Likewise.
35700 * kern/i386/pc/lzo1x.S: Likewise.
35701 * kern/i386/ieee1275/init.c: Likewise.
35702 * kern/i386/realmode.S: Likewise.
35703 * kern/i386/tsc.c: Likewise.
35704 * kern/partition.c: Likewise.
35705 * kern/corecmd.c: Likewise.
35706 * kern/file.c: Likewise.
35707 * kern/efi/efi.c: Likewise.
35708 * kern/efi/init.c: Likewise.
35709 * kern/efi/mm.c: Likewise.
35710 * kern/main.c: Likewise.
35711 * kern/err.c: Likewise.
35712 * kern/env.c: Likewise.
35713 * kern/disk.c: Likewise.
35714 * kern/generic/millisleep.c: Likewise.
35715 * kern/generic/rtc_get_time_ms.c: Likewise.
35716 * kern/misc.c: Likewise.
35717 * kern/parser.c: Likewise.
35718 * genmk.rb: Likewise.
35719 * configure.ac: Likewise.
35720 * boot/i386/pc/diskboot.S: Likewise.
35721 * boot/i386/pc/pxeboot.S: Likewise.
35722 * boot/i386/pc/boot.S: Likewise.
35723 * boot/i386/pc/lnxboot.S: Likewise.
35724 * boot/i386/pc/cdboot.S: Likewise.
35725 * parttool/pcpart.c: Likewise.
35726 * video/readers/tga.c: Likewise.
35727 * video/video.c: Likewise.
35728 * video/bitmap.c: Likewise.
35729 * lib/envblk.c: Likewise.
35730 * lib/i386/setjmp.S: Likewise.
35731 * fs/xfs.c: Likewise.
35732 * fs/afs.c: Likewise.
35733 * fs/fat.c: Likewise.
35734 * fs/ntfs.c: Likewise.
35735 * fs/udf.c: Likewise.
35736 * fs/affs.c: Likewise.
35737 * fs/iso9660.c: Likewise.
35738 * fs/hfs.c: Likewise.
35739 * fs/fshelp.c: Likewise.
35740 * fs/ext2.c: Likewise.
35741 * fs/jfs.c: Likewise.
35742 * fs/reiserfs.c: Likewise.
35743 * fs/hfsplus.c: Likewise.
35744 * fs/minix.c: Likewise.
35745 * fs/cpio.c: Likewise.
35746 * fs/sfs.c: Likewise.
35747 * fs/ufs.c: Likewise.
35748 * efiemu/prepare.c: Likewise.
35749 * efiemu/loadcore_common.c: Likewise.
35750 * efiemu/runtime/efiemu.sh: Likewise.
35751 * efiemu/runtime/efiemu.S: Likewise.
35752 * efiemu/runtime/efiemu.c: Likewise.
35753 * efiemu/pnvram.c: Likewise.
35754 * efiemu/main.c: Likewise.
35755 * efiemu/i386/pc/cfgtables.c: Likewise.
35756 * efiemu/i386/loadcore64.c: Likewise.
35757 * efiemu/i386/loadcore32.c: Likewise.
35758 * efiemu/loadcore.c: Likewise.
35759 * efiemu/symbols.c: Likewise.
35760 * efiemu/mm.c: Likewise.
35761 * include/grub/autoefi.h: Likewise.
35762 * include/grub/datetime.h: Likewise.
35763 * include/grub/term.h: Likewise.
35764 * include/grub/hfs.h: Likewise.
35765 * include/grub/lvm.h: Likewise.
35766 * include/grub/i386/tsc.h: Likewise.
35767 * include/grub/i386/linux.h: Likewise.
35768 * include/grub/i386/xnu.h: Likewise.
35769 * include/grub/i386/efiemu.h: Likewise.
35770 * include/grub/i386/pc/biosdisk.h: Likewise.
35771 * include/grub/i386/pc/memory.h: Likewise.
35772 * include/grub/i386/pc/vbe.h: Likewise.
35773 * include/grub/parttool.h: Likewise.
35774 * include/grub/video.h: Likewise.
35775 * include/grub/memory.h: Likewise.
35776 * include/grub/fs.h: Likewise.
35777 * include/grub/partition.h: Likewise.
35778 * include/grub/xnu.h: Likewise.
35779 * include/grub/efi/api.h: Likewise.
35780 * include/grub/efi/pe32.h: Likewise.
35781 * include/grub/efi/memory.h: Likewise.
35782 * include/grub/multiboot.h: Likewise.
35783 * include/grub/usbdesc.h: Likewise.
35784 * include/grub/multiboot2.h: Likewise.
35785 * include/grub/acpi.h: Likewise.
35786 * include/grub/efiemu/efiemu.h: Likewise.
35787 * include/grub/disk.h: Likewise.
35788 * include/grub/ieee1275/ieee1275.h: Likewise.
35789 * include/grub/net.h: Likewise.
35790 * include/grub/machoload.h: Likewise.
35791 * include/grub/macho.h: Likewise.
35792 * include/multiboot.h: Likewise.
35793 * genmoddep.awk: Likewise.
35794 * normal/main.c: Likewise.
35795 * normal/menu_entry.c: Likewise.
35796 * normal/menu_viewer.c: Likewise.
35797 * normal/completion.c: Likewise.
35798 * normal/cmdline.c: Likewise.
35799 * normal/misc.c: Likewise.
35800 * normal/datetime.c: Likewise.
35801 * bus/usb/usbtrans.c: Likewise.
35802 * bus/usb/ohci.c: Likewise.
35803 * bus/usb/uhci.c: Likewise.
35804 * bus/usb/usb.c: Likewise.
35805 * mmap/efi/mmap.c: Likewise.
35806 * mmap/i386/pc/mmap_helper.S: Likewise.
35807 * mmap/i386/pc/mmap.c: Likewise.
35808 * mmap/i386/mmap.c: Likewise.
35809 * mmap/i386/uppermem.c: Likewise.
35810 * mmap/mmap.c: Likewise.
35811 * commands/acpi.c: Likewise.
35812 * commands/echo.c: Likewise.
35813 * commands/blocklist.c: Likewise.
35814 * commands/loadenv.c: Likewise.
35815 * commands/usbtest.c: Likewise.
35816 * commands/boot.c: Likewise.
35817 * commands/parttool.c: Likewise.
35818 * commands/search.c: Likewise.
35819 * commands/cat.c: Likewise.
35820 * commands/i386/pc/play.c: Likewise.
35821 * commands/i386/pc/drivemap.c: Likewise.
35822 * commands/i386/pc/vbeinfo.c: Likewise.
35823 * commands/i386/pc/acpi.c: Likewise.
35824 * commands/i386/pc/vbetest.c: Likewise.
35825 * commands/ls.c: Likewise.
35826 * commands/cmp.c: Likewise.
35827 * commands/test.c: Likewise.
35828 * commands/efi/acpi.c: Likewise.
35829 * commands/gptsync.c: Likewise.
35830 * commands/help.c: Likewise.
35831 * partmap/amiga.c: Likewise.
35832 * partmap/apple.c: Likewise.
35833 * partmap/acorn.c: Likewise.
35834 * partmap/pc.c: Likewise.
35835 * partmap/sun.c: Likewise.
35836 * partmap/gpt.c: Likewise.
35837 * script/sh/lexer.c: Likewise.
35838 * script/sh/function.c: Likewise.
35839 * font/font.c: Likewise.
35840 * font/font_cmd.c: Likewise.
35841 * loader/powerpc/ieee1275/linux.c: Likewise.
35842 * loader/efi/chainloader.c: Likewise.
35843 * loader/multiboot_loader.c: Likewise.
35844 * loader/macho.c: Likewise.
35845 * loader/i386/multiboot.c: Likewise.
35846 * loader/i386/linux.c: Likewise.
35847 * loader/i386/pc/linux.c: Likewise.
35848 * loader/i386/pc/multiboot2.c: Likewise.
35849 * loader/i386/pc/chainloader.c: Likewise.
35850 * loader/i386/pc/xnu.c: Likewise.
35851 * loader/i386/bsd_trampoline.S: Likewise.
35852 * loader/i386/efi/linux.c: Likewise.
35853 * loader/i386/multiboot_elfxx.c: Likewise.
35854 * loader/i386/bsd_helper.S: Likewise.
35855 * loader/i386/bsd.c: Likewise.
35856 * loader/i386/linux_trampoline.S: Likewise.
35857 * loader/i386/xnu_helper.S: Likewise.
35858 * loader/i386/xnu.c: Likewise.
35859 * loader/i386/bsd_pagetable.c: Likewise.
35860 * loader/i386/multiboot_helper.S: Likewise.
35861 * loader/xnu.c: Likewise.
35862 * loader/xnu_resume.c: Likewise.
35863 * io/gzio.c: Likewise.
35864 * term/efi/console.c: Likewise.
35865 * term/terminfo.c: Likewise.
35866 * term/ieee1275/ofconsole.c: Likewise.
35867 * term/i386/pc/serial.c: Likewise.
35868 * term/i386/pc/vesafb.c: Likewise.
35869 * term/i386/pc/vga.c: Likewise.
35870 * term/usb_keyboard.c: Likewise.
35871 * term/gfxterm.c: Likewise.
35872 * aclocal.m4: Likewise.
35873 * util/lvm.c: Likewise.
35874 * util/grub.d/30_os-prober.in: Likewise.
35875 * util/grub.d/10_hurd.in: Likewise.
35876 * util/console.c: Likewise.
35877 * util/grub-macho2img.c: Likewise.
35878 * util/grub-probe.c: Likewise.
35879 * util/hostfs.c: Likewise.
35880 * util/i386/pc/grub-mkimage.c: Likewise.
35881 * util/i386/pc/grub-setup.c: Likewise.
35882 * util/i386/efi/grub-mkimage.c: Likewise.
35883 * util/grub-mkconfig.in: Likewise.
35884 * util/raid.c: Likewise.
35885 * util/resolve.c: Likewise.
35886 * util/grub-mkdevicemap.c: Likewise.
35887 * util/grub-emu.c: Likewise.
35888 * util/getroot.c: Likewise.
35889 * util/hostdisk.c: Likewise.
35890 * util/usb.c: Likewise.
35891 * util/grub-editenv.c: Likewise.
35892 * util/misc.c: Likewise.
35894 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
35896 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
35897 `genparttoollist.sh'.
35898 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
35899 Add `*.sh' to the list find searches for and change `mdate.sh'
35902 2009-06-10 Pavel Roskin <proski@gnu.org>
35904 * include/grub/multiboot2.h: Provide compatibility defines for
35906 * include/multiboot2.h: Include stdint.h only if needed, using
35908 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
35910 * loader/ieee1275/multiboot2.c: Likewise.
35911 * loader/multiboot2.c: Likewise.
35912 * loader/multiboot_loader.c: Likewise.
35914 * configure.ac: Use -nostdlib when probing for the target. It
35915 should not be required to have libc for the target.
35917 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
35918 they fail without libc headers for the target.
35919 * include/grub/powerpc/libgcc.h: Use weak attribute for all
35921 * include/grub/sparc64/libgcc.h: Likewise. Don't use
35922 preprocessor conditionals.
35924 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
35925 build system doesn't need to be aware of the tar.c internals.
35927 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
35929 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
35931 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
35933 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
35934 disk limit to 26 for IDE, Virtio, Xen and SCSI.
35936 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
35938 * util/i386/pc/grub-install.in: Change the error message if UUIDs
35939 aren't available if ata.mod gets used.
35941 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
35943 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
35944 initialising controller.
35945 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35947 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35949 * util/i386/pc/grub-install.in: Add a parameter --disk-module
35950 to choose between ata and biosdisk module on i386-pc.
35952 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
35954 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
35955 Subclass and Programming Interface fields in terms of the 3 byte
35956 Class Code register.
35957 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
35959 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
35960 interface is OHCI. Add grub_dprintf for symmetry with
35962 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
35963 interface is UHCI. Add interf variable for programming
35964 interface. Print interface with class/subclass.
35966 * bus/usb/ohci.c: Set interf with correct field.
35968 * bus/usb/uhci.c: Remove unneeded doubled lines.
35969 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
35970 Remove whitespace inside comment.
35972 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
35974 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
35975 as fallback an equivalent option without depth.
35977 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35979 Not fail if unable to retrieve C/H/S on LBA disks
35981 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
35982 if unable to retrieve C/H/S on LBA disks
35984 2009-06-08 Pavel Roskin <proski@gnu.org>
35986 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
35989 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
35991 * Makefile.in (uninstall): Remove all $lib_DATA files.
35993 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
35995 Bugfix: install on partitionless device
35997 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
36000 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36002 * Makefile.in (uninstall): Remove all $include_DATA files.
36004 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
36006 * commands/true.c: New file. Implement the true and false commands.
36007 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
36008 (true_mod_SOURCES): New variable.
36009 (true_mod_CFLAGS): Likewise.
36010 (true_mod_LDFLAGS): Likewise.
36012 2009-06-05 Colin D Bennett <colin@gibibit.com>
36014 Optimized font character lookup using binary search instead of linear
36015 search. Fonts now are required to have the character index ordered by
36018 * font/font.c (load_font_index): Verify that fonts have ordered
36020 (find_glyph): Use binary search instead of linear search to find a
36021 character in a font.
36023 2009-06-05 Michael Scherer <misc@mandriva.org>
36025 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
36026 uses case sensitive btree.
36027 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
36028 only for case insensitive filesystems.
36030 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
36032 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
36033 * conf/common.rmk (search_mod_CFLAGS): likewise
36035 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36037 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
36038 compensate a compiler bug
36040 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36042 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
36045 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36047 Definitions for creating asm symbols with Apple's CC
36049 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
36050 [APPLE_CC] (VARIABLE): likewise
36052 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36054 Disable lnxboot.img when compiled
36057 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
36058 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
36059 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
36060 [! APPLE_CC] (CODE_LENG): skip
36061 [! APPLE_CC] (setup_sects): likewise
36062 [! APPLE_CC]: skip filling
36064 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36066 Address in trampolines based on 32-bit registers when compiled
36069 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
36071 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
36073 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36075 Avoid aliases when compiling with Apple's CC for PCBIOS machine
36077 * kern/misc.c [APPLE_CC] (memcpy): new function
36078 [APPLE_CC] (memmove): likewise
36079 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
36080 (memcpy): define alias conditionally on !APPLE_CC
36083 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
36084 APPLE_CC are defined
36085 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
36086 (grub_assert_fail): make prototype conditional
36088 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36090 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
36092 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
36094 (CLEANFILES): add grub-macho2img
36095 (grub_macho2img_SOURCES): new variable
36096 * kern/i386/pc/startup.S (bss_start): new variable
36097 (bss_end): likewise
36098 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
36099 * util/grub-macho2img.c: new file
36101 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36103 Use objconv when compiling with Apple's CC
36105 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
36106 (efiemu64.o): likewise
36107 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
36108 when compiling with Apple's CC
36109 (efiemu64_s.o): likewise
36110 * configure.ac: check for objconv when compiling with Apple's CC
36111 * genmk.rb: use objconv for modules when compiled with Apple's CC
36113 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36115 Define segment as well as section when compiling with
36118 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
36119 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
36120 (efiemu_convert_pointer): likewise
36121 (efiemu_set_virtual_address_map): likewise
36122 (efiemu_convert_pointer): likewise
36123 (efiemu_getcrc32): likewise
36124 (init_crc32_table): likewise
36125 (reflect): likewise
36126 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
36127 (GRUB_MOD_DEP): likewise
36129 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36131 Allow a compilation without -mcmodel=large
36133 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
36134 when compiled without -mcmodel=large
36135 (filter_memory_map): remove memory post 4 GiB when compiled
36136 without -mcmodel=large
36137 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
36138 TARGET_CFLAGS when -mcmodel=large isn't supported
36140 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36142 Remove nested functions in efiemu core
36144 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
36146 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36148 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
36150 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
36152 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
36154 (grub_cpu_is_tsc_supported): likewise
36155 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
36157 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36159 Absolute addressing through constant with Apple's cc
36161 * kern/i386/pc/startup.S: Define necessary constants
36162 and address through it when using ABS with Apple's CC
36163 * boot/i386/pc/diskboot.S: likewise
36164 * boot/i386/pc/boot.S: likewise
36165 * boot/i386/pc/lnxboot.S: likewise
36166 * boot/i386/pc/cdboot.S: likewise
36167 * mmap/i386/pc/mmap_helper.S: likewise
36168 * commands/i386/pc/drivemap_int13h.S: likewise
36170 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36172 Check if compiler is apple cc
36174 * Makefile.in (ASFLAGS): new variable
36175 (TARGET_ASFLAGS): likewise
36176 (TARGET_MODULE_FORMAT): likewise
36177 (TARGET_APPLE_CC): likewise
36178 (OBJCONV): likewise
36179 (TARGET_IMG_CFLAGS): likewise
36180 (TARGET_CPPFLAGS): add includedir
36181 * configure.ac: call grub_apple_cc and grub_apple_target_cc
36182 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
36183 Check for linker script only if compiler isn't Apple's CC
36184 (TARGET_MODULE_FORMAT): set
36185 (TARGET_APPLE_CC): likewise
36186 (TARGET_ASFLAGS): likewise
36187 (ASFLAGS): likewise
36188 Check for objcopy only if compiler isn't Apple's CC
36189 Check for BSS symbol only if compiler isn't Apple's CC
36190 * genmk.rb: adapt nm options if we use Apple's utils
36191 * aclocal.m4 (grub_apple_cc): new test
36192 (grub_apple_target_cc): likewise
36194 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36196 Simplify sed expressions and improve awk
36198 * Makefile.in (install-local): simplify sed expression
36199 * gencmdlist.sh: likewise
36200 * genmoddep.awk: avoid adding module as a dependency of itself
36202 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36204 Add missing start symbols
36206 * boot/i386/pc/boot.S: add start
36207 * boot/i386/pc/pxeboot.S: likewise
36209 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36211 Fix wrong assumptions with grub-mkimage on EFI
36213 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
36214 (relocate_addresses): consider both r_addend and value at offset
36215 (make_mods_section): zerofill modinfo and header
36216 (convert_elf): write prefix here
36218 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36220 Use .asciz instead of .string
36222 * i386/pc/diskboot.S: use .asciz instead of .string
36223 * i386/pc/boot.S: likewise
36224 * include/grub/dl.h (GRUB_MOD_DEP): likewise
36225 (GRUB_MOD_NAME): likewise
36227 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36231 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
36232 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
36233 (grub_video_setup): remove
36234 (grub_video_set_mode): new prototype
36235 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
36237 (linux_vesafb_res): compile only on PCBIOS
36238 (grub_linux_boot): support gfxpayload
36239 * loader/i386/pc/xnu.c (video_hook): new function
36240 (grub_xnu_set_video): support gfxpayload
36241 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
36242 (DEFAULT_VIDEO_HEIGHT): likewise
36243 (DEFAULT_VIDEO_FLAGS): likewise
36244 (DEFAULT_VIDEO_MODE): new definition
36245 (video_hook): new function
36246 (grub_gfxterm_init): use grub_video_set_mode
36247 * util/grub.d/30_os-prober.in: remove explicit modesetting before
36249 * video/video.c (grub_video_setup): removed
36250 (grub_video_set_mode): new function based on grub_gfxterm_init and
36253 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36255 Avoid calling biosdisk in drivemap
36257 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
36258 (revparse_biosdisk): likewise
36259 (list_mappings): derive name from id directly
36260 (grub_cmd_drivemap): use tryparse_diskstring
36262 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
36266 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
36267 (grub_lexer_param): add tokenonhold
36268 (grub_script_create_cmdline): remove cmdline. All callers updated
36269 (grub_script_function_create): make functionname
36270 grub_script_arg. All callers updated
36271 (grub_script_execute_argument_to_string): new prototype
36272 * kern/parser.c (state_transitions): reorder
36273 (grub_parser_cmdline_state): fix a bug and make more compact
36274 * script/sh/execute.c (grub_script_execute_argument_to_string):
36276 (grub_script_execute_cmdline): use new format
36277 * script/sh/function.c (grub_script_function_create): make functionname
36278 grub_script_arg. All callers updated
36279 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
36280 (grub_script_yylex): remove
36281 (grub_script_yylex2): renamed to ...
36282 (grub_script_yylex): ...renamed
36283 parse the expressions like a${b}c
36284 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
36285 (GRUB_PARSER_TOKEN_VAR): remove
36286 (GRUB_PARSER_TOKEN_NAME): likewise
36287 ("if"): declare as typeless
36288 ("while"): likewise
36289 ("function"): likewise
36294 (argument): likewise
36295 (script): accept empty scripts and make exit on error
36296 (arguments): use GRUB_PARSER_TOKEN_ARG
36297 (function): likewise
36298 (command): move error handling to script
36299 (menuentry): move grub_script_lexer_ref before
36300 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
36301 argument. All callers updated
36303 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36305 Prevent GRUB from probing floppies during boot.
36307 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
36308 * commands/search.c (options): Add --no-floppy.
36309 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
36310 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
36311 --no-floppy when searching for UUIDs.
36313 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
36315 Simplify the code duplication in commands/search.c.
36317 * commands/search.c (search_label, search_fs_uuid): Merge into ...
36318 (search_fs): ... this. Update all users.
36320 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
36322 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
36324 2009-05-28 Pavel Roskin <proski@gnu.org>
36326 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
36327 Remove the original symlink explicitly.
36329 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
36330 just one slash. That's how grub_fshelp_find_file() does it.
36332 2009-05-26 Pavel Roskin <proski@gnu.org>
36334 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
36337 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
36340 2009-05-25 Christian Franke <franke@computer.org>
36342 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
36344 (grub_atapi_identify): Add wait after drive select.
36345 (grub_ata_identify): Do more strict status register check before
36346 calling grub_atapi_identify (). Suppress error message if status
36347 register is 0x00 after command failure. Add status register
36348 check after PIO read to avoid bogus identify due to stuck DRQ.
36349 Thanks to Pavel Roskin for testing.
36350 (grub_device_initialize): Remove unsafe status register check.
36351 Thanks to 'phcoder' for problem report and patch.
36352 Prevent sign extension in debug message.
36354 2009-05-23 Colin D Bennett <colin@gibibit.com>
36356 Cleaned up `include/grub/normal.h'. Grouped prototypes by
36357 definition file, and functions defined in `normal/menu.c' have had
36358 their prototypes moved to `include/grub/menu.h' for consistency.
36360 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
36362 (grub_menu_get_entry): Likewise.
36363 (grub_menu_get_timeout): Likewise.
36364 (grub_menu_set_timeout): Likewise.
36365 (grub_menu_execute_entry): Likewise.
36366 (grub_menu_execute_with_fallback): Likewise.
36367 (grub_menu_entry_run): Likewise.
36369 * include/grub/normal.h: Re-ordered and grouped function
36370 prototypes by file that the function is defined in.
36371 (grub_menu_execute_callback): Removed; moved to menu.h.
36372 (grub_menu_get_entry): Likewise.
36373 (grub_menu_get_timeout): Likewise.
36374 (grub_menu_set_timeout): Likewise.
36375 (grub_menu_execute_entry): Likewise.
36376 (grub_menu_execute_with_fallback): Likewise.
36377 (grub_menu_entry_run): Likewise.
36378 (grub_menu_addentry): Renamed from this ...
36379 (grub_normal_add_menu_entry): ... to this.
36381 * normal/main.c (grub_menu_addentry): Renamed from this ...
36382 (grub_normal_add_menu_entry): ... to this.
36384 * script/sh/execute.c (grub_script_execute_menuentry): Update
36385 reference to renamed grub_menu_addentry function.
36387 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
36389 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
36391 2009-05-22 Pavel Roskin <proski@gnu.org>
36393 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
36394 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
36395 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
36396 compiling for the i386 targets, but not for the utilities.
36398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
36400 (grub_root_drive): Likewise.
36401 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
36403 (grub_root_drive): Change size to byte.
36404 (grub_start_addr): Remove.
36405 (grub_end_addr): Likewise.
36406 (grub_apm_bios_info): Likewise.
36408 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
36410 * normal/i386: Remove.
36411 * normal/powerpc: Likewise.
36412 * normal/sparc64: Likewise.
36413 * normal/x86_64: Likewise.
36415 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
36417 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
36418 * loader/i386/linux_trampoline.S: Fix indentation
36419 * loader/i386/xnu_helper.S: Likewise
36421 2009-05-18 Colin D Bennett <colin@gibibit.com>
36423 Display error messages when parsing a Lua statement fails.
36424 Previously, executing a syntactically invalid statement like
36425 ")foo" or "bar;" would silently fail.
36427 * script/lua/grub_main.c (handle_lua_error): New function.
36428 (grub_lua_parse_line): Improved reporting of Lua parser and
36431 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36433 Remove -Werror which causes build to fail on some systems
36435 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
36436 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
36437 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
36439 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
36441 trampoline for linux on 64-bit platform
36443 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
36444 loader/i386/efi/linux_trampoline.S
36445 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
36447 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
36449 * loader/i386/linux_trampoline.S: moved here
36450 * loader/i386/efi/linux.c (allocate_pages): reserve space for
36452 (jumpvector): removed
36453 (grub_linux_trampoline_start): new declaration
36454 (grub_linux_trampoline_end): likewise
36455 (grub_linux_boot): use trampoline when on 64-bit platform
36456 * loader/i386/linux.c: likewise
36458 2009-05-16 Pavel Roskin <proski@gnu.org>
36460 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
36461 const to avoid a warning.
36462 (grub_lua_setenv): Likewise.
36463 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
36464 lmsg to fix a warning.
36466 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36468 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
36469 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36470 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
36471 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36472 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36473 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36474 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
36475 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
36477 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
36479 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
36481 2009-05-16 Bean <bean123ch@gmail.com>
36483 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
36484 (lua_mod_SOURCES): New variable.
36485 (lua_mod_CFLAGS): Likewise.
36486 (lua_mod_LDFLAGS): Likewise.
36488 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
36489 (setjmp_mod_SOURCES): New variable.
36490 (setjmp_mod_CFLAGS): Likewise.
36491 (setjmp_LDFLAGS): Likewise.
36493 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
36494 (setjmp_mod_SOURCES): New variable.
36495 (setjmp_mod_CFLAGS): Likewise.
36496 (setjmp_LDFLAGS): Likewise.
36498 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36499 (setjmp_mod_SOURCES): New variable.
36500 (setjmp_mod_CFLAGS): Likewise.
36501 (setjmp_LDFLAGS): Likewise.
36503 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
36504 (setjmp_mod_SOURCES): New variable.
36505 (setjmp_mod_CFLAGS): Likewise.
36506 (setjmp_LDFLAGS): Likewise.
36508 * normal/i386/setjmp.S: Moved from here ...
36509 * lib/i386/setjmp.S: ... Moved here
36510 * normal/x86_64/setjmp.S: Moved from here ...
36511 * lib/x86_64/setjmp.S: ... Moved here
36512 * normal/powerpc/setjmp.S: Moved from here ...
36513 * lib/powerpc/setjmp.S: ... Moved here
36514 * normal/sparc64/setjmp.S: Moved from here ...
36515 * lib/sparc64/setjmp.S: ... Moved here
36517 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
36518 returns_twice in mingw.
36520 * script/lua/grub_lib.c: New file.
36521 * script/lua/grub_lib.h: Likewise.
36522 * script/lua/grub_lua.h: Likewise.
36523 * script/lua/grub_main.c: Likewise.
36524 * script/lua/lapi.c: Likewise.
36525 * script/lua/lapi.h: Likewise.
36526 * script/lua/lauxlib.c: Likewise.
36527 * script/lua/lauxlib.h: Likewise.
36528 * script/lua/lbaselib.c: Likewise.
36529 * script/lua/lcode.c: Likewise.
36530 * script/lua/lcode.h: Likewise.
36531 * script/lua/ldblib.c: Likewise.
36532 * script/lua/ldebug.c: Likewise.
36533 * script/lua/ldebug.h: Likewise.
36534 * script/lua/ldo.c: Likewise.
36535 * script/lua/ldo.h: Likewise.
36536 * script/lua/ldump.c: Likewise.
36537 * script/lua/lfunc.c: Likewise.
36538 * script/lua/lfunc.h: Likewise.
36539 * script/lua/lgc.c: Likewise.
36540 * script/lua/lgc.h: Likewise.
36541 * script/lua/linit.c: Likewise.
36542 * script/lua/liolib.c: Likewise.
36543 * script/lua/llex.c: Likewise.
36544 * script/lua/llex.h: Likewise.
36545 * script/lua/llimits.h: Likewise.
36546 * script/lua/lmathlib.c: Likewise.
36547 * script/lua/lmem.c: Likewise.
36548 * script/lua/lmem.h: Likewise.
36549 * script/lua/loadlib.c: Likewise.
36550 * script/lua/lobject.c: Likewise.
36551 * script/lua/lobject.h: Likewise.
36552 * script/lua/lopcodes.c: Likewise.
36553 * script/lua/lopcodes.h: Likewise.
36554 * script/lua/loslib.c: Likewise.
36555 * script/lua/lparser.c: Likewise.
36556 * script/lua/lparser.h: Likewise.
36557 * script/lua/lstate.c: Likewise.
36558 * script/lua/lstate.h: Likewise.
36559 * script/lua/lstring.c: Likewise.
36560 * script/lua/lstring.h: Likewise.
36561 * script/lua/lstrlib.c: Likewise.
36562 * script/lua/ltable.c: Likewise.
36563 * script/lua/ltable.h: Likewise.
36564 * script/lua/ltablib.c: Likewise.
36565 * script/lua/ltm.c: Likewise.
36566 * script/lua/ltm.h: Likewise.
36567 * script/lua/lua.h: Likewise.
36568 * script/lua/luaconf.h: Likewise.
36569 * script/lua/lualib.h: Likewise.
36570 * script/lua/lundump.c: Likewise.
36571 * script/lua/lundump.h: Likewise.
36572 * script/lua/lvm.c: Likewise.
36573 * script/lua/lvm.h: Likewise.
36574 * script/lua/lzio.c: Likewise.
36575 * script/lua/lzio.h: Likewise.
36577 2009-05-16 Bean <bean123ch@gmail.com>
36579 * include/grub/kernel.h (grub_module_header_types): Add type
36582 * kern/main.c (grub_load_config): New function.
36583 (grub_main): Call grub_load_config to read boot config.
36585 * grub-mkimage (generate_image): New parameter config_path.
36586 (options): New option --config.
36587 (main): Parse --config option, and pass it to generate_image.
36589 2009-05-14 Christian Franke <franke@computer.org>
36591 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
36592 This fixes build on Cygwin.
36594 2009-05-14 Pavel Roskin <proski@gnu.org>
36596 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
36597 jump. This saves two bytes, so the typical case of 2 swapped
36598 drives would fit 32 bytes.
36600 2009-05-13 Pavel Roskin <proski@gnu.org>
36602 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
36603 grub_uint32_t to avoid a warning.
36605 * loader/i386/linux.c (allocate_pages): When assigning
36606 real_mode_mem, cast through grub_size_t to fix a warning. The
36607 code already makes sure that the value would fit a pointer.
36608 (grub_linux_setup_video): Cast render_target->data to
36609 grub_size_t to fix a warning.
36611 2009-05-13 Javier Martín <lordhabbit@gmail.com>
36613 * commands/i386/pc/drivemap.c: New file - implement drivemap
36615 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
36616 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
36618 2009-05-13 Pavel Roskin <proski@gnu.org>
36620 * util/i386/pc/grub-setup.c (setup): Remove unused variable
36621 embedding_area_exists.
36623 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
36625 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
36626 it easier to understand / work with.
36627 Improve warning messages for cases where there's no embedding area,
36628 or when it is too small (or core.img too large).
36630 2009-05-13 Pavel Roskin <proski@gnu.org>
36632 * loader/i386/pc/multiboot2.c: Add necessary includes for
36633 grub_multiboot2_real_boot().
36635 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
36636 PX record is always little-endian. We only need the lower 2
36639 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
36640 facilitate code reuse.
36641 (grub_cpio_mount): Use "struct head", not a char buffer. This
36642 fixes a warning reported by gcc 4.4.
36644 * kernel/disk.c (grub_disk_read): Use void pointer for the
36646 (grub_disk_write): Use const void pointer for the buffer.
36647 Adjust all callers. Remove unnecessary casts.
36649 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
36651 * util/i386/pc/grub-install.in: Update copyright year.
36653 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36657 * commands/gptsync.c: new file
36658 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
36659 (gptsync_mod_SOURCES): new variable
36660 (gptsync_mod_CFLAGS): likewise
36661 (gptsync_mod_LDFLAGS): likewise
36662 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
36664 (GRUB_PC_PARTITION_TYPE_HFS): likewise
36665 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
36666 * conf/i386-ieee1275.rmk: likewise
36667 * conf/i386-pc.rmk: likewise
36668 * conf/powerpc-ieee1275.rmk: likewise
36670 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
36674 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
36675 (grub_dl_ref): likewise
36677 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
36679 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
36680 split in two functions (one for msdos and one for gpt).
36682 2009-05-08 Pavel Roskin <proski@gnu.org>
36684 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
36687 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
36688 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
36689 Initialize them with -1. Add sanity check for bad1. Eliminate
36692 2009-05-08 David S. Miller <davem@davemloft.net>
36694 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
36696 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
36698 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
36701 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
36703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36704 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
36706 2009-05-05 David S. Miller <davem@davemloft.net>
36708 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
36710 2009-05-05 Pavel Roskin <proski@gnu.org>
36712 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
36713 of grub_dl_ref() and grub_dl_unref().
36714 * commands/parttool.c: Remove preprocessor conditionals around
36715 grub_dl_ref() and grub_dl_unref().
36716 * fs/affs.c: Likewise.
36717 * fs/afs.c: Likewise.
36718 * fs/cpio.c: Likewise.
36719 * fs/ext2.c: Likewise.
36720 * fs/fat.c: Likewise.
36721 * fs/hfs.c: Likewise.
36722 * fs/hfsplus.c: Likewise.
36723 * fs/iso9660.c: Likewise.
36724 * fs/jfs.c: Likewise.
36725 * fs/minix.c: Likewise.
36726 * fs/ntfs.c: Likewise.
36727 * fs/reiserfs.c: Likewise.
36728 * fs/sfs.c: Likewise.
36729 * fs/udf.c: Likewise.
36730 * fs/ufs.c: Likewise.
36731 * fs/xfs.c: Likewise.
36732 * include/grub/dl.h: Likewise.
36733 * loader/xnu.c: Likewise.
36735 2009-05-04 Pavel Roskin <proski@gnu.org>
36737 * commands/acpi.c: Remove unused variable my_mod.
36738 * partmap/amiga.c: Likewise.
36739 * partmap/apple.c: Likewise.
36740 * partmap/gpt.c: Likewise.
36741 * partmap/pc.c: Likewise.
36742 * partmap/sun.c: Likewise.
36743 * term/gfxterm.c: Likewise.
36744 * term/i386/pc/vesafb.c: Likewise.
36745 * term/i386/pc/vga.c: Likewise.
36747 2009-05-04 David S. Miller <davem@davemloft.net>
36749 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
36750 pointer args to grub_ieee1275_get_property().
36752 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
36754 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
36755 devices, and do not traverse down under controller nodes.
36757 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
36758 (grub_ofdisk_open): Use it to un-escape "," characters.
36759 * kern/disk.c (find_part_sep): New.
36760 (grub_disk_open): Use it to find the first non-escaped ','
36761 character in the disk name.
36762 * util/ieee1275/devicemap.c (escape_of_path): New.
36763 (grub_util_emit_devicemap_entry): Use it.
36764 * util/sparc64/ieee1275/grub-install.in: Update script to
36765 strip partition specifiers properly by not triggering on
36766 '\' escaped ',' characters.
36768 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36770 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
36772 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
36774 (linux_vesafb_modes): Add a lot of additional modes to the list (based
36775 on documentation from Wikipedia).
36777 2009-05-04 Pavel Roskin <proski@gnu.org>
36779 * disk/ata.c: Spelling fixes.
36780 * disk/raid.c: Likewise.
36781 * disk/usbms.c: Likewise.
36782 * disk/dmraid_nvidia.c: Likewise.
36783 * kern/ieee1275/openfw.c: Likewise.
36784 * kern/ieee1275/init.c: Likewise.
36785 * kern/ieee1275/cmain.c: Likewise.
36786 * boot/i386/pc/cdboot.S: Likewise.
36787 * video/readers/png.c: Likewise.
36788 * video/i386/pc/vbe.c: Likewise.
36789 * fs/udf.c: Likewise.
36790 * fs/hfs.c: Likewise.
36791 * fs/reiserfs.c: Likewise.
36792 * efiemu/runtime/efiemu.c: Likewise.
36793 * efiemu/main.c: Likewise.
36794 * efiemu/mm.c: Likewise.
36795 * include/grub/elf.h: Likewise.
36796 * include/grub/xnu.h: Likewise.
36797 * include/grub/usbdesc.h: Likewise.
36798 * include/grub/usb.h: Likewise.
36799 * include/grub/script_sh.h: Likewise.
36800 * include/grub/lib/LzmaEnc.h: Likewise.
36801 * include/grub/efiemu/efiemu.h: Likewise.
36802 * include/grub/command.h: Likewise.
36803 * normal/menu.c: Likewise.
36804 * normal/main.c: Likewise.
36805 * normal/datetime.c: Likewise.
36806 * bus/usb/uhci.c: Likewise.
36807 * mmap/i386/uppermem.c: Likewise.
36808 * mmap/mmap.c: Likewise.
36809 * commands/acpi.c: Likewise.
36810 * commands/test.c: Likewise.
36811 * partmap/apple.c: Likewise.
36812 * font/font.c: Likewise.
36813 * loader/sparc64/ieee1275/linux.c: Likewise.
36814 * loader/macho.c: Likewise.
36815 * loader/i386/bsd_trampoline.S: Likewise.
36816 * loader/i386/bsd.c: Likewise.
36817 * loader/xnu.c: Likewise.
36818 * term/i386/pc/vesafb.c: Likewise.
36819 * term/usb_keyboard.c: Likewise.
36820 * util/resolve.c: Likewise.
36821 * util/getroot.c: Likewise.
36823 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
36825 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
36827 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36829 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
36832 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36834 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
36835 parameter only available on BIOS.
36837 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36839 Removed wrong semicolon in declaration
36841 * grub/misc.h (grub_dprintf): remove semicolon
36843 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36845 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
36846 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
36847 is done by grub_cmd_linux() now).
36848 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
36849 restore video to text mode.
36850 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
36851 indicates lack of "vga=" parameter. "vga=0" is mapped to
36852 `GRUB_LINUX_VID_MODE_NORMAL'.
36854 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
36856 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
36857 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
36858 and `normal/script.c'. Add `kern/rescue_reader.c',
36859 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
36860 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
36861 `grub_script.tab.c'.
36863 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36864 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
36865 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36866 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
36867 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36869 * Makefile.in: Remove duplicated 2008 in Copyright line.
36871 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
36873 * util/misc.c (grub_util_warn): New function. Emits a warning
36875 * include/grub/util/misc.h (grub_util_warn): New declaration.
36877 * util/i386/pc/grub-install.in: Understand --force and pass it down
36880 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
36882 (setup): Improve error messages and add warnings when requested to
36883 install in odd layouts. Refuse to install using blocklists unless
36886 2009-05-04 martin f. krafft <madduck@madduck.net>
36888 * disk/raid.c (grub_raid_scan_device): Improve debug message.
36890 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36892 Updated copyright year
36894 * fs/hfsplus.c: updated copyright year
36896 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
36900 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
36901 in the space previously used by unused3
36902 (grub_hfsplus_uuid): new function
36903 (grub_hfsplus_fs): added uuid field
36905 2009-05-03 Pavel Roskin <proski@gnu.org>
36907 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
36908 suppress warnings. It's no longer needed.
36909 * disk/host.c: Likewise.
36910 * disk/ata_pthru.c: Likewise.
36911 * disk/loopback.c: Likewise.
36912 * hook/datehook.c: Likewise.
36913 * parttool/pcpart.c: Likewise.
36914 * fs/i386/pc/pxe.c: Likewise.
36915 * fs/ntfscomp.c: Likewise.
36916 * efiemu/main.c: Likewise.
36917 * mmap/mmap.c: Likewise.
36918 * commands/crc.c: Likewise.
36919 * commands/hexdump.c: Likewise.
36920 * commands/hdparm.c: Likewise.
36921 * commands/acpi.c: Likewise.
36922 * commands/echo.c: Likewise.
36923 * commands/minicmd.c: Likewise.
36924 * commands/blocklist.c: Likewise.
36925 * commands/memrw.c: Likewise.
36926 * commands/loadenv.c: Likewise.
36927 * commands/usbtest.c: Likewise.
36928 * commands/lsmmap.c: Likewise.
36929 * commands/boot.c: Likewise.
36930 * commands/parttool.c: Likewise.
36931 * commands/configfile.c: Likewise.
36932 * commands/search.c: Likewise.
36933 * commands/ieee1275/suspend.c: Likewise.
36934 * commands/cat.c: Likewise.
36935 * commands/i386/pc/pxecmd.c: Likewise.
36936 * commands/i386/pc/play.c: Likewise.
36937 * commands/i386/pc/halt.c: Likewise.
36938 * commands/i386/pc/vbeinfo.c: Likewise.
36939 * commands/i386/pc/vbetest.c: Likewise.
36940 * commands/lspci.c: Likewise.
36941 * commands/date.c: Likewise.
36942 * commands/handler.c: Likewise.
36943 * commands/ls.c: Likewise.
36944 * commands/test.c: Likewise.
36945 * commands/cmp.c: Likewise.
36946 * commands/efi/loadbios.c: Likewise.
36947 * commands/efi/fixvideo.c: Likewise.
36948 * commands/halt.c: Likewise.
36949 * commands/help.c: Likewise.
36950 * commands/reboot.c: Likewise.
36951 * hello/hello.c: Likewise.
36952 * script/sh/main.c: Likewise.
36953 * loader/xnu.c: Likewise.
36954 * term/terminfo.c: Likewise.
36955 * term/i386/pc/serial.c: Likewise.
36956 * term/usb_keyboard.c: Likewise.
36958 2009-05-03 David S. Miller <davem@davemloft.net>
36960 * normal/menu.c: Include grub/parser.h
36962 2009-05-03 Pavel Roskin <proski@gnu.org>
36964 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
36966 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
36967 Suggested by Javier Martín <lordhabbit@gmail.com>
36969 * util/i386/pc/grub-mkrescue.in: Allow for the case when
36970 efiemu??.o doesn't exist.
36971 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
36974 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
36976 FreeBSD 64-bit support
36978 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
36979 and loader/i386/bsd_trampoline.S
36980 (bsd_mod_ASFLAGS): new variable
36981 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
36982 (FREEBSD_MODTYPE_KERNEL64): likewise
36983 (grub_bsd64_trampoline_start): likewise
36984 (grub_bsd64_trampoline_end): likewise
36985 (grub_bsd64_trampoline_selfjump): likewise
36986 (grub_bsd64_trampoline_gdt): likewise
36987 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
36988 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
36989 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
36990 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
36991 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
36993 * loader/i386/bsd_pagetable.c: new file
36994 * loader/i386/bsd_trampoline.S: likewise
36995 * loader/i386/bsd.c (ALIGN_QWORD): new macro
36996 (ALIGN_VAR): likewise
36997 (entry_hi): new variable
36998 (kern_end_mdofs): likewise
36999 (is_64bit): likewise
37000 (grub_freebsd_add_meta): use ALIGN_VAR
37001 (grub_e820_mmap): new declaration
37002 (grub_freebsd_add_mmap): new function
37003 (grub_freebsd_add_meta_module): support 64 bit kernels
37004 (grub_freebsd_list_modules): use ALIGN_VAR
37005 (gdt_descriptor): new declaration
37006 (grub_freebsd_boot): support 64 bit kernels
37007 (grub_bsd_elf64_hook): new function
37008 (grub_bsd_load_elf): support elf64
37010 2009-05-03 Bean <bean123ch@gmail.com>
37012 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
37013 after we get the result of if statement.
37015 2009-05-03 Bean <bean123ch@gmail.com>
37017 * Makefile.in (enable_efiemu): New variable.
37019 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
37021 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
37023 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
37024 path, add -mno-red-zone option.
37025 (efiemu64_s.o): Likewise.
37026 (efiemu64.o): Use macro $^ for source file.
37028 * configure.ac (--enable-efiemu): New option.
37030 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
37034 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
37035 (pkglib_MODULES): add xnu.mod
37036 (xnu_mod_SOURCES): new variable
37037 (xnu_mod_CFLAGS): likewise
37038 (xnu_mod_LDFLAGS): likewise
37039 (xnu_mod_ASFLAGS): likewise
37040 * conf/i386-pc.rmk: likewise
37041 * conf/x86_64-efi.rmk: likewise
37042 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
37044 * include/grub/i386/macho.h: new file
37045 * include/grub/i386/xnu.h: likewise
37046 * include/grub/macho.h: likewise
37047 * include/grub/machoload.h: likewise
37048 * include/grub/x86_64/macho.h: likewise
37049 * include/grub/x86_64/xnu.h: likewise
37050 * include/grub/xnu.h: likewise
37051 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
37052 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
37053 * loader/i386/efi/xnu.c: new file
37054 * loader/i386/pc/xnu.c: likewise
37055 * loader/i386/xnu.c: likewise
37056 * loader/i386/xnu_helper.S: likewise
37057 * loader/macho.c: likewise
37058 * loader/xnu.c: likewise
37059 * loader/xnu_resume.c: likewise
37060 * util/grub-dumpdevtree: likewise
37061 * include/grub/i386/pit.h: include grub/err.h
37062 (grub_pit_wait): export
37063 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
37065 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37069 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
37070 _linux_efi, linux_efi.
37071 new files in grub-emu
37072 new targets efiemu32.o and efiemu64.o
37073 * loader/linux_normal_efiemu.c: likewise
37074 * loader/i386/efi/linux.c: added preliminary efiemu support
37075 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
37077 * include/grub/autoefi.h: new file
37078 * include/grub/i386/efiemu.h: likewise
37079 * include/grub/i386/pc/efiemu.h: likewise
37080 * include/grub/efi/api.h: add LL suffix when necessary
37081 new definitions relating to tables
37082 * include/grub/efiemu/efiemu.h: new file
37083 * include/grub/efiemu/runtime.h: likewise
37084 * efiemu/prepare.c: likewise
37085 * efiemu/loadcore_common.c: likewise
37086 * efiemu/loadcore64.c: likewise
37087 * efiemu/runtime/efiemu.sh: likewise
37088 * efiemu/runtime/efiemu.S: likewise
37089 * efiemu/runtime/efiemu.c: likewise
37090 * efiemu/runtime/config.h: likewise
37091 * efiemu/prepare32.c: likewise
37092 * efiemu/main.c: likewise
37093 * efiemu/modules/pnvram.c: likewise
37094 * efiemu/modules/i386: likewise
37095 * efiemu/modules/i386/pc: likewise
37096 * efiemu/modules/acpi.c: likewise
37097 * efiemu/i386/pc/cfgtables.c: likewise
37098 * efiemu/i386/loadcore64.c: likewise
37099 * efiemu/i386/loadcore32.c: likewise
37100 * efiemu/prepare64.c: likewise
37101 * efiemu/loadcore.c: likewise
37102 * efiemu/symbols.c: likewise
37103 * efiemu/mm.c: likewise
37104 * efiemu/loadcore32.c: likewise
37106 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37110 * commands/acpi.c: new file
37111 * commands/i386/pc/acpi.c: likewise
37112 * commands/efi/acpi.c: likewise
37113 * include/grub/acpi.h: likewise
37114 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
37115 (acpi_mod_SOURCES): new variable
37116 (acpi_mod_CFLAGS): likewise
37117 (acpi_mod_LDFLAGS): likewise
37118 * conf/i386-efi.rmk: likewise
37119 * conf/x86_64-efi.rmk: likewise
37121 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37123 Missing part from mmap patch
37125 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
37126 (grub_mmap_unregister)
37127 (grub_mmap_free_and_unregister): use grub_mmap_register
37129 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37133 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
37134 * loader/i386/linux.c (find_mmap_size): likewise
37135 (allocate_pages): likewise
37136 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
37137 (grub_fill_multiboot_mmap): likewise
37138 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
37139 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
37140 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
37141 (OPENBSD_MMAP_RESERVED): likewise
37142 * include/grub/i386/pc/memory.h: include grub/memory.h
37143 (grub_lower_mem): removed
37144 (grub_upper_mem): likewise
37145 (GRUB_MACHINE_MEMORY_ACPI): new definition
37146 (GRUB_MACHINE_MEMORY_NVS): likewise
37147 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
37148 (GRUB_MACHINE_MEMORY_HOLE): likewise
37149 (grub_machine_mmap_register): likewise
37150 (grub_machine_mmap_unregister): likewise
37151 (grub_machine_get_upper): likewise
37152 (grub_machine_get_lower): likewise
37153 (grub_machine_get_post64): likewise
37154 * include/grub/i386/efi/memory.h: new file
37155 * include/grub/x86_64/efi/memory.h: likewise
37156 * include/grub/efi/memory.h: likewise
37157 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
37158 (mmap_mod_SOURCES): new variable
37159 (mmap_mod_LDFLAGS): likewise
37160 (mmap_mod_ASFLAGS): likewise
37161 * conf/i386-coreboot.rmk: likewise
37162 * conf/i386-ieee1275.rmk: likewise
37163 * conf/i386-efi.rmk: likewise
37164 * conf/x86_64-efi.rmk: likewise
37165 * include/grub/types.h (UINT_TO_PTR): new macro
37166 (PTR_TO_UINT32): likewise
37167 (PTR_TO_UINT64): likewise
37168 * include/grub/memory.h: new file
37169 * mmap/i386/pc/mmap.c: likewise
37170 * mmap/i386/pc/mmap_helper.S: likewise
37171 * mmap/i386/uppermem.c: likewise
37172 * mmap/mmap.c: likewise
37173 * mmap/efi/mmap.c: likewise
37174 * kern/i386/coreboot/init.c (grub_machine_init): don't use
37176 * kern/i386/pc/init.c (grub_lower_mem): removed variable
37177 (grub_upper_mem): likewise
37178 (grub_machine_init): don't use grub_upper_mem,
37179 make grub_lower_mem local
37180 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
37181 grub_mmap_iterate and grub_mmap_get_upper
37182 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
37184 2009-05-02 Bean <bean123ch@gmail.com>
37186 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
37187 script/sh/parser.y.
37188 (pkglib_MODULES): Add normal.mod and sh.mod.
37189 (normal_SOURCES): New variable.
37190 (normal_mod_CFLAGS): Likewise.
37191 (normal_mod_LDFLAGS): Likewise.
37192 (sh_mod_SOURCES): Likewise.
37193 (sh_mod_CFLAGS): Likewise.
37194 (sh_mod_LDFLAGS): Likewise.
37196 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
37197 script/sh/lexer.c_DEPENDENCIES.
37198 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
37199 kern/rescue_reader.c and kern/rescue_parser.c.
37200 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
37201 (grub_emu_SOURCES): Change source files.
37202 (pkglib_MODULES): Remove normal.mod.
37203 (normal_SOURCES): Removed.
37204 (normal_mod_CFLAGS): Likewise.
37205 (normal_mod_LDFLAGS): Likewise.
37206 * conf/i386-coreboot.rmk: Likewise.
37207 * conf/i386-efi.rmk: Likewise.
37208 * conf/i386-ieee1276.rmk: Likewise.
37209 * conf/powerpc-ieee1275.rmk: Likewise.
37210 * conf/sparc64-ieee1275.rmk: Likewise.
37211 * conf/x86_64-efi.rmk: Likewise.
37213 * include/grub/command.h (grub_command_execute): New inline function.
37215 * include/grub/menu.h (grub_menu_entry): Removed commands field.
37217 * include/grub/normal.h: Remove <grub/setjmp.h>.
37218 (grub_fs_module_list): Moved to normal/autofs.c.
37219 (grub_exit_env): Removed.
37220 (grub_command_execute): Likewise.
37221 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
37223 (read_command_list): New function declaration.
37224 (read_fs_list): Likewise.
37226 * include/parser.h: Include <grub/reader.h>.
37227 (grub_parser_split_cmdline): Change type of getline parameter.
37228 (grub_parser): New structure.
37229 (grub_parser_class): New variable.
37230 (grub_parser_execute): New function declaration.
37231 (grub_register_rescue_parser): Likewise.
37232 (grub_parser_register): New inline function.
37233 (grub_parser_unregister): Likewise.
37234 (grub_parser_get_current): Likewise.
37235 (grub_parser_set_current): Likewise.
37237 * include/grub/reader.h: New file.
37238 * kern/reader.c: Likewise.
37239 * kern/rescue_parser.c: Likewise.
37240 * kern/rescue_reader.c: Likewise.
37241 * normal/autofs.c: Likewise.
37242 * normal/dyncmd.c: Likewise.
37244 * include/grub/rescue.h: Removed.
37245 * normal/command.h: Likewise.
37247 * include/grub/script.h: Moved to ...
37248 * include/grub/script_sh.h: ... Moved here.
37249 * normal/execute.c: Moved to ...
37250 * script/sh/execute.c: ... Moved here.
37251 * normal/function.c: Moved to ...
37252 * script/sh/function.c: ... Moved here.
37253 * normal/lexer.c: Moved to ...
37254 * script/sh/lexer.c: ... Moved here.
37255 * normal/parser.y: Moved to ...
37256 * script/sh/parser.y: ... Moved here.
37257 * normal/script.c: Moved to ...
37258 * script/sh/script.c: ... Moved here.
37260 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
37262 (grub_exit_env): Removed.
37263 (fs_module_list): Moved to normal/autofs.c.
37264 (grub_file_getline): Don't handle comment here.
37265 (free_menu): Skip removed field entry->commands.
37266 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
37268 (read_config_file): Removed nested parameter, change getline function.
37269 (grub_enter_normal_mode): Removed.
37270 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
37271 (read_command_list): Likewise.
37272 (autoload_fs_module): Moved to normal/autofs.c.
37273 (read_fs_list): Likewise.
37274 (reader_nested): New variable.
37275 (grub_normal_execute): Run parser.sh to switch to sh parser.
37276 (grub_cmd_rescue): Removed.
37277 (cmd_normal): Removed.
37278 (grub_cmd_normal): Unregister itself at the beginning. Don't register
37280 (grub_cmdline_run): New function.
37281 (grub_normal_reader_init): Likewise.
37282 (grub_normal_read_line): Likewise.
37283 (grub_env_write_pager): Likewise.
37284 (cmdline): New variable.
37285 (grub_normal_reader): Likewise.
37286 (GRUB_MOD_INIT): Register normal reader and set as current, register
37287 pager hook, register normal command with grub_register_command_prio,
37288 so that it won't show up in command.lst.
37289 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
37290 grub_fs_autoload_hook.
37292 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
37293 (grub_menu_execute_entry): Replace grub_script_execute with
37294 grub_parser_execute, change parameter to grub_command_execute.
37296 * normal/menu_text.c: Remove <grub/script.h>.
37298 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
37299 and <grub/parser.h>.
37300 (run): Change editor_getline to use new parser interface. Change
37301 parameter to grub_command_execute.
37303 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
37304 <grub/reader.h> and <grub/parser.h>.
37305 (grub_load_normal_mode): Execute normal command.
37306 (grub_main): Call grub_register_core_commands,
37307 grub_register_rescue_parser and grub_register_rescue_reader, use
37308 grub_reader_loop to enter input loop.
37310 * kern/parser.c (grub_parser_split_cmdline): Change type of
37312 (grub_parser_class): New variable.
37313 (grub_parser_execute): New function.
37315 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
37316 * loader/multiboot2.c: Likewise.
37317 * loader/sparc64/ieee1275/linux.c: Likewise.
37319 * util/grub-emu.c (read_command_list): New dummy function.
37321 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37323 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
37324 count to 16 for CCISS and IDA.
37326 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
37328 * normal/menu_text.c (grub_wait_after_message): Print a newline
37329 after waiting for user input.
37331 * loader/i386/linux.c: Include `<grub/normal.h>'.
37332 (grub_cmd_linux): Improve the error message about `ask' mode, by
37333 waiting for user input so it's not missed (we can do this, since
37334 user requested interaction).
37336 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
37338 Added missing lst to grub-mkrescue
37340 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
37341 and ${input_dir}/parttool.lst
37343 2009-04-30 David S. Miller <davem@davemloft.net>
37345 * util/hostdisk.c (device_is_wholedisk): New function.
37346 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
37347 zero only if device_is_wholedisk() returns true.
37349 * util/hostdisk.c (convert_system_partition_to_system_disk):
37350 Handle virtual disk devices named /dev/vdiskX as found on sparc
37353 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
37354 lettered partition specifier is found, convert to numbered.
37356 2009-04-29 David S. Miller <davem@davemloft.net>
37358 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
37359 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37361 * normal/command.c: Add missing newline at end of file.
37363 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
37365 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
37366 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
37367 grub_ofdisk_read): Likewise, and deal similarly with the fact that
37368 ihandles have a 32-bit type but need to be stored in a "void *".
37370 2009-04-28 Pavel Roskin <proski@gnu.org>
37372 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
37373 not disk. Adjust all dependencies.
37374 (grub_fs_uuid_close): Use grub_device_close(), not
37377 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
37378 parent's partition, don't copy it by reference, as it gets freed
37381 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37383 Preboot hooks support
37385 * commands/boot.c (struct grub_preboot_t): new declaration
37386 (preboots_head): new variable
37387 (preboots_tail): likewise
37388 (grub_loader_register_preboot_hook): new function
37389 (grub_loader_unregister_preboot_hook): likewise
37390 (grub_loader_set): launch preboot hooks
37391 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
37392 (grub_loader_register_preboot_hook): new declaration
37393 (grub_loader_unregister_preboot_hook): likewise
37395 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
37399 * disk/scsi.c (grub_scsi_open): added missing cast when
37400 calling grub_dprintf
37402 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
37404 Bug and warning fixes
37406 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
37408 * commands/test.c (test_parse): fixed bug with file tests and corrected
37409 declaration of find_file
37411 2009-04-26 Pavel Roskin <proski@gnu.org>
37413 * Makefile.in: Don't install empty manual pages if help2man is
37414 missing. Use help2man option for output, not shell redirection.
37416 2009-04-26 David S. Miller <davem@davemloft.net>
37418 * util/grub-mkdevicemap.c (make_device_map): Add missing
37419 NESTED_FUNC_ATTR to process_device().
37421 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37425 * commands/test.c: rewritten to use bash-like test
37427 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
37429 Parttool autoloading and improvements
37431 * Makefile.in (pkglib_DATA): add parttool.lst
37432 (parttool.lst): new target
37433 * genmk.rb: generate parttool-*
37434 (CLEANFILES): add #{parttool}
37435 (PARTTOOLFILES): new variable
37436 * genparttoollist.sh: new file
37437 * parttool/pcpart.c (grub_pcpart_boot): more feedback
37438 (grub_pcpart_type): likewise
37439 * commands/parttool.c (helpmsg): new variable
37440 (grub_cmd_parttool): output help if not enough arguments are supplied
37442 (GRUB_MOD_INIT(parttool)): use helpmsg
37444 2009-04-24 David S. Miller <davem@davemloft.net>
37446 Avoiding opening same device multiple times in device iterator.
37448 * kern/device.c: (grub_device_iterate): Define struct part_ent,
37449 and use it to build a list of partitions in iterate_disk() and
37450 iterate_partition().
37452 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
37455 * disk/ieee1275/nand.c (grub_nand_iterate): Return
37456 grub_devalias_iterate() result instead of unconditional 0.
37457 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
37458 Also, capture hook return value, either directly or via
37459 grub_children_iterate(), and propagate to caller.
37460 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
37461 grub_children_iterate): Return value is now 'int' instead of
37463 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
37464 like a proper iterator, stopping when hooks return non-zero.
37465 (grub_devalias_iterate): Likewise.
37467 2009-04-23 David S. Miller <davem@davemloft.net>
37469 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
37471 2009-04-22 David S. Miller <davem@davemloft.net>
37473 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
37474 is larger than address_cells, use that value for address_cells too.
37476 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
37477 IEEE1275_MAX_PATH_LEN): Define.
37478 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
37479 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
37480 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
37481 'devtype'. Explicitly NULL terminate devalias expansion.
37483 * util/sparc64/ieee1275/misc.c: New file.
37484 * util/sparc64/ieee1275/grub-setup.c: New file.
37485 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
37486 * util/sparc64/ieee1275/grub-mkimage.c: New file.
37487 * util/sparc64/ieee1275/grub-install.in: New file.
37488 * util/ieee1275/ofpath.c: New file.
37489 * util/ieee1275/devicemap.c: New file.
37490 * util/devicemap.c: New file.
37491 * util/deviceiter.c: New file.
37492 * kern/sparc64/ieee1275/init.c: New file.
37493 * include/grub/util/ofpath.h: New file.
37494 * include/grub/util/deviceiter.h: New file.
37495 * util/grub-mkdevicemap.c: Include deviceiter.h.
37496 Implement using grub_util_emit_devicemap_entry and
37497 grub_util_iterate_devices.
37498 * conf/i386-corebook.rmk: Build util/deviceiter.c and
37499 util/devicemap.c into grub-mkdevicemap
37500 * conf/i386-efi.rmk: Likewise.
37501 * conf/i386-ieee1275.rmk: Likewise.
37502 * conf/i386-pc.rmk: Likewise.
37503 * conf/powerpc-ieee1275.rmk: Likewise.
37504 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
37505 images and installation utilities. Build kernel as image
37506 instead of as elf binary. Use common rules as much as possible.
37508 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
37510 Correct GPT definition
37512 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
37515 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
37517 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
37519 2009-04-19 David S. Miller <davem@davemloft.net>
37521 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
37522 (grub_rescue_cmd_linux): Rename to...
37523 (grub_cmd_linux): and fix prototype.
37524 (grub_rescue_cmd_initrd): Rename to...
37525 (grub_cmd_initrd): and fix prototype.
37526 (cmd_linux, cmd_initrd): New.
37527 (GRUB_MOD_INIT(linux)): Use grub_register_command().
37528 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
37530 2009-04-17 Pavel Roskin <proski@gnu.org>
37532 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
37534 (grub_ohci_transfer): Likewise.
37536 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
37538 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
37539 return without a value. Fix inconsistent indentation.
37541 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
37542 match struct grub_fs.
37544 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
37545 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
37546 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
37547 * commands/lspci.c (grub_lspci_iter): Likewise.
37549 2009-04-16 Bean <bean123ch@gmail.com>
37551 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
37554 2009-04-15 Pavel Roskin <proski@gnu.org>
37556 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
37557 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
37558 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
37561 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37563 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
37564 that no multiple data or metadata areas are supported and `Unknown
37567 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37569 Move loader out of the kernel
37571 * kern/loader.c: moved to ...
37572 * commands/boot.c: ... moved here
37573 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
37574 * commands/boot.c (grub_cmd_boot): moved here. All users updated
37575 * include/grub/kernel.h (grub_machine_fini): export
37576 * include/grub/loader.h (grub_loader_is_loaded): update declaration
37577 (grub_loader_set): likewise
37578 (grub_loader_unset): likewise
37579 (grub_loader_boot): likewise
37580 * conf/common.rmk: new module boot.mod
37581 (pkglib_MODULES): add boot.mod
37582 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
37583 (grub_emu_SOURCES): likewise
37584 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
37585 (grub_emu_SOURCES): likewise
37586 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
37587 (grub_emu_SOURCES): likewise
37588 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
37589 (grub_emu_SOURCES): likewise
37590 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
37591 (grub_emu_SOURCES): likewise
37592 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
37593 (grub_emu_SOURCES): likewise
37594 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
37595 (grub_emu_SOURCES): likewise
37597 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37599 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
37601 * kern/misc.c (grub_itoa): Removed function
37602 (grub_ltoa): likewise
37603 (grub_vsprintf): use grub_lltoa
37605 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
37609 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
37610 * conf/i386-coreboot.rmk: likewise
37611 * conf/i386-ieee1275.rmk: likewise
37612 * conf/powerpc-ieee1275.rmk: likewise
37614 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
37616 * INSTALL: Add that `./autogen.sh' needs to be run before
37619 2009-04-14 Bean <bean123ch@gmail.com>
37621 * Makefile.in (pkglib_DATA): Add handler.lst.
37622 (handler.lst): New rule.
37624 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
37625 * conf/i386-coreboot.rmk: Likewise.
37626 * conf/i386-ieee1275.rmk: Likewise.
37627 * conf/i386-efi.rmk: Likewise.
37628 * conf/x86_64-efi.rmk: Likewise.
37629 * conf/powerpc-ieee1275.rmk: Likewise.
37630 * conf/sparc64-ieee1275.rmk: Likewise.
37632 * genhandlerlist.sh: New file.
37634 * genmk.rb: Add rules to generate handler.lst.
37636 * include/grub/normal.h (grub_file_getline): New function definition.
37637 (read_handler_list): Likewise.
37638 (free_handler_list): Likewise.
37640 * include/grub/term.h (grub_term_register_input): Add name parameter
37641 for auto generation of handler.lst.
37642 (grub_term_register_output): Likewise.
37644 * normal/handler.c: New file.
37646 * normal/main.c (get_line): Renamed to grub_file_getline.
37647 (read_config_file): Use the newly renamed grub_file_getline.
37648 (read_command_list): Likewise.
37649 (read_fs_list): Likewise.
37650 (grub_normal_execute): Call read_handler_list to parse handler.lst.
37651 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
37653 * term/efi/console.c (grub_console_init): Add name parameter for auto
37654 generation of handler.lst.
37655 * term/gfxterm.c: Likewise.
37656 * term/i386/pc/at_keyboard.c: Likewise.
37657 * term/i386/pc/console.c: Likewise.
37658 * term/i386/pc/serial.c: Likewise.
37659 * term/i386/pc/vesafb.c: Likewise.
37660 * term/i386/pc/vga.c: Likewise.
37661 * term/i386/pc/vga_text.c: Likewise.
37662 * term/ieee1275/ofconsole.c: Likewise.
37663 * term/usb_keyboard.c: Likewise.
37665 2009-04-14 Bean <bean123ch@gmail.com>
37667 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
37668 properly with null character.
37670 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37672 * configure: Remove.
37673 * config.h.in: Likewise.
37674 * stamp-h.in: Likewise.
37675 * DISTLIST: Likewise.
37676 * conf/common.mk: Likewise.
37677 * conf/i386-coreboot.mk: Likewise.
37678 * conf/i386-efi.mk: Likewise.
37679 * conf/i386-ieee1275.mk: Likewise.
37680 * conf/i386.mk: Likewise.
37681 * conf/i386-pc.mk: Likewise.
37682 * conf/powerpc-ieee1275.mk: Likewise.
37683 * conf/sparc64-ieee1275.mk: Likewise.
37684 * conf/x86_64-efi.mk: Likewise.
37686 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
37689 2009-04-14 John Stanley <jpsinthemix@verizon.net>
37690 David S. Miller <davem@davemloft.net>
37692 * util/hostdisk.c (make_device_name): Fix buffer length
37695 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
37697 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
37698 <sys/param.h> and <sys/sysctl.h>.
37699 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
37700 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
37701 opening the device and reset them afterwards.
37703 2009-04-13 Pavel Roskin <proski@gnu.org>
37705 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
37706 Reported by John Stanley <jpsinthemix@verizon.net>
37708 2009-04-13 Robert Millan <rmh@aybabtu.com>
37710 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
37711 that name for menuentries when appropriate.
37713 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37715 * util/grub.d/10_freebsd.in: Add a missing `fi'.
37717 2009-04-13 Robert Millan <rmh@aybabtu.com>
37719 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
37720 to Linux, simply abort telling the user it's no longer supported.
37722 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37724 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
37725 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
37726 `freebsd_loadenv' only when devices.hints exist.
37728 2009-04-13 Pavel Roskin <proski@gnu.org>
37730 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
37732 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
37734 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
37736 (grub_drive): Likewise.
37738 2009-04-13 David S. Miller <davem@davemloft.net>
37740 * kern/sparc64/ieee1275/ieee1275.c: New file.
37741 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
37742 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
37743 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
37744 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
37745 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
37746 grub_ieee1275_alloc_physmem): Declare new exported functions.
37748 * include/grub/sparc64/ieee1275/loader.h: New file.
37749 * include/grub/sparc64/ieee1275/memory.h: Likewise.
37750 * include/grub/sparc64/kernel.h: Likewise.
37751 * loader/sparc64/ieee1275/linux.c: Likewise.
37753 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
37754 (grub_fstest_SOURCES): Likewise.
37756 * util/hostdisk.c (make_device_name): Do not make any assumptions
37757 about the length of drive names.
37759 * kern/dl.c (grub_dl_load_file): Close file immediately when
37760 we are done using it.
37762 2009-04-12 David S. Miller <davem@davemloft.net>
37764 * kern/misc.c (grub_ltoa): Fix cast when handling negative
37765 values. Noticed by Pavel Roskin.
37767 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
37770 * genmk.rb: Add more flexible image type specification, also
37771 pass --strip-unneeded to objcopy.
37772 * conf/i386-pc.rmk: Use *_FORMAT.
37773 * conf/i386-pc.mk: Rebuilt.
37775 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
37776 (OFDISK_HASH_SZ): Define.
37777 (ofdisk_hash): New hash table.
37778 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
37779 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
37780 instead of device phandle which is not unique.
37782 * kern/sparc64/ieee1275/init.c: Delete, replace with...
37783 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
37784 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
37785 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
37786 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
37787 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
37788 GRUB_KERNEL_MACHINE_DATA_END): Define.
37789 (grub_kernel_image_size, grub_total_module_size): Declare.
37791 2009-04-12 Pavel Roskin <proski@gnu.org>
37793 * configure.ac: Change the logic when we check for target tools.
37794 Do it when the target is specified and it's different from the
37795 specified value of the host.
37797 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
37799 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
37800 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
37801 GNU/kFreeBSD. Check if a device is a character device. Use
37802 DIOCGMEDIASIZE to get the size.
37803 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
37804 support for GNU/kFreeBSD.
37805 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
37806 is a character device instead of a block device. Add support for
37807 FreeBSD device names.
37809 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
37810 is a character device instead of a block device.
37812 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
37813 is a character device instead of a block device.
37815 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
37817 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
37818 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
37819 FreeBSD. Check if a device is a character device. Use
37820 DIOCGMEDIASIZE to get the size.
37821 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
37822 support for FreeBSD.
37823 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
37824 is a character device instead of a block device. Add support for
37825 FreeBSD device names.
37827 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
37828 a character device instead of a block device.
37829 (grub_util_check_char_device): New function.
37831 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
37832 a character device instead of a block device.
37834 * include/grub/util/getroot.h (grub_util_check_char_device): New
37837 2009-04-11 David S. Miller <davem@davemloft.net>
37839 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
37841 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
37842 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
37843 function, if present.
37844 (__bswapdi2): Likewise.
37846 * include/grub/sparc64/ieee1275/boot.h: New file.
37847 * boot/sparc64/ieee1275/boot.S: Likewise.
37848 * boot/sparc64/ieee1275/diskboot.S: Likewise.
37850 * kern/misc.c (grub_ltoa): New function.
37851 (grub_vsprintf): Use it to format 'long' integers.
37853 2009-04-10 David S. Miller <davem@davemloft.net>
37855 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
37856 slots are of type grub_ieee1275_cell_t.
37857 (grub_nand_read): Likewise.
37858 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
37859 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
37860 macros are used to compare values in arg/ret block of the call.
37861 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
37862 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
37863 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
37864 grub_ieee1275_instance_to_path, grub_ieee1275_write,
37865 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
37866 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
37867 grub_ieee1275_close, grub_ieee1275_set_property,
37868 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
37869 grub_ieee1275_cell_t.
37870 * kern/ieee1275/openfw.c (grub_map): Likewise.
37871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
37872 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
37874 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
37875 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
37876 (grub_devalias_iterate): Likewise.
37878 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
37882 * fs/ufs.c (INODE_NBLOCKS): new definition
37883 (struct grub_ufs_dirent): added fields for non-BSD dirents
37884 (grub_ufs_get_file_block): fixed double indirect handling
37885 (grub_ufs_lookup_symlink): use more robust way to determine whether
37887 (grub_ufs_find_file): support for non-BSD dirents
37888 (grub_ufs_dir): support for non-BSD dirents
37890 2009-04-10 Bean <bean123ch@gnail.com>
37892 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
37893 attribute, otherwise the size would be wrong for i386 platform.
37895 * include/grub/pci.h (grub_pci_read_word): New inline function.
37896 (grub_pci_read_byte): Likewise.
37897 (grub_pci_write): Likewise.
37898 (grub_pci_write_word): Likewise.
37899 (grub_pci_write_byte): Likewise.
37901 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
37903 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
37904 (find_framebuf): Scan pci to locate the frame buffer address.
37906 * commands/efi/fixvideo.c: New file.
37908 * commands/efi/loadbios.c: Likewise.
37910 * commands/memrw.c: Likewise.
37912 * util/grub-dumpbios.in: Likewise.
37914 * conf/common.rmk (grub-dumpbios): New utility.
37915 (pkglib_MODULES): New module memrw.mod.
37916 (memrw_mod_SOURCE): New macro.
37917 (memrw_mod_CFLAGS): Likewise.
37918 (memrw_mod_LDFLAGS): Likewise.
37920 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
37922 (loadbios_mod_SOURCE): New macro.
37923 (loadbios_mod_CFLAGS): Likewise.
37924 (loadbios_mod_LDFLAGS): Likewise.
37925 (fixvideo_mod_SOURCE): Likewise.
37926 (fixvideo_mod_CFLAGS): Likewise.
37927 (fixvideo_mod_LDFLAGS): Likewise.
37929 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
37931 (loadbios_mod_SOURCE): New macro.
37932 (loadbios_mod_CFLAGS): Likewise.
37933 (loadbios_mod_LDFLAGS): Likewise.
37934 (fixvideo_mod_SOURCE): Likewise.
37935 (fixvideo_mod_CFLAGS): Likewise.
37936 (fixvideo_mod_LDFLAGS): Likewise.
37938 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
37940 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
37942 2009-04-07 David S. Miller <davem@davemloft.net>
37944 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
37945 support for R_SPARC_OLO10 relocations. Fix compile warning for
37946 R_SPARC_WDISP30 case.
37947 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
37949 2009-04-06 Pavel Roskin <proski@gnu.org>
37951 * include/grub/misc.h (ARRAY_SIZE): New macro.
37952 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
37954 * loader/i386/linux.c (allocate_pages): Use free_pages().
37955 (grub_linux_unload): Don't use free_pages().
37956 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
37957 wrong index. Treat all other modes as text modes.
37958 (grub_cmd_linux): Initialize vid_mode unconditionally to
37959 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
37961 * commands/help.c (print_command_help): Use cmd->prio, not
37962 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
37964 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
37968 * parttool/pcpart.c: new file
37969 * commands/parttool.c: likewise
37970 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
37971 (parttool_mod_SOURCES): new variable
37972 (parttool_mod_CFLAGS): likewise
37973 (parttool_mod_LDFLAGS): likewise
37974 (pcpart_mod_SOURCES): likewise
37975 (pcpart_mod_CFLAGS): likewise
37976 (pcpart_mod_LDFLAGS): likewise
37977 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
37978 and parttool/pcpart.c
37979 * conf/i386-efi.rmk: likewise
37980 * conf/i386-ieee1275.rmk: likewise
37981 * conf/i386-pc.rmk: likewise
37982 * conf/powerpc-ieee1275.rmk: likewise
37983 * conf/sparc64-ieee1275.rmk: likewise
37984 * conf/x86_64-ieee1275.rmk: likewise
37986 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
37988 Support for mtime and further expandability of dir command
37990 * include/grub/lib/datetime.h: moved to ...
37991 * include/grub/datetime.h: ... moved here and added
37992 declaration of grub_unixtime2datetime. All users updated
37993 * include/grub/fs.h: new syntax for dir and mtime functions in
37995 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
37996 and GRUB_FSHELP_FLAGS_MASK
37997 * commands/ls.c (grub_ls_list_files): Write mtime in long format
37998 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
37999 (grub_ext2_mtime): new function
38000 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
38001 (grub_hfsplus_mtime): new function
38002 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
38003 (GRUB_UFS_ATTR_FILE): likewise
38004 (GRUB_UFS_ATTR_LNK): likewise
38005 (struct grub_ufs_sblock): new fields mtime
38006 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
38008 (grub_ufs_dir): mtime support
38009 (grub_ufs_mtime): new function
38010 * fs/affs.c (grub_affs_dir): use new dir syntax
38011 * fs/afs.c (grub_afs_dir): likewise
38012 * fs/cpio.c (grub_cpio_dir): likewise
38013 * fs/fat.c (grub_fat_find_dir): likewise
38014 * fs/hfs.c (grub_hfs_dir): likewise
38015 * fs/iso9660.c (grub_iso9660_dir): likewise
38016 * fs/jfs.c (grub_jfs_dir): likewise
38017 * fs/minix.c (grub_minix_dir): likewise
38018 * fs/ntfs.c (grub_ntfs_dir): likewise
38019 * fs/reiserfs.c (grub_reiserfs_dir): likewise
38020 * fs/sfs.c (grub_sfs_dir): likewise
38021 * fs/xfs.c (grub_xfs_dir): likewise
38022 * util/hostfs.c (grub_hostfs_dir): likewise
38023 * lib/datetime.c: moved to ...
38024 * normal/datetime.c: ... moved here
38025 (grub_unixtime2datetime): new function
38026 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
38027 * normal/completion.c (iterate_dir): use new dir syntax
38028 * normal/misc.c (grub_normal_print_device_info): tell the
38029 last modification time of a volume
38030 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
38031 * conf/common.rmk: added lib/datetime.c to ls.mod
38032 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
38033 (normal_mod_SOURCES): likewise
38034 (datetime_mod_SOURCES): Removed lib/datetime.c
38035 * conf/i386-efi.rmk: likewise
38036 * conf/i386-ieee1275.rmk: likewise
38037 * conf/i386-pc.rmk: likewise
38038 * conf/powerpc-ieee1275.rmk: likewise
38039 * conf/sparc64-ieee1275.rmk: likewise
38040 * conf/x86_64-efi.rmk: likewise
38042 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
38044 Trim trailing spaces in FAT label and support mtools-like labels
38046 * fs/fat.c (grub_fat_iterate_dir): New function based
38047 on grub_fat_find_dir
38048 (grub_fat_find_dir): use grub_fat_iterate_dir
38049 (grub_fat_label): likewise
38051 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
38053 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
38055 remove extraneous kernel_elf_HEADERS
38057 2009-04-04 Bean <bean123ch@gnail.com>
38059 * include/grub/util/misc.h: Add dummy function fsync for mingw.
38061 * util/misc.c: Likewise.
38063 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
38065 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
38066 instead of grub_printf.
38068 2009-04-03 Robert Millan <rmh@aybabtu.com>
38070 * loader/i386/linux.c (grub_linux_setup_video): Fill
38071 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
38072 values from `mode info' structure instead of hardcoded
38075 2009-04-01 Pavel Roskin <proski@gnu.org>
38077 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
38079 * genmk.rb: Likewise.
38080 * configure.ac: Likewise.
38082 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
38084 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
38085 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
38087 2009-04-01 David S. Miller <davem@davemloft.net>
38089 * normal/sparc64/setjmp.S: Fix setjmp implementation.
38090 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
38091 (grub_setjmp): Mark with 'returns_twice' attribute.
38092 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
38093 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
38094 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
38096 2009-04-01 Robert Millan <rmh@aybabtu.com>
38098 Reapply fix from 2008-07-28 which was accidentally reverted; also
38099 perform the same fix to a similar check in same function.
38101 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
38102 with the same number are found, just use issue a warning with
38103 grub_dprintf(), as this error has been reported to be non-fatal.
38105 2009-03-31 Pavel Roskin <proski@gnu.org>
38107 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
38108 for cross-compilation.
38110 2009-03-30 Robert Millan <rmh@aybabtu.com>
38112 Fix i386-ieee1275 build.
38114 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
38115 Remove declaration.
38117 2009-03-30 Pavel Roskin <proski@gnu.org>
38119 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
38120 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
38121 zero-terminated, rely only on the strlen value. Fix comparison
38122 of strings differing in length.
38124 2009-03-30 Robert Millan <rmh@aybabtu.com>
38126 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
38127 checking for abi version. Improve error messages on BIOS to notify
38128 user about `linux16' command.
38130 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
38134 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
38135 in case of collision
38136 * disk/scsi.c (grub_scsi_open): free scsi in case of error
38138 2009-03-29 Robert Millan <rmh@aybabtu.com>
38140 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
38141 set `vid_mode' accordingly.
38142 (grub_linux_boot): Process `vid_mode' and set video mode.
38144 2009-03-29 Robert Millan <rmh@aybabtu.com>
38146 * util/grub.d/10_linux.in (linux_entry): New function.
38147 Factorize generation of Linux boot entries.
38149 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
38151 Make the format of Environment Block plain text. The boot loader
38152 part is not tested well yet.
38154 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
38156 (envblk): Likewise.
38157 (usage): Remove "info" and "clear". Add "unset". Update the
38158 description of "set", as this does not delete variables any
38160 (create_envblk_file): Complete rewrite.
38161 (open_envblk_file): Likewise.
38162 (cmd_info): Removed.
38163 (cmd_list): Likewise.
38164 (cmd_set): Likewise.
38165 (cmd_clear): Likewise.
38166 (list_variables): New function.
38167 (write_envblk): Likewise.
38168 (set_variables): Likewise.
38169 (unset_variables): Likewise.
38170 (main): Complete rewrite.
38172 * commands/loadenv.c (buffer): Removed.
38173 (envblk): Likewise.
38174 (open_envblk_file): New function.
38175 (read_envblk_file): Complete rewrite.
38176 (grub_cmd_load_env): Likewise.
38177 (grub_cmd_list_env): Likewise.
38178 (struct blocklist): New struct.
38179 (free_blocklists): New function.
38180 (check_blocklists): Likewise.
38181 (write_blocklists): Likewise.
38182 (grub_cmd_save_env): Complete rewrite.
38184 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
38185 a plain text signature.
38186 (GRUB_ENVBLK_MAXLEN): Removed.
38187 (struct grub_envblk): Complete rewrite.
38188 (grub_envblk_find): Removed.
38189 (grub_envblk_insert): Likewise.
38190 (grub_envblk_open): New prototype.
38191 (grub_envblk_set): Likewise.
38192 (grub_envblk_delete): Put const to VALUE.
38193 (grub_envblk_iterate): Put const to NAME and VALUE.
38194 (grub_envblk_close): New prototype.
38195 (grub_envblk_buffer): New inline function.
38196 (grub_envblk_size): Likewise.
38198 * lib/envblk.c: Include grub/mm.h.
38199 (grub_env_find): Removed.
38200 (grub_envblk_open): New function.
38201 (grub_envblk_close): Likewise.
38202 (escaped_value_len): Likewise.
38203 (find_next_line): Likewise.
38204 (grub_envblk_insert): Removed.
38205 (grub_envblk_set): New function.
38206 (grub_envblk_delete): Complete rewrite.
38207 (grub_envblk_iterate): Likewise.
38209 2009-03-28 Robert Millan <rmh@aybabtu.com>
38211 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
38212 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
38213 variables. Use 16-bit loader.
38214 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
38216 * kern/i386/loader.S (grub_linux_boot): Rename to ...
38217 (grub_linux16_boot): ... this. Update all users.
38218 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
38219 (grub_linux_boot): ... this. Update all users.
38221 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
38222 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
38223 commands to `linux16' and `initrd16'.
38224 (GRUB_MOD_FINI(linux)): Rename to ...
38225 (GRUB_MOD_FINI(linux16)): ... this.
38227 2009-03-24 Pavel Roskin <proski@gnu.org>
38229 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
38230 not just for compilation.
38232 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
38234 Move multiboot helper out of kernel
38236 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
38237 `loader/i386/multiboot_helper.S'.
38238 * conf/i386-coreboot.rmk: Likewise
38239 * conf/i386-ieee1275.rmk: Likewise
38241 * kern/i386/loader.S: Move multiboot helpers from here...
38242 * loader/i386/multiboot_helper.S: ...moved here
38243 * include/grub/i386/loader.h: Move declarations of multiboot
38244 helpers from here...
38245 * include/grub/i386/multiboot.h: ...moved here
38246 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
38248 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38250 * kern/env.c (grub_env_context_open): Added an argument to specify
38251 whether a new context inherits exported variables from current
38252 one. This is useful when making a sandbox to interpret a config
38254 All callers updated.
38256 * include/grub/env.h (grub_env_context_open): Updated the prototype.
38258 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38260 * kern/env.c (grub_env_context_close): Fix memory leaks.
38262 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
38264 * normal/main.c (grub_normal_execute): Added an argument
38265 BATCH to specify if an interactive interface should be provided
38266 after reading a config file.
38267 All callers updated.
38268 (read_command_list): Prevent being executed twice.
38269 (read_fs_list): Likewise.
38271 * include/grub/normal.h (grub_normal_execute): Updated the
38274 2009-03-22 Pavel Roskin <proski@gno.org>
38276 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
38278 * kern/i386/pc/startup.S: Likewise.
38279 * kern/i386/efi/startup.S: Likewise.
38280 * kern/i386/ieee1275/startup.S: Likewise.
38281 * kern/i386/coreboot/startup.S: Likewise.
38282 * kern/x86_64/efi/startup.S: Likewise.
38284 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
38285 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
38286 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
38288 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
38290 Bugfixes in multiboot for bugs uncovered by solaris kernel.
38292 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
38294 Use vaddr of correct segment for entry_point.
38296 2009-03-21 Bean <bean123ch@gmail.com>
38298 * commands/blocklist.c: Add include file <grub/command.h>, remove
38299 <grub/normal.h> and <grub/arg.h>.
38300 (grub_cmd_blocklist): Use the new command interface.
38301 (GRUB_MOD_INIT): Likewise.
38302 (GRUB_MOD_FINI): Likewise.
38303 * commands/boot.c: Likewise.
38304 * commands/cat.c: Likewise.
38305 * commands/cmp.c: Likewise.
38306 * commands/configfile.c: Likewise.
38307 * commands/crc.c: Likewise.
38308 * commands/echo.c: Likewise.
38309 * commands/halt.c: Likewise.
38310 * commands/handler.c: Likewise.
38311 * commands/hdparm.c: Likewise.
38312 * commands/help.c: Likewise.
38313 * commands/hexdump.c: Likewise.
38314 * commands/loadenv.c: Likewise.
38315 * commands/ls.c: Likewise.
38316 * commands/lsmmap.c: Likewise.
38317 * commands/lspci.c: Likewise.
38318 * commands/loadenv.c: Likewise.
38319 * commands/read.c: Likewise.
38320 * commands/reboot.c: Likewise.
38321 * commands/search.c: Likewise.
38322 * commands/sleep.c: Likewise.
38323 * commands/test.c: Likewise.
38324 * commands/usbtest.c: Likewise.
38325 * commands/videotest.c: Likewise.
38326 * commands/i386/cpuid.c: Likewise.
38327 * commands/i386/pc/halt.c: Likewise.
38328 * commands/i386/pc/play.c: Likewise.
38329 * commands/i386/pc/pxecmd.c: Likewise.
38330 * commands/i386/pc/vbeinfo.c: Likewise.
38331 * commands/i386/pc/vbetest.c: Likewise.
38332 * commands/ieee1275/suspend.c: Likewise.
38333 * disk/loopback.c: Likewise.
38334 * font/font_cmd.c: Likewise.
38335 * hello/hello.c: Likewise.
38336 * loader/efi/appleloader.c: Likewise.
38337 * loader/efi/chainloader.c: Likewise.
38338 * loader/i386/bsd.c: Likewise.
38339 * loader/i386/efi/linux.c: Likewise.
38340 * loader/i386/ieee1275/linux.c: Likewise.
38341 * loader/i386/linux.c: Likewise.
38342 * loader/i386/pc/chainloader.c: Likewise.
38343 * loader/i386/pc/linux.c: Likewise.
38344 * loader/powerpc/ieee1275/linux.c: Likewise.
38345 * loader/multiboot_loader.c: Likewise.
38346 * term/gfxterm.c: Likewise.
38347 * term/i386/pc/serial.c: Likewise.
38348 * term/terminfo.c: Likewise.
38350 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
38351 * term/i386/pc/vga.c: Likewise.
38352 * video/readers/jpeg.c: Likewise.
38353 * video/readers/png.c: Likewise.
38354 * video/readers/tga.c: Likewise.
38356 * util/grub-fstest (cmd_loopback): Removed.
38357 (cmd_blocklist): Likewise.
38358 (cmd_ls): Likewise.
38359 (grub_register_command): Likewise.
38360 (grub_unregister_command): Likewise.
38361 (execute_command): Use grub_command_find to locate command and execute
38364 * include/grub/efi/chainloader.h: Removed.
38365 * loader/efi/chainloader_normal.c: Likewise.
38366 * loader/i386/bsd_normal.c: Likewise.
38367 * loader/i386/pc/chainloader_normal.c: Likewise.
38368 * loader/i386/pc/multiboot_normal.c: Likewise.
38369 * loader/linux_normal.c: Likewise.
38370 * loader/multiboot_loader_normal.c: Likewise.
38371 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
38373 * gencmdlist.sh: Scan new registration command grub_register_extcmd
38374 and grub_register_command_p1.
38376 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
38377 kern/command.c, lib/arg.c and commands/extcmd.c.
38378 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
38379 (minicmd_mod_SOURCES): New variable.
38380 (minicmd_mod_CFLAGS): Likewise.
38381 (minicmd_mod_LDFLAGS): Likewise.
38382 (extcmd_mod_SOURCES): Likewise.
38383 (extcmd_mod_CFLAGS): Likewise.
38384 (extcmd_mod_LDFLAGS): Likewise.
38385 (boot_mod_SOURCES): Removed.
38386 (boot_mod_CFLAGS): Likewise.
38387 (boot_mod_LDFLAGS): Likewise.
38389 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
38391 (kernel_img_HEADERS): Add command.h.
38392 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
38393 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
38395 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
38396 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
38397 remove the corresponding normal mode command.
38398 (normal_mod_SOURCES): Remove normal/arg.c.
38399 * conf/i386-coreboot.rmk: Likewise.
38400 * conf/i386-efi.rmk: Likewise.
38401 * conf/i386-ieee1275.rmk: Likewise.
38402 * conf/powerpc-ieee1275.rmk: Likewise.
38403 * conf/x86_64-efi.rmk: Likewise.
38405 * include/grub/arg.h: Move from here ...
38406 * include/grub/lib/arg.h: ... to here.
38408 * normal/arg.c: Move from here ...
38409 * lib/arg.c: ... to here.
38411 * commands/extcmd.c: New file.
38412 * commands/minicmd.c: Likewise.
38413 * include/grub/command.h: Likewise.
38414 * include/grub/extcmd.h: Likewise.
38415 * kern/command.c: Likewise.
38416 * kern/corecmd.c: Likewise.
38418 * kern/list.c (grub_list_iterate): Return int instead of void.
38419 (grub_list_insert): New function.
38420 (grub_prio_list_insert): Likewise.
38422 * kern/rescue.c (grub_rescue_command): Removed.
38423 (grub_rescue_command_list): Likewise.
38424 (grub_rescue_register_command): Likewise.
38425 (grub_rescue_unregister_command): Likewise.
38426 (grub_rescue_cmd_boot): Move to minicmd.c
38427 (grub_rescue_cmd_help): Likewise.
38428 (grub_rescue_cmd_info): Likewise.
38429 (grub_rescue_cmd_boot): Likewise.
38430 (grub_rescue_cmd_testload): Likewise.
38431 (grub_rescue_cmd_dump): Likewise.
38432 (grub_rescue_cmd_rmmod): Likewise.
38433 (grub_rescue_cmd_lsmod): Likewise.
38434 (grub_rescue_cmd_exit): Likewise.
38435 (grub_rescue_print_devices): Moved to corecmd.c.
38436 (grub_rescue_print_files): Likewise.
38437 (grub_rescue_cmd_ls): Likewise.
38438 (grub_rescue_cmd_insmod): Likewise.
38439 (grub_rescue_cmd_set): Likewise.
38440 (grub_rescue_cmd_unset): Likewise.
38441 (attempt_normal_mode): Use grub_command_find to get normal module.
38442 (grub_enter_rescue_mode): Use grub_register_core_commands to register
38443 commands, remove grub_rescue_register_command calls.
38445 * normal/command.c (grub_register_command): Removed.
38446 (grub_unregister_command): Likewise.
38447 (grub_command_find): Likewise.
38448 (grub_iterate_commands): Likewise.
38449 (rescue_command): Likewise.
38450 (export_command): Moved to corecmd.c.
38451 (set_command): Removed.
38452 (unset_command): Likewise.
38453 (insmod_command): Likewise.
38454 (rmmod_command): Likewise.
38455 (lsmod_command): Likewise.
38456 (grub_command_init): Likewise.
38458 * normal/completion.c (iterate_command): Use cmd->prio to check for
38460 (complete_arguments): Use grub_extcmd_t structure to find options.
38461 (grub_normal_do_completion): Change function grub_iterate_commands to
38462 grub_command_iterate.
38464 * normal/execute.c (grub_script_execute_cmd): No need to parse
38467 * normal/main.c (grub_dyncmd_dispatcher): New function.
38468 (read_command_list): Register unload commands as dyncmd.
38469 (grub_cmd_normal): Use new command interface, register rescue,
38470 unregister normal at entry, register normal, unregister rescue at exit.
38472 * include/grub/list.h (grub_list_test_t): New type.
38473 (grub_list_iterate): Return int instead of void.
38474 (grub_list_insert): New function.
38475 (GRUB_AS_NAMED_LIST_P): New macro.
38476 (GRUB_AS_PRIO_LIST): Likewise.
38477 (GRUB_AS_PRIO_LIST_P): Likewise.
38478 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
38479 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
38480 (grub_prio_list): New structure.
38481 (grub_prio_list_insert): New function.
38482 (grub_prio_list_remove): New inline function.
38484 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
38485 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
38486 (GRUB_COMMAND_FLAG_MENU): Likewise.
38487 (GRUB_COMMAND_FLAG_BOTH): Likewise.
38488 (GRUB_COMMAND_FLAG_TITLE): Likewise.
38489 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
38490 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
38491 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
38492 (grub_command): Likewise.
38493 (grub_register_command): Likewise.
38494 (grub_command_find): Likewise.
38495 (grub_iterate_commands): Likewise.
38496 (grub_command_init): Likewise.
38497 (grub_arg_parse): Likewise.
38498 (grub_arg_show_help): Likewise.
38500 * include/grub/rescue.h (grub_rescue_register_command): Removed.
38501 (grub_rescue_unregister_command): Likewise.
38503 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
38504 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
38505 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
38507 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
38508 grub_rescue_cmd_initrd.
38509 * include/grub/i386/loader.h: Likewise.
38510 * include/grub/x86_64/loader.h: Likewise.
38512 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
38514 2009-03-21 Bean <bean123ch@gmail.com>
38516 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
38517 instead of stat in mingw environment.
38519 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
38521 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
38523 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
38526 2009-03-21 Bean <bean123ch@gmail.com>
38528 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
38529 out of range error.
38531 2009-03-18 Michel Dänzer <michel@daenzer.net>
38533 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
38534 checking inode flags for EXT4_EXTENTS_FLAG.
38536 2009-03-18 Robert Millan <rmh@aybabtu.com>
38538 * loader/i386/linux.c: Include `<grub/video.h>' and
38539 `<grub/i386/pc/vbe.h>'..
38540 (grub_linux_setup_video): New function. Loosely based on the EFI one.
38541 (grub_linux32_boot): Attempt to configure video settings with
38542 grub_linux_setup_video().
38543 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
38544 to avoid grub_console_fini() which would step out of graphical mode
38547 2009-03-14 Robert Millan <rmh@aybabtu.com>
38549 Fix build on powerpc.
38550 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
38552 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
38554 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
38555 background image command.
38557 2009-03-12 Colin D Bennett <colin@gibibit.com>
38559 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
38560 (grub_gfxterm_putchar): Extract pairs of identical calls to
38561 draw_cursor out of conditional blocks.
38563 2009-03-11 Pavel Roskin <proski@gnu.org>
38565 * fs/hfs.c (grub_hfs_strncasecmp): New function.
38566 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
38568 2009-03-11 Robert Millan <rmh@aybabtu.com>
38570 * loader/i386/multiboot_elfxx.c
38571 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
38573 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
38575 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
38578 2009-03-11 Robert Millan <rmh@aybabtu.com>
38580 * loader/i386/multiboot.c (code_size): New variable.
38581 (grub_multiboot): Define offsets by adding to `code_size' rather
38582 than subtracting from `grub_multiboot_payload_size'. Provide
38583 4-byte alignment to MBI and others by increasing
38584 `boot_loader_name_length' appropriately.
38586 * loader/i386/multiboot_elfxx.c
38587 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
38589 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
38591 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
38594 2009-03-08 Robert Millan <rmh@aybabtu.com>
38596 Make loader/i386/linux.c usable on i386-pc again.
38598 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
38600 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
38603 2009-03-07 Bean <bean123ch@gmail.com>
38605 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
38608 2009-03-06 Robert Millan <rmh@aybabtu.com>
38610 Fix display issue on terminals with screen size other than 80x25
38611 (e.g. gfxterm with resolution higher than 640x480).
38613 * normal/main.c (grub_normal_init_page): Display title text in a
38614 position relative to the center of the terminal instead of relying
38615 on a hardcoded offset.
38617 2009-03-04 Robert Millan <rmh@aybabtu.com>
38619 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
38622 * Makefile.in (host_kernel): New variable.
38623 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
38624 scripts instead of just the windows one.
38625 * configure.ac: Initialize and AC_SUBST `host_kernel'.
38627 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38629 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
38631 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
38633 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
38634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38635 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38636 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38638 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38640 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
38641 or if there's no space for the disk label and print the partition number on a
38644 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
38646 * util/misc.c: Include <time.h>.
38647 (grub_millisleep): New function.
38649 2009-03-04 Bean <bean123ch@gmail.com>
38651 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
38652 another option -mno-red-zone.
38654 * commands/handler.c: Change module description.
38656 * kern/handler.c: Add missing space at the end of description line.
38658 * kern/list.c: Likewise.
38660 2009-03-03 Robert Millan <rmh@aybabtu.com>
38662 Move more components to the relocation area, and fix mbi pointer
38663 handling to use the destination rather than the origin (thanks to
38664 Vladimir Serbinenko for spotting).
38666 * loader/i386/multiboot.c (mbi_dest): New variable.
38667 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
38668 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
38671 2009-03-01 Bean <bean123ch@gmail.com>
38673 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
38674 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
38675 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
38676 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
38678 * loader/i386/efi/linux.c (acpi_guid): New variable.
38679 (acpi_guid): Likewise.
38680 (EBDA_SEG_ADDR): New constant.
38681 (LOW_MEM_ADDR): Likewise.
38682 (FAKE_EBDA_SEG): Likewise.
38683 (fake_bios_data): New function.
38684 (grub_linux_boot): Call fake_bios_data.
38686 2009-03-01 Bean <bean123ch@gmail.com>
38688 * commands/terminal.c: Removed.
38690 * commands/handler.c: New file.
38692 * include/grub/list.h: Likewise.
38694 * include/grub/handler.h: Likewise.
38696 * kern/list.c: Likewise.
38698 * kern/handler.c: Likewise.
38700 * kern/term.h: Include header file <grub/handler.h>.
38701 (grub_term_input): Move next field to the beginning.
38702 (grub_term_output): Likewise.
38703 (grub_term_input_class): New variable.
38704 (grub_term_output_class): Likewise.
38705 (grub_term_register_input): Changed to inline function.
38706 (grub_term_register_output): Likewise.
38707 (grub_term_unregister_input): Likewise.
38708 (grub_term_unregister_output): Likewise.
38709 (grub_term_set_current_input): Likewise.
38710 (grub_term_set_current_output): Likewise.
38711 (grub_term_get_current_input): Likewise.
38712 (grub_term_get_current_output): Likewise.
38713 (grub_term_iterate_input): Removed.
38714 (grub_term_iterate_output): Likewise.
38716 * kern/term.c (grub_term_list_input): Removed.
38717 (grub_term_list_output): Likewise.
38718 (grub_term_input_class): New variable.
38719 (grub_term_output_class): Likewise.
38720 (grub_cur_term_input): Change variable as macro.
38721 (grub_cur_term_output): Likewise.
38722 (grub_term_register_input): Removed.
38723 (grub_term_register_output): Likewise.
38724 (grub_term_unregister_input): Likewise.
38725 (grub_term_unregister_output): Likewise.
38726 (grub_term_set_current_input): Likewise.
38727 (grub_term_set_current_output): Likewise.
38728 (grub_term_iterate_input): Likewise.
38729 (grub_term_iterate_output): Likewise.
38730 (grub_term_get_current_input): Likewise.
38731 (grub_term_get_current_output): Likewise.
38733 * util/grub-editenv.c: Include header file <grub/handler.h>.
38734 (grub_term_get_current_input): Removed.
38735 (grub_term_get_current_output): Likewise.
38736 (grub_term_input_class): New variable.
38737 (grub_term_output_class): Likewise.
38739 * util/grub-fstest.c (grub_term_get_current_input): Removed.
38740 (grub_term_get_current_output): Likewise.
38741 (grub_term_input_class): New variable.
38742 (grub_term_output_class): Likewise.
38744 * util/grub-probe.c (grub_term_get_current_input): Removed.
38745 (grub_term_get_current_output): Likewise.
38746 (grub_term_input_class): New variable.
38747 (grub_term_output_class): Likewise.
38749 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
38750 (grub_term_get_current_output): Likewise.
38751 (grub_term_input_class): New variable.
38752 (grub_term_output_class): Likewise.
38754 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
38755 (terminal_mod_SOURCES): Likewise.
38756 (terminal_mod_CFLAGS): Likewise.
38757 (terminal_mod_LDFLAGS): Likewise.
38759 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
38761 (kernel_img_SOURCES): Add list.c and handler.c.
38762 (kernel_img_HEADERS): Add list.h and handler.h.
38764 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38766 (kernel_mod_SOURCES): Add list.c and handler.c.
38767 (kernel_mod_HEADERS): Add list.h and handler.h.
38769 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
38771 (kernel_elf_SOURCES): Add list.c and handler.c.
38772 (kernel_elf_HEADERS): Add list.h and handler.h.
38774 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38776 (kernel_elf_SOURCES): Add list.c and handler.c.
38777 (kernel_elf_HEADERS): Add list.h and handler.h.
38779 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
38781 (kernel_mod_SOURCES): Add list.c and handler.c.
38782 (kernel_mod_HEADERS): Add list.h and handler.h.
38784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
38786 (kernel_elf_SOURCES): Add list.c and handler.c.
38787 (kernel_elf_HEADERS): Add list.h and handler.h.
38789 2009-02-27 Robert Millan <rmh@aybabtu.com>
38791 Factorize elf32 / elf64 code in Multiboot loader. This will
38792 prevent it from getting out of sync again.
38794 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
38795 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
38796 grub_multiboot_load_elf64): Move from here ...
38797 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
38798 grub_multiboot_load_elf): ... to here (new file).
38800 2009-02-27 Robert Millan <rmh@aybabtu.com>
38802 * util/grub.d/10_linux.in: Rename "single-user mode" to
38805 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
38807 Don't leak in SCSI code.
38808 * disk/scsi.c (grub_scsi_close): free `scsi'.
38810 2009-02-27 Robert Millan <rmh@aybabtu.com>
38812 * loader/i386/pc/multiboot.c: Move from here ...
38813 * loader/i386/multiboot.c: ... to here. Update all users.
38815 2009-02-27 Robert Millan <rmh@aybabtu.com>
38817 Patch from Alexandre Bique <bique.alexandre@gmail.com>
38818 * util/i386/pc/grub-setup.c (setup): Fix directory path.
38820 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
38822 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
38825 2009-02-27 Robert Millan <rmh@aybabtu.com>
38827 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
38828 `0x' qualifier as 0 when base is specified as parameter).
38830 2009-02-24 Bean <bean123ch@gmail.com>
38832 * configure.ac: Check for -mcmodel=large in x86_64 target.
38834 * include/grub/efi/api.h (efi_call_10): New macro.
38835 (efi_wrap_10): New function.
38837 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
38838 (GRUB_PE32_REL_BASED_HIGH): Likewise.
38839 (GRUB_PE32_REL_BASED_LOW): Likewise.
38840 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
38841 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
38842 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
38843 (GRUB_PE32_REL_BASED_SECTION): Likewise.
38844 (GRUB_PE32_REL_BASED_REL): Likewise.
38845 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
38846 (GRUB_PE32_REL_BASED_DIR64): Likewise.
38847 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
38849 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
38852 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
38853 (efi_wrap_10): New function.
38855 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
38857 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
38858 MB/MBP model (NV chipset).
38859 (devdata_devs): Add devpath_5 to the list.
38861 * load/i386/efi/linux.c (video_base): Remove variable.
38862 (RGB_MASK): New macro.
38863 (RGB_MAGIC): Likewise.
38864 (LINE_MIN): Likewise.
38865 (LINE_MAX): Likewise.
38866 (FBTEST_STEP): Likewise.
38867 (FBTEST_COUNT): Likewise.
38868 (fb_list): New variable.
38869 (grub_find_video_card): Remove function.
38870 (find_framebuf): New function.
38871 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
38874 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
38875 problem for x86_64.
38877 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
38879 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
38881 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
38884 2009-02-22 Robert Millan <rmh@aybabtu.com>
38886 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
38887 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
38888 in our relocation, instead of using it directly from heap. Also
38889 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
38891 2009-02-21 Robert Millan <rmh@aybabtu.com>
38893 Implement USB keyboard support (based on patch by Marco Gerards)
38895 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
38896 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
38897 (usb_keyboard_mod_LDFLAGS): New variables.
38899 * term/usb_keyboard.c: New file.
38901 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
38903 Corrected wrong declaration
38905 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
38907 2009-02-14 Christian Franke <franke@computer.org>
38909 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
38910 (grub_lspci_iter): Print class code and programming interface byte.
38912 2009-02-14 Christian Franke <franke@computer.org>
38914 * gendistlist.sh: Ignore `.svn' directories.
38916 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
38918 * fs/fat.c: Add 2009 to Copyright line.
38920 2009-02-14 Christian Franke <franke@computer.org>
38922 * commands/hdparm.c: New file. Provides `hdparm' command
38923 which sends ATA commands via grub_disk_ata_pass_through ().
38925 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
38927 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
38928 and <grub/cpu/io.h> to include/grub/ata.h.
38929 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
38930 (GRUB_CDROM_SECTOR_SIZE): Remove.
38931 (GRUB_ATA_*): Move to include/grub/ata.h.
38932 (GRUB_ATAPI_*): Likewise.
38933 (enum grub_ata_commands): Likewise.
38934 (enum grub_ata_timeout_milliseconds): Likewise.
38935 (struct grub_ata_device): Likewise.
38936 (grub_ata_regset): Likewise.
38937 (grub_ata_regget): Likewise.
38938 (grub_ata_regset2): Likewise.
38939 (grub_ata_regget2): Likewise.
38940 (grub_ata_check_ready): Likewise.
38941 (grub_ata_wait_not_busy): Remove static, exported in
38942 include/grub/ata.h.
38943 (grub_ata_wait_drq): Likewise.
38944 (grub_ata_pio_read): Likewise.
38946 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
38947 function for hdparm.mod.
38949 * include/grub/ata.h: New file, contains declarations from
38951 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
38953 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
38954 (grub_disk_ata_pass_through): New exported variable.
38956 * kern/disk.c (grub_disk_ata_pass_through): New variable.
38958 2009-02-13 Colin D Bennett <colin@gibibit.com>
38960 Support multiple fallback entries, and provide an API to support
38961 executing default+fallback menu entries. Renamed the `terminal' menu
38964 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
38965 variable declaration.
38966 (grub_menu_execute_callback): New structure declaration.
38967 (grub_menu_execute_callback_t): New typedef.
38968 (grub_menu_execute_with_fallback): New function declaration.
38969 (grub_menu_get_entry): Likewise.
38970 (grub_menu_get_timeout): Likewise.
38971 (grub_menu_set_timeout): Likewise.
38973 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
38975 * normal/menu.c (grub_wait_after_message): Moved to
38976 `normal/menu_text.c'.
38977 (draw_border): Likewise.
38978 (print_message): Likewise.
38979 (print_entry): Likewise.
38980 (print_entries): Likewise.
38981 (grub_menu_init_page): Likewise.
38982 (get_entry_number): Likewise.
38983 (print_timeout): Likewise.
38984 (run_menu): Likewise.
38985 (grub_menu_execute_entry): Likewise.
38986 (show_text_menu): Likewise.
38987 (get_and_remove_first_entry_number): New function.
38988 (grub_menu_execute_with_fallback): Likewise.
38989 (get_entry): Renamed to ...
38990 (grub_menu_get_entry): .. this and made it global.
38991 (get_timeout): Renamed to ...
38992 (grub_menu_get_timeout): ... this and made it global.
38993 (set_timeout): Renamed to ...
38994 (grub_menu_set_timeout): ... this and made it global.
38995 (grub_normal_terminal_menu_viewer): Renamed to ...
38996 (grub_normal_text_menu_viewer): ... this.
38998 * normal/menu_text.c: New file. Extracted text-menu-specific code
38999 from normal/menu.c.
39001 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
39002 (normal_mod_SOURCES): Likewise.
39004 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39005 (normal_mod_SOURCES): Likewise.
39007 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39008 (normal_mod_SOURCES): Likewise.
39010 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
39011 (normal_mod_SOURCES): Likewise.
39013 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39014 (normal_mod_SOURCES): Likewise.
39016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39017 (normal_mod_SOURCES): Likewise.
39019 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39020 (normal_mod_SOURCES): Likewise.
39022 2009-02-11 Robert Millan <rmh@aybabtu.com>
39024 * util/grub.d/00_header.in: Update old reference to `font' command.
39026 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
39028 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
39030 Based on patch from Javier Martín.
39032 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39034 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
39035 to avoid false positives with FAT.
39036 (grub_fstest_SOURCES): Likewise.
39037 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
39038 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39040 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39041 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39042 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39044 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
39046 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
39047 bpb.version_specific.fat12_or_fat16.fstype and
39048 bpb.version_specific.fat32.fstype.
39050 2009-02-08 Robert Millan <rmh@aybabtu.com>
39052 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
39054 2009-02-08 Robert Millan <rmh@aybabtu.com>
39056 * Makefile.in (host_os, host_cpu): New variables.
39057 (target_os): Remove. Update all users.
39059 2009-02-08 Marco Gerards <marco@gnu.org>
39061 * Makefile.in (enable_grub_emu_usb): New variable.
39062 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
39063 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
39064 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
39065 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
39066 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
39067 `usbtest.mod' and `usbms.mod'.
39068 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
39069 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
39070 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
39071 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
39072 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
39075 * disk/usbms.c: New file.
39077 * include/grub/usb.h: Likewise.
39079 * include/grub/usbtrans.h: Likewise.
39081 * include/grub/usbdesc.h: Likewise.
39083 * bus/usb/usbtrans.c: Likewise.
39085 * bus/usb/ohci.c: Likewise.
39087 * bus/usb/uhci.c: Likewise.
39089 * bus/usb/usbhub.c: Likewise.
39091 * bus/usb/usb.c: Likewise.
39093 * commands/usbtest.c: Likewise.
39095 * util/usb.c: Likewise.
39097 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
39099 * configure.ac: Test for libusb presence.
39101 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
39103 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
39105 * kern/mm.c: Add more comments.
39107 2009-02-08 Robert Millan <rmh@aybabtu.com>
39109 Patch from Javier Martín.
39110 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
39111 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
39113 2009-02-08 Robert Millan <rmh@aybabtu.com>
39115 * fs/cpio.c: Split tar functionality to ...
39116 * fs/tar.c: ... here (new file). Update all users.
39118 2009-02-07 Robert Millan <rmh@aybabtu.com>
39120 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
39121 backward-incompatible features.
39123 Based on patch from Javier Martín, with some adjustments.
39125 2009-02-07 Michael Scherer <misc@mandriva.org>
39127 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
39129 2009-02-07 Robert Millan <rmh@aybabtu.com>
39131 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
39132 position of `disk/lvm.c' to ensure grub_init_all() always picks it
39133 after the RAID stuff.
39135 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
39137 Fixes problem when running vbetest command as reported by
39138 Vladimir Serbinenko <phcoder@gmail.com>.
39140 * (grub_vbe_set_video_mode): Fixed problem with text modes.
39142 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
39144 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
39145 /dev/md/NpN style mdraid devices.
39147 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39149 * util/unifont2pff.rb: Remove.
39151 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39153 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
39156 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
39158 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
39159 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
39160 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
39161 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
39162 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39163 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39166 2009-02-02 Christian Franke <franke@computer.org>
39168 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
39170 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
39172 * INSTALL: Note that we now require at least autoconf 2.59 and
39173 that LZO is optional.
39175 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39177 Base on patch on bug #24154 created by Tomas Tintera
39178 <trosos@seznam.cz>.
39180 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
39182 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
39184 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
39185 <bero@arklinux.org>.
39187 * normal/parser.y (script_init): Add missing semicolon.
39189 2009-01-31 Colin D Bennett <colin@gibibit.com>
39191 * normal/main.c: Add include to grub/menu_viewer.h.
39192 (free_menu_entry_classes): Added.
39193 (grub_normal_menu_addentry): Added class property handling.
39194 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
39195 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
39197 * normal/menu_viewer.c: New file.
39199 * normal/menu.c (run_menu_entry): Renamed to ...
39200 (grub_menu_execute_entry): ... this and made it as global.
39201 (grub_menu_run): Renamed to ...
39202 (show_text_menu): ... this and made it local.
39203 (show_text_menu): Adapt to new function names.
39204 (grub_normal_terminal_menu_viewer): New global variable.
39206 * include/grub/menu.h: New file.
39208 * include/grub/menu_viewer.h: New file.
39210 * include/grub/normal.h: Added include to grub/menu.h.
39211 (grub_menu_entry): Moved to include/grub/menu.h.
39212 (grub_menu_entry_t): Likewise.
39213 (grub_menu): Likewise.
39214 (grub_menu_t): Likewise.
39215 (grub_normal_terminal_menu_viewer): Added.
39216 (grub_menu_execute_entry): Likewise.
39217 (grub_menu_run): Removed.
39219 * DISTLIST: Added include/grub/menu.h.
39220 Added include/grub/menu_viewer.h.
39221 Added normal/menu_viewer.c.
39223 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
39225 * normal/execute.c (grub_script_execute_menuentry): Changed to use
39226 arglist for menutitle arguments.
39228 * normal/main.c (grub_normal_menu_addentry): Likewise.
39230 * normal/parser.y (menuentry): Likewise.
39232 * normal/script.c (grub_script_create_cmdmenu): Likewise.
39234 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
39235 (grub_script_create_cmdmenu): Likewise.
39237 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
39239 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
39242 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
39244 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
39246 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
39248 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39250 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39252 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
39254 2009-01-30 Christian Franke <franke@computer.org>
39256 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
39257 in option help text.
39259 2009-01-27 Pavel Roskin <proski@gnu.org>
39261 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
39263 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39265 * commands/lsmmap.c: Add include to grub/machine/memory.h.
39267 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
39269 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
39270 unregister function.
39272 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
39274 * disk/scsi.c (grub_scsi_read): Fix sign problem.
39276 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
39278 * util/grub-mkfont.c (usage): Fix typo.
39280 * util/elf/grub-mkimage.c (load_modules): Fix warning.
39282 2009-01-26 Daniel Mierswa <impulze@impulze.org>
39284 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
39286 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
39288 * kern/misc.c (grub_strcasecmp): New function.
39289 (grub_strcasecmp): Use grub_size_t instead of int for length.
39291 * include/grub/misc.h: Update function prototypes.
39293 2009-01-26 Robert Millan <rmh@aybabtu.com>
39295 * configure.ac: Fix cross-compilation check.
39297 2009-01-22 Christian Franke <franke@computer.org>
39299 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
39300 (precision) digit string. Allow `.format2' without `format1' (width).
39301 Limit input chars for `%s' output to `format2' if specified. This is
39302 compatible with standard printf ().
39304 2009-01-22 Christian Franke <franke@computer.org>
39306 * disk/ata.c (grub_ata_wait_status): Replace by ...
39307 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
39308 other status bits may be invalid while BSY is asserted.
39309 (grub_ata_check_ready): New function.
39310 (grub_ata_cmd): Removed.
39311 (grub_ata_wait_drq): New function.
39312 (grub_ata_strncpy): Remove inline.
39313 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
39314 and error check now done by grub_ata_wait_drq ().
39315 (grub_ata_pio_write): Likewise.
39316 (grub_atapi_identify): Set DEV before check for !BSY. Use
39317 grub_ata_wait_drq () to wait for data.
39318 (grub_ata_device_initialize): Add status register check to
39319 detect missing SATA slave devices. Add debug messages.
39320 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
39321 (grub_atapi_packet): Set DEV before check for !BSY. Replace
39322 transfer loop by grub_ata_pio_write ().
39323 (grub_ata_identify): Set DEV before check for !BSY. Use
39324 grub_ata_wait_drq () to wait for data.
39325 (grub_ata_setaddress): Set DEV before check for !BSY.
39326 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
39327 read/write in one loop. Fix invalid command on write. Fix incomplete
39328 command on (size % batch) == 0. Add missing error check after write of
39329 last block. Add debug messages.
39330 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
39332 2009-01-19 Christian Franke <franke@computer.org>
39334 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
39335 (GRUB_ATAPI_IREASON_*): Likewise.
39336 (grub_ata_pio_write): Fix timeout error return.
39337 (grub_atapi_identify): Add grub_ata_wait () after cmd.
39338 (grub_atapi_wait_drq): New function.
39339 (grub_atapi_packet): New parameter `size'.
39340 Use grub_atapi_wait_drq () and direct write instead of
39341 grub_ata_pio_write ().
39342 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
39343 reads the number of bytes requested by the device for each DRQ
39345 (grub_atapi_write): Remove old implementation, return not
39346 implemented instead.
39348 2009-01-19 Christian Franke <franke@computer.org>
39350 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
39351 of 512 to calculate data size.
39352 (grub_scsi_read12): Likewise.
39353 (grub_scsi_write10): Likewise.
39354 (grub_scsi_write12): Likewise.
39355 (grub_scsi_read): Adjust size according to blocksize.
39356 Add checks for invalid blocksize and unaligned transfer.
39358 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
39360 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
39362 * term/gfxterm.c (write_char): Fix background rendering for wide
39365 2009-01-19 Robert Millan <rmh@aybabtu.com>
39367 * config.guess: Update to latest version from config git.
39368 * config.sub: Likewise.
39370 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
39372 * Makefile.in: Change font compilation to use new grub-mkfont instead
39375 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
39376 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39377 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39378 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39379 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39380 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39381 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39382 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39383 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39385 2009-01-16 Christian Franke <franke@computer.org>
39387 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
39388 (enum grub_ata_timeout_milliseconds): New enum.
39389 (grub_ata_wait_status): Add parameter milliseconds.
39390 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
39391 recovery from timed-out commands.
39392 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
39393 return grub_errno instead of REG_ERROR.
39394 (grub_ata_pio_write): Add parameter milliseconds.
39395 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
39396 Pass milliseconds to grub_ata_wait_status () and
39397 grub_ata_pio_read ().
39398 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
39399 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
39400 grub_ata_wait_status (). Fix IDENTIFY timeout check.
39401 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
39402 It is not suitable for device detection, because DEV bit is ignored,
39403 the command may run too long, and not all devices set the signature
39405 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
39406 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
39407 Fix device selection, DEV bit must be set first to address the registers
39408 of the correct device.
39409 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
39410 grub_ata_pio_read/write ().
39411 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
39412 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
39414 2009-01-13 Carles Pina i Estany <carles@pina.cat>
39416 * util/grub-editenv.c (main): Use fseeko(), not fseek().
39418 2009-01-13 Bean <bean123ch@gmail.com>
39420 * util/grub-mkfont.c (write_font): forget to remove some debug code.
39422 2009-01-13 Bean <bean123ch@gmail.com>
39424 * Makefile.in: (enable_grub_mkfont): New variable.
39425 (freetype_cflags): Likewise.
39426 (freetype_libs): Likewise.
39428 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
39429 (grub_mkfont_SOURCES): New variable.
39430 (grub_mkfont_CFLAGS): Likewise.
39431 (grub_mkfont_LDFLAGS): Likewise.
39433 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
39434 library if `--enable-grub-mkfont' is requested.
39435 (enable_grub_mkfont): New variable.
39436 (freetype_cflags): Likewise.
39437 (freetype_libs): Likewise.
39439 * util/grub-mkfont.c: New file.
39441 2009-01-12 Christian Franke <franke@computer.org>
39443 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
39444 mode check. Fix setting of compat_use[].
39446 2009-01-10 Robert Millan <rmh@aybabtu.com>
39448 Update a few copyright years which we forgot to do in 2008 (only for
39449 files whose changes made in 2008 were copyright-significant)
39451 * Makefile.in: Add 2008 to Copyright line.
39452 * disk/ieee1275/ofdisk.c: Likewise.
39453 * disk/efi/efidisk.c: Likewise.
39454 * kern/dl.c: Likewise.
39455 * kern/sparc64/ieee1275/init.c: Likewise.
39456 * kern/mm.c: Likewise.
39457 * kern/efi/mm.c: Likewise.
39458 * boot/i386/pc/boot.S: Likewise.
39459 * genfslist.sh: Likewise.
39460 * fs/iso9660.c: Likewise.
39461 * fs/hfs.c: Likewise.
39462 * fs/jfs.c: Likewise.
39463 * fs/minix.c: Likewise.
39464 * fs/ufs.c: Likewise.
39465 * gensymlist.sh.in: Likewise.
39466 * genkernsyms.sh.in: Likewise.
39467 * include/grub/misc.h: Likewise.
39468 * include/grub/types.h: Likewise.
39469 * include/grub/symbol.h: Likewise.
39470 * include/grub/elf.h: Likewise.
39471 * include/grub/kernel.h: Likewise.
39472 * include/grub/disk.h: Likewise.
39473 * include/grub/dl.h: Likewise.
39474 * include/grub/i386/linux.h: Likewise.
39475 * include/grub/i386/pc/biosdisk.h: Likewise.
39476 * include/grub/efi/api.h: Likewise.
39477 * include/grub/efi/pe32.h: Likewise.
39478 * include/grub/util/misc.h: Likewise.
39479 * normal/execute.c: Likewise.
39480 * normal/arg.c: Likewise.
39481 * normal/completion.c: Likewise.
39482 * normal/lexer.c: Likewise.
39483 * normal/parser.y: Likewise.
39484 * normal/misc.c: Likewise.
39485 * commands/i386/pc/vbeinfo.c: Likewise.
39486 * commands/hexdump.c: Likewise.
39487 * commands/terminal.c: Likewise.
39488 * commands/ls.c: Likewise.
39489 * commands/help.c: Likewise.
39490 * partmap/pc.c: Likewise.
39491 * loader/efi/chainloader.c: Likewise.
39492 * loader/multiboot_loader.c: Likewise.
39493 * loader/i386/pc/multiboot2.c: Likewise.
39494 * term/efi/console.c: Likewise.
39495 * term/i386/pc/serial.c: Likewise.
39496 * util/lvm.c: Likewise.
39497 * util/console.c: Likewise.
39498 * util/i386/efi/grub-mkimage.c: Likewise.
39499 * util/raid.c: Likewise.
39501 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
39503 * commands/videotest.c: Removed include to grub/machine/memory.h.
39505 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
39506 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
39507 (video_mod_SOURCES): Removed.
39508 (video_mod_CFLAGS): Likewise.
39509 (video_mod_LDFLAGS): Likewise.
39510 (gfxterm_mod_SOURCES): Likewise.
39511 (gfxterm_mod_CFLAGS): Likewise.
39512 (gfxterm_mod_LDFLAGS): Likewise.
39513 (videotest_mod_SOURCES): Likewise.
39514 (videotest_mod_CFLAGS): Likewise.
39515 (videotest_mod_LDFLAGS): Likewise.
39516 (bitmap_mod_SOURCES): Likewise.
39517 (bitmap_mod_CFLAGS): Likewise.
39518 (bitmap_mod_LDFLAGS): Likewise.
39519 (tga_mod_SOURCES): Likewise.
39520 (tga_mod_CFLAGS): Likewise.
39521 (tga_mod_LDFLAGS): Likewise.
39522 (jpeg_mod_SOURCES): Likewise.
39523 (jpeg_mod_CFLAGS): Likewise.
39524 (jpeg_mod_LDFLAGS): Likewise.
39525 (png_mod_SOURCES): Likewise.
39526 (png_mod_CFLAGS): Likewise.
39527 (png_mod_LDFLAGS): Likewise.
39529 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
39530 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
39531 (video_mod_SOURCES): Added.
39532 (video_mod_CFLAGS): Likewise.
39533 (video_mod_LDFLAGS): Likewise.
39534 (videotest_mod_SOURCES): Likewise.
39535 (videotest_mod_CFLAGS): Likewise.
39536 (videotest_mod_LDFLAGS): Likewise.
39537 (bitmap_mod_SOURCES): Likewise.
39538 (bitmap_mod_CFLAGS): Likewise.
39539 (bitmap_mod_LDFLAGS): Likewise.
39540 (tga_mod_SOURCES): Likewise.
39541 (tga_mod_CFLAGS): Likewise.
39542 (tga_mod_LDFLAGS): Likewise.
39543 (jpeg_mod_SOURCES): Likewise.
39544 (jpeg_mod_CFLAGS): Likewise.
39545 (jpeg_mod_LDFLAGS): Likewise.
39546 (png_mod_SOURCES): Likewise.
39547 (png_mod_CFLAGS): Likewise.
39548 (png_mod_LDFLAGS): Likewise.
39549 (gfxterm_mod_SOURCES): Likewise.
39550 (gfxterm_mod_CFLAGS): Likewise.
39551 (gfxterm_mod_LDFLAGS): Likewise.
39553 * term/gfxterm.c: Removed include to grub/machine/memory.h,
39554 grub/machine/console.h.
39556 2009-01-04 Jerone Young <jerone@gmail.com>
39558 Make on screen instructions clearer
39560 Based on patch created by Jidanni <jidanni@jidanni.org>
39562 * normal/menu.c: print clearer instructions on the screen
39564 2009-01-02 Colin D Bennett <colin@gibibit.com>
39568 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
39569 build system and fixed gfxterm.c to work with different sized fonts.
39571 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
39573 * configure: Re-generated.
39575 * DISTLIST: Removed font/manager.c.
39577 Added font/font_cmd.c.
39579 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
39582 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
39584 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
39586 * kern/term.c: Changed users of grub_utf8_to_ucs4.
39588 * normal/menu.c: Likewise.
39590 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
39591 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
39593 * include/grub/font.h: Replaced with new file.
39595 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
39596 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
39597 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
39598 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
39599 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
39600 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
39601 fg_red, fg_green, fg_blue, fg_alpha.
39602 (grub_video_adapter): Removed blit_glyph.
39603 (grub_video_blit_glyph): Removed.
39605 * font/manager.c: Removed file.
39607 * font/font.c: New file.
39609 * font/font_cmd.c: Likewise.
39611 * video/video.c (grub_video_blit_glyph): Removed.
39613 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
39614 (grub_video_vbe_map_rgba): Likewise.
39615 (grub_video_vbe_unmap_color_int): Likewise.
39616 (grub_video_vbe_blit_glyph): Removed.
39617 (grub_video_vbe_adapter): Removed blit_glyph.
39619 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
39620 (get_pixel): Likewise.
39621 (set_pixel): Likewise.
39623 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
39625 * term/gfxterm.c: Adapted to new font engine.
39627 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
39629 * term/i386/pc/vga.c: Likewise.
39631 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
39633 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
39635 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39637 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
39639 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
39641 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
39643 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
39645 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
39647 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
39649 * util/grub.d/00_header.in: Changed to use new loadfont command.
39651 * util/grub-mkconfig_lib.in: Changed font extension.
39653 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
39655 * util/getroot.c (grub_util_get_grub_dev): Add support for
39656 /dev/md/dNNpNN style partitionable mdraid devices.
39658 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
39660 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
39661 at a time limit of the PXE TFTP API correctly.
39662 (grub_pxefs_close): Likewise.
39664 2008-11-29 Robert Millan <rmh@aybabtu.com>
39666 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
39667 grub_ata_device_initialize() calls.
39669 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
39671 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
39673 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
39675 2008-11-28 Robert Millan <rmh@aybabtu.com>
39677 Fix build on powerpc-ieee1275. Based on patch created by
39678 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
39679 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
39680 `kern/ieee1275/mmap.c'.
39681 * include/grub/powerpc/ieee1275/memory.h: New file.
39683 Provide grub-install on coreboot.
39684 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
39685 (grub_install_SOURCES): New variable.
39686 * util/i386/pc/grub-install.in: Add a few condition checks to make it
39687 usable on coreboot.
39689 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
39691 * util/grub-fstest.c (grub_term_get_current_input): Change return type
39692 to `grub_term_input_t'.
39693 (grub_term_get_current_output): Change return type to
39694 `grub_term_output_t'.
39696 2008-11-22 Robert Millan <rmh@aybabtu.com>
39698 Fix breakage on coreboot due to declaration mismatch.
39699 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
39700 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
39701 grub_vga_text_cls().
39703 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
39704 comments. Avoid copying one more byte than necessary (just in case).
39706 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
39707 to 0x200000 (avoids trouble with some OFW implementations, and matches
39708 with the one in Yaboot).
39709 Reported by Manoel Abranches
39711 2008-11-20 Robert Millan <rmh@aybabtu.com>
39713 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
39714 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
39716 * util/grub-mkconfig_lib.in (grub_warn): New function.
39717 (convert_system_path_to_grub_path): Use grub_warn() when issuing
39718 warnings, to obtain consistent formatting.
39719 * util/grub.d/00_header.in: Likewise.
39720 * util/update-grub_lib.in: Likewise.
39722 * loader/i386/linux.c (allocate_pages): Fix a warning.
39723 Move comment text to `#error' stanza.
39725 Harmonize ieee1275's grub_available_iterate() with the generic
39726 grub_machine_mmap_iterate() interface (fixes a recently-introduced
39727 build problem on i386-ieee1275):
39728 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
39729 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
39730 parameter `type'. Update all users of this function.
39731 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
39732 `kern/ieee1275/mmap.c'.
39733 * kern/ieee1275/init.c
39734 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
39736 (grub_machine_mmap_iterate): ... this.
39737 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
39738 return type to `grub_err_t'. Update all implementations of this
39739 function prototype.
39740 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
39743 Add `lsmmap' command (lists firmware-provided memory map):
39744 * commands/lsmmap.c: New file.
39745 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
39746 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
39748 * conf/powerpc-ieee1275.rmk: Likewise.
39749 * conf/i386-coreboot.rmk: Likewise.
39750 * conf/i386-ieee1275.rmk: Likewise.
39752 2008-11-19 Robert Millan <rmh@aybabtu.com>
39754 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
39755 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
39756 constraints to initrd allocation (based on code from
39757 loader/i386/pc/linux.c). Without them, initrd was allocated too high
39758 for Linux to find it.
39760 2008-11-14 Robert Millan <rmh@aybabtu.com>
39762 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
39763 order to cope with duplicate slashes.
39765 2008-11-14 Robert Millan <rmh@aybabtu.com>
39767 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
39768 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
39769 don't want to mess with lower memory, because it is used in the Linux
39772 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
39773 an appropriate place in lower memory, between 0x10000 and 0x90000,
39774 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
39775 is in our heap (probably as a result of it being corrupted during
39776 decompression). Add #error instance with comment to explain why this
39777 loader isn't currently usable on PC/BIOS.
39779 2008-11-14 Robert Millan <rmh@aybabtu.com>
39781 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
39782 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
39784 2008-11-12 Robert Millan <rmh@aybabtu.com>
39786 Make loader/i386/linux.c buildable on i386-pc (although disabled).
39788 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
39789 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
39791 * include/grub/i386/pc/memory.h: ... to here.
39793 2008-11-12 Robert Millan <rmh@aybabtu.com>
39795 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
39798 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
39799 (grub_console_cur_color, grub_console_real_putchar)
39800 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39801 (grub_console_setcolorstate, grub_console_setcolor)
39802 (grub_console_getcolor): Move from here ...
39803 * include/grub/i386/vga_common.h: ... to here (new file).
39805 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
39806 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
39807 `<grub/i386/io.h>'.
39808 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
39809 `<grub/i386/vga_common.h>'.
39811 2008-11-12 Robert Millan <rmh@aybabtu.com>
39813 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
39814 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
39815 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
39817 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39818 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
39820 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
39821 grub_console_init() with call to grub_vga_text_init().
39822 (grub_machine_fini): Replace call to
39823 grub_console_fini() with call to grub_vga_text_fini() and
39824 grub_at_keyboard_fini().
39826 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
39827 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
39828 (grub_console_setcolorstate, grub_console_setcolor)
39829 (grub_console_getcolor): New function prototypes.
39831 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
39832 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
39833 (grub_vga_text_setcursor): Static-ize.
39834 (grub_vga_text_term): New structure.
39835 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
39837 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
39838 (grub_console_cur_color, grub_console_standard_color)
39839 (grub_console_normal_color, grub_console_highlight_color)
39840 (map_char, grub_console_putchar, grub_console_getcharwidth)
39841 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
39842 (grub_console_getcolor): Move from here ...
39843 * term/i386/vga_common.c: ... to here (same function names).
39845 2008-11-12 Robert Millan <rmh@aybabtu.com>
39847 Use newly-added Multiboot support in coreboot.
39849 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
39850 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
39852 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
39853 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
39854 (codestart): Store the MBI in `startup_multiboot_info' when we're
39855 being loaded using Multiboot.
39857 * kern/i386/coreboot/init.c (grub_machine_init): Move
39858 grub_at_keyboard_init() call to beginning of function (useful for
39859 debugging). Call grub_machine_mmap_init() before attempting to use
39860 grub_machine_mmap_iterate().
39861 (grub_lower_mem, grub_upper_mem): Move from here ...
39862 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
39865 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
39866 function prototype.
39868 2008-11-12 Robert Millan <rmh@aybabtu.com>
39870 Fix a regression introduced by the at_keyboard.mod split. Because
39871 some terminals are default on some platforms and non-default on
39872 others, the first terminal being registered determines which is
39873 going to be default.
39875 * kern/term.c (grub_term_register_input): If this is the first
39876 terminal being registered, set it as the current one.
39877 (grub_term_register_output): Likewise.
39879 * term/efi/console.c (grub_console_init): Do not call
39880 grub_term_set_current_output() or grub_term_set_current_input().
39881 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
39882 * term/i386/pc/console.c (grub_console_init): Likewise.
39883 (grub_console_fini): Do not call grub_term_set_current_input()
39884 (but leave grub_term_set_current_output() to restore text mode).
39886 2008-11-10 Robert Millan <rmh@aybabtu.com>
39888 * util/grub.d/00_header.in: Add backward compatibility check for
39889 versions of terminal.mod that don't understand `terminal_input' or
39892 2008-11-09 Robert Millan <rmh@aybabtu.com>
39894 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
39895 `terminal_input' / `terminal_output', not `terminal'.
39897 2008-11-08 Robert Millan <rmh@aybabtu.com>
39899 * Makefile.in (include_DATA): Fix srcdir=. assumption.
39900 (DISTCLEANFILES): Add `build_env.mk'.
39902 2008-11-08 Robert Millan <rmh@aybabtu.com>
39904 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
39905 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
39906 members. Update all users.
39907 * util/console.c (grub_ncurses_term): Split in ...
39908 (grub_ncurses_term_input): ... this, and ...
39909 (grub_ncurses_term_output): ... this. Update all users.
39910 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
39912 2008-11-08 Robert Millan <rmh@aybabtu.com>
39914 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
39915 (PKGDATA): Add $(pkgdata_SRCDIR).
39916 (pkglib_BUILDDIR): New variable.
39917 (pkgdata_SRCDIR): New variable.
39918 (build_env.mk): New target.
39919 (include_DATA): New variable.
39920 (install-local): Install $(include_DATA) files in $(includedir).
39922 2008-11-07 Pavel Roskin <proski@gnu.org>
39924 * gendistlist.sh: Use C locale for sorting to ensure consistent
39925 output on all systems.
39927 * util/grub.d/00_header.in: Remove incorrect space before
39930 2008-11-07 Robert Millan <rmh@aybabtu.com>
39932 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
39934 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
39935 * loader/multiboot_loader.c (find_multi_boot2_header): New function
39936 (based on find_multi_boot1_header).
39937 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
39938 using find_multi_boot2_header(), and abort if neither Multiboot or
39939 Multiboot headers were found.
39941 2008-11-07 Robert Millan <rmh@aybabtu.com>
39943 Modularize at_keyboard.mod:
39945 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
39946 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
39947 (at_keyboard_mod_LDFLAGS): New variables.
39949 Actual terminal split:
39951 * include/grub/term.h (struct grub_term): Split in ...
39952 (struct grub_term_input): ... this, and ...
39953 (struct grub_term_output): ... this. Update all users.
39954 (grub_term_set_current): Split in ...
39955 (grub_term_set_current_input): ... this, and ...
39956 (grub_term_set_current_output): ... this.
39957 (grub_term_get_current): Split in ...
39958 (grub_term_get_current_input): ... this, and ...
39959 (grub_term_get_current_output): ... this.
39960 (grub_term_register): Split in ...
39961 (grub_term_register_input): ... this, and ...
39962 (grub_term_register_output): ... this.
39963 (grub_term_unregister): Split in ...
39964 (grub_term_unregister_input): ... this, and ...
39965 (grub_term_unregister_output): ... this.
39966 (grub_term_iterate): Split in ...
39967 (grub_term_iterate_input): ... this, and ...
39968 (grub_term_iterate_output): ... this.
39970 * kern/term.c (grub_term_list): Split in ...
39971 (grub_term_list_input): ... this, and ...
39972 (grub_term_list_output): ... this. Update all users.
39973 (grub_cur_term): Split in ...
39974 (grub_cur_term_input): ... this, and ...
39975 (grub_cur_term_output): ... this. Update all users.
39976 (grub_term_set_current): Split in ...
39977 (grub_term_set_current_input): ... this, and ...
39978 (grub_term_set_current_output): ... this.
39979 (grub_term_get_current): Split in ...
39980 (grub_term_get_current_input): ... this, and ...
39981 (grub_term_get_current_output): ... this.
39982 (grub_term_register): Split in ...
39983 (grub_term_register_input): ... this, and ...
39984 (grub_term_register_output): ... this.
39985 (grub_term_unregister): Split in ...
39986 (grub_term_unregister_input): ... this, and ...
39987 (grub_term_unregister_output): ... this.
39988 (grub_term_iterate): Split in ...
39989 (grub_term_iterate_input): ... this, and ...
39990 (grub_term_iterate_output): ... this.
39992 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
39993 a check for input and one for output (and only attempt to get keys
39994 from user when input works).
39996 * util/grub-probe.c (grub_term_get_current): Split in ...
39997 (grub_term_get_current_input): ... this, and ...
39998 (grub_term_get_current_output): ... this.
39999 * util/grub-fstest.c: Likewise.
40000 * util/i386/pc/grub-setup.c: Likewise.
40001 * util/grub-editenv.c: Likewise.
40003 Portability adjustments:
40005 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
40006 `term/i386/pc/at_keyboard.c'.
40007 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
40008 grub_keyboard_controller_init() (now handled by terminal .init).
40009 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
40010 grub_at_keyboard_init().
40011 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
40012 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
40013 at_keyboard.mod via input terminal interface).
40014 * include/grub/i386/coreboot/console.h: Convert into a stub for
40015 `<grub/i386/pc/console.h>'.
40017 Migrate full terminals to new API:
40019 * term/efi/console.c (grub_console_term): Split into ...
40020 (grub_console_term_input): ... this, and ...
40021 (grub_console_term_output): ... this. Update all users.
40022 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
40023 (grub_ofconsole_init): Split into ...
40024 (grub_ofconsole_init_input): ... this, and ...
40025 (grub_ofconsole_init_output): ... this.
40026 (grub_ofconsole_term): Split into ...
40027 (grub_ofconsole_term_input): ... this, and ...
40028 (grub_ofconsole_term_output): ... this. Update all users.
40029 * term/i386/pc/serial.c (grub_serial_term): Split into ...
40030 (grub_serial_term_input): ... this, and ...
40031 (grub_serial_term_output): ... this. Update all users.
40032 * term/i386/pc/console.c (grub_console_term): Split into ...
40033 (grub_console_term_input): ... this, and ...
40034 (grub_console_term_output): ... this. Update all users.
40035 (grub_console_term_input): Only enable it on PC/BIOS platform.
40036 (grub_console_init): Remove grub_keyboard_controller_init() call.
40038 Migrate input terminals to new API:
40040 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
40041 `i386' and `i386/pc' to enable build on x86_64 (this driver is
40042 i386-specific anyway).
40043 (grub_console_checkkey): Rename to ...
40044 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
40046 (grub_keyboard_controller_orig): New variable.
40047 (grub_console_getkey): Rename to ...
40048 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
40050 (grub_keyboard_controller_init): Static-ize. Save original
40051 controller value so that it can be restored ...
40052 (grub_keyboard_controller_fini): ... here (new function).
40053 (grub_at_keyboard_term): New structure.
40054 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
40057 Migrate output terminals to new API:
40059 * term/i386/pc/vga.c (grub_vga_term): Change type to
40060 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40061 members. Update all users.
40062 * term/gfxterm.c (grub_video_term): Change type to
40063 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
40064 members. Update all users.
40065 * include/grub/i386/pc/console.h (grub_console_checkkey)
40066 (grub_console_getkey): Do not export (no longer needed by gfxterm,
40069 Migrate `terminal' command and userland tools to new API:
40071 * commands/terminal.c (grub_cmd_terminal): Split into ...
40072 (grub_cmd_terminal_input): ... this, and ...
40073 (grub_cmd_terminal_output): ... this.
40074 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
40075 `terminal_input' and `terminal_output'.
40076 * util/grub.d/00_header.in: Adjust `terminal' calls to new
40077 `terminal_input' / `terminal_output' API.
40078 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
40079 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
40080 provided ${GRUB_TERMINAL}, convert it).
40082 2008-11-04 Robert Millan <rmh@aybabtu.com>
40084 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
40086 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
40088 2008-11-03 Bean <bean123ch@gmail.com>
40090 * kern/elf.c (grub_elf32_load): Revert to previous code.
40091 (grub_elf64_load): Likewise.
40093 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
40095 2008-11-01 Robert Millan <rmh@aybabtu.com>
40097 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
40098 (TARGET_CPPFLAGS): Likewise.
40099 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
40101 2008-11-01 Carles Pina i Estany <carles@pina.cat>
40103 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
40105 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40107 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
40108 addition of objects until the code is not going to be able to fail.
40110 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
40112 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
40113 (add a missing NULL check, and correct them by moving the pointer
40114 operations after the actual check).
40116 2008-10-29 Robert Millan <rmh@aybabtu.com>
40118 * util/i386/pc/grub-install.in: Handle empty string as output from
40119 make_system_path_relative_to_its_root().
40121 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
40123 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
40124 circular metadata worst case scenario. If the metadata is circular
40125 then copy the wrap in place.
40126 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
40127 project lib/format_text/layout.h
40128 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
40130 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40132 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
40134 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
40136 * util/update-grub_lib.in: Mention filename in warning message.
40138 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40140 * NEWS: Update for rename of update-grub to grub-mkconfig.
40142 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
40144 * util/update-grub_lib.in: Copy to ...
40145 * util/grub-mkconfig_lib.in: ... this. Update all users.
40146 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
40147 * util/update-grub.in: Rename to ...
40148 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
40149 option. Add `--output' option to allow users to specify the generated
40150 configuration file. Default to stdout.
40151 (update_grub_dir): Rename to ...
40152 (grub_mkconfig_dir): ... this.
40153 (grub_cfg): Default to an empty string.
40154 * conf/common.rmk (update-grub): Rename to ...
40155 (grub-mkconfig): ... this.
40156 (update-grub_lib): Copy to ...
40157 (grub-mkconfig_lib): ... this.
40158 (update-grub_SCRIPTS): Copy to ...
40159 (grub-mkconfig_SCRIPTS): ... this. Update all users.
40160 (update-grub_DATA): Rename to ...
40161 (grub-mkconfig_DATA): ... this.
40163 2008-09-28 Robert Millan <rmh@aybabtu.com>
40165 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
40166 to `modified'. Add the real `created' field.
40167 (grub_iso9660_uuid): Use `modified' rather than `created' for
40168 constructing the UUID.
40170 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
40172 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
40173 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
40175 2008-09-28 Bean <bean123ch@gmail.com>
40177 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
40178 Thanks to Christian Franke for finding this bug.
40180 2008-09-25 Robert Millan <rmh@aybabtu.com>
40182 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
40183 instances of grub_util_get_disk_name() (see previous commit).
40185 2008-09-25 Robert Millan <rmh@aybabtu.com>
40187 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
40188 `util/i386/get_disk_name.c'.
40189 * conf/i386-efi.rmk: Likewise.
40190 * conf/x86_64-efi.rmk: Likewise.
40191 * conf/i386-coreboot.rmk: Likewise.
40192 * conf/i386-ieee1275.rmk: Likewise.
40193 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
40194 `util/ieee1275/get_disk_name.c'.
40195 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
40196 * util/ieee1275/get_disk_name.c: Remove file.
40197 * util/i386/get_disk_name.c: Remove file.
40198 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
40199 "hd%d" for device.map entries, rather than using
40200 grub_util_get_disk_name().
40202 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40204 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
40206 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
40208 2008-09-24 Carles Pina i Estany <carles@pina.cat>
40210 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
40212 (GRUB_TERM_PPAGE): Changed to 0x4900.
40214 2008-09-24 Robert Millan <rmh@aybabtu.com>
40216 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
40217 macros (they were i386-pc specific).
40218 * include/grub/sparc64/ieee1275/console.h: Likewise.
40219 * include/grub/efi/console.h: Likewise.
40221 2008-09-22 Bean <bean123ch@gmail.com>
40223 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
40224 resident and in attribute list.
40226 * include/grub/ntfs.h (BMP_LEN): Removed.
40228 2008-09-22 Bean <bean123ch@gmail.com>
40230 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
40231 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
40233 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
40234 error occurs, as grub_disk_open will call grub_disk_close, which will
40235 call p->close (scsi).
40237 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40239 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
40240 (AC_PREREQ): Bumped to 2.59.
40241 (AC_TRY_COMPILE): Replace obsolete macro with ...
40242 (AC_COMPILE_IFELSE): ... this.
40243 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
40244 (AC_LINK_IFELSE): ... this.
40246 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
40248 * autogen.sh: Add a call to `gendistlist.sh'.
40250 2008-09-19 Christian Franke <franke@computer.org>
40252 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
40253 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
40254 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
40255 Export __enable_execute_stack() to modules.
40256 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
40259 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40261 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
40264 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
40266 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
40267 #include <grub/util/hostdisk.h>.
40269 2008-09-08 Robert Millan <rmh@aybabtu.com>
40271 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
40272 segments when their filesz is zero (grub_file_read() interprets
40273 zero-size as "read until EOF", which results in memory corruption).
40274 Use `lowest_segment' rather than 0 for calculating the current
40275 segment load address.
40277 2008-09-08 Robert Millan <rmh@aybabtu.com>
40279 * util/hostdisk.c (open_device): Replace a grub_util_info() call
40280 with grub_dprintf("hostdisk", ...), as it was so verbose that it
40281 clobbered useful information.
40283 2008-09-08 Robert Millan <rmh@aybabtu.com>
40285 * include/grub/util/biosdisk.h: Move to ...
40286 * include/grub/util/hostdisk.h: ... here. Update all users.
40287 * util/biosdisk.c: Move to ...
40288 * util/hostdisk.c: ... here. Update all users.
40290 2008-09-07 Robert Millan <rmh@aybabtu.com>
40292 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
40294 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
40295 and length can be stored directly in the `mbi->mmap_addr' and
40296 `mbi->mmap_length' struct fields.
40298 2008-09-07 Robert Millan <rmh@aybabtu.com>
40300 * conf/i386.rmk: New file. Provides declaration for building
40302 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
40303 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
40305 Include `conf/i386.mk'.
40306 * conf/i386-efi.rmk: Likewise.
40307 * conf/x86_64-efi.rmk: Likewise.
40308 * conf/i386-coreboot.rmk: Likewise.
40309 * conf/i386-ieee1275.rmk: Likewise.
40311 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
40313 Based on patch created by Colin D Bennett <colin@gibibit.com>.
40314 Adds optimization support for BGR based modes.
40316 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
40317 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40318 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40319 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40320 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40321 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40322 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40323 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40324 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40325 (grub_video_i386_vbeblit_index_index): Likewise.
40326 (grub_video_i386_vbeblit_replace_directN): Added.
40327 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40328 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40329 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40330 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40331 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40332 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40333 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40334 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40335 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40336 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40337 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40338 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40339 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40341 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
40342 (grub_video_i386_vbefill_R8G8B8): Likewise.
40343 (grub_video_i386_vbefill_index): Likewise.
40344 (grub_video_i386_vbefill_direct32): Added.
40345 (grub_video_i386_vbefill_direct24): Likewise.
40346 (grub_video_i386_vbefill_direct16): Likewise.
40347 (grub_video_i386_vbefill_direct8): Likewise.
40349 * include/grub/video.h (grub_video_blit_format): Removed
40350 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
40351 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
40352 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
40353 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
40354 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
40356 * video/video.c (grub_video_get_blit_format): Updated to use new
40357 blit formats. Added handling for 16 bit color modes.
40359 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
40361 (common_blitter): Updated to use new blitters.
40363 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
40365 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
40366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40367 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40368 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40369 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40370 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40371 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40372 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40373 (grub_video_i386_vbeblit_index_index): Likewise.
40374 (grub_video_i386_vbeblit_replace_directN): Added.
40375 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
40376 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
40377 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
40378 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
40379 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
40380 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
40381 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
40382 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
40383 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
40384 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
40385 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
40386 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
40387 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
40389 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
40390 (grub_video_i386_vbefill_R8G8B8): Likewise.
40391 (grub_video_i386_vbefill_index): Likewise.
40392 (grub_video_i386_vbefill_direct32): Added.
40393 (grub_video_i386_vbefill_direct24): Likewise.
40394 (grub_video_i386_vbefill_direct16): Likewise.
40395 (grub_video_i386_vbefill_direct8): Likewise.
40397 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
40400 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
40403 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
40406 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
40409 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40411 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
40414 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
40416 * fs/iso9660.c (grub_iso9660_date): New structure.
40417 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
40418 (grub_iso9660_uuid): New function.
40420 2008-09-05 Bean <bean123ch@gmail.com>
40422 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
40424 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
40425 insensitive bit for names in Win32 and Win32 & DOS namespace.
40427 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
40429 * include/grub/types.h (LONG_MAX): Likewise.
40431 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40433 * util/getroot.c: Include <config.h>.
40434 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
40435 add support for /dev/md/N devices and handle LVM double dash escaping.
40437 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
40439 * config.guess: Update to latest version from config git.
40440 * config.sub: Likewise.
40442 2008-09-03 Robert Millan <rmh@aybabtu.com>
40444 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
40445 `disk->total_sectors'.
40447 2008-09-01 Colin D Bennett <colin@gibibit.com>
40449 * include/grub/normal.h: Fixed incorrect comment for
40450 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
40452 2008-09-01 Colin D Bennett <colin@gibibit.com>
40454 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
40455 values with defines.
40457 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
40458 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
40459 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
40460 (GRUB_VBE_MODEATTR_COLOR): Likewise.
40461 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
40462 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
40463 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
40464 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
40465 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
40466 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
40467 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
40468 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
40469 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
40470 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
40471 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
40472 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
40473 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
40474 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
40475 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
40477 2008-08-31 Robert Millan <rmh@aybabtu.com>
40479 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
40481 (grub_multiboot): Fix a few warnings.
40483 2008-08-31 Robert Millan <rmh@aybabtu.com>
40485 * loader/i386/pc/multiboot.c: Update comment not to say that
40486 boot_device support is unimplemented.
40488 2008-08-31 Robert Millan <rmh@aybabtu.com>
40490 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
40491 or memory map support are unimplemented.
40493 2008-08-31 Colin D Bennett <colin@gibibit.com>
40495 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
40497 2008-08-31 Colin D Bennett <colin@gibibit.com>
40499 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
40500 total video memory in 'vbeinfo' output; show color format details for
40503 2008-08-30 Pavel Roskin <proski@gnu.org>
40505 * util/genmoddep.c: Remove for real this time.
40506 * DISTLIST: Remove util/genmoddep.c.
40508 2008-08-30 Robert Millan <rmh@aybabtu.com>
40510 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
40511 as required by Multiboot spec (it was already 4-byte aligned, but
40514 2008-08-29 Pavel Roskin <proski@gnu.org>
40516 * kern/powerpc/ieee1275/crt0.S: Rename to ...
40517 * kern/powerpc/ieee1275/startup.S: ... this.
40518 * conf/powerpc-ieee1275.rmk: Adjust for the above.
40519 * DISTLIST: Likewise.
40521 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
40522 grub/cpu/kernel.h. Add start label for consistency with other
40523 platforms. Add grub_prefix immediately after start. Add jump
40524 to the code after grub_prefix.
40525 * include/grub/powerpc/kernel.h: Provide valid values for
40526 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
40528 2008-08-29 Bean <bean123ch@gmail.com>
40530 * configure.ac: Change host_os to cygwin for mingw.
40531 (asprintf): New check for function.
40533 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
40534 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
40536 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
40537 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
40538 sync, sleep and grub_util_get_disk_size for mingw.
40540 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
40541 to get size in mingw.
40542 (open_device): Use flag O_BINARY if it's defined.
40543 (find_root_device): Add dummy code for mingw.
40545 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
40546 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
40547 (get_scsi_disk_name): Return 0 for mingw.
40549 * util/hostfs.c: #include <grub/util/misc.h>.
40550 (grub_hostfs_open): Use "rb" flag to open file, use
40551 grub_util_get_disk_size to get disk size for mingw.
40553 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
40554 (asprintf): New function if HAVE_ASPRINTF is not set.
40555 (sync): New function for mingw.
40557 (grub_util_get_disk_size): Likewise.
40559 2008-08-28 Pavel Roskin <proski@gnu.org>
40561 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
40564 2008-08-28 Robert Millan <rmh@aybabtu.com>
40566 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
40568 2008-08-28 Robert Millan <rmh@aybabtu.com>
40570 Change find_grub_drive() syntax so it doesn't prevent it from
40571 detecting NULL names as errors.
40573 * util/biosdisk.c (find_grub_drive): Move free slot search code
40575 (find_free_slot): ... to here.
40576 (read_device_map): Use find_free_slot() to search for free slots.
40578 2008-08-27 Marco Gerards <marco@gnu.org>
40580 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
40581 (scsi_mod_SOURCES): New variable.
40582 (scsi_mod_CFLAGS): Likewise
40583 (scsi_mod_LDFLAGS): Likewise.
40585 * disk/scsi.c: New file.
40587 * include/grub/scsi.h: Likewise.
40589 * include/grub/scsicmd.h: Likewise.
40591 * disk/ata.c: Include <grub/scsi.h>.
40592 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
40594 (grub_ata_iterate): Skip ATAPI devices.
40595 (grub_ata_open): Only handle ATAPI devices.
40596 (struct grub_atapi_read): Removed.
40597 (grub_atapi_readsector): Likewise.
40598 (grub_ata_read): No longer handle ATAPI devices.
40599 (grub_ata_write): Likewise.
40600 (grub_atapi_iterate): New function.
40601 (grub_atapi_read): Likewise.
40602 (grub_atapi_write): Likewise.
40603 (grub_atapi_open): Likewise.
40604 (grub_atapi_close): Likewise.
40605 (grub_atapi_dev): New variable.
40606 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
40607 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
40609 * include/grub/disk.h (enum grub_disk_dev_id): Add
40610 `GRUB_DISK_DEVICE_SCSI_ID'.
40612 2008-08-26 Robert Millan <rmh@aybabtu.com>
40614 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
40615 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
40618 2008-08-23 Bean <bean123ch@gmail.com>
40620 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
40621 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40622 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
40623 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
40625 (raid5rec_mod_SOURCES): New macro.
40626 (raid5rec_mod_CFLAGS): Likewise.
40627 (raid5rec_mod_LDFLAGS): Likewise.
40628 (raid6rec_mod_SOURCES): Likewise.
40629 (raid6rec_mod_CFLAGS): Likewise.
40630 (raid6rec_mod_LDFLAGS): Likewise.
40631 (mdraid_mod_SOURCES): Likewise.
40632 (mdraid_mod_CFLAGS): Likewise.
40633 (mdraid_mod_LDFLAGS): Likewise.
40634 (dm_nv_mod_SOURCES): Likewise.
40635 (dm_nv_mod_CFLAGS): Likewise.
40636 (dm_nv_mod_LDFLAGS): Likewise.
40638 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
40639 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
40640 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40642 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
40643 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
40645 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
40647 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
40649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40653 * disk/raid5_recover.c: New file.
40655 * disk/raid6_recover.c: Likewise.
40657 * disk/mdraid_linux.c: Likewise.
40659 * disk/dmraid_nvidia.c: Likewise.
40661 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
40664 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
40665 calculate the size of raid device.
40666 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
40667 different layout of raid5.
40668 (grub_raid_scan_device): Remove code specific to mdraid.
40669 (grub_raid_list): New variable.
40670 (free_array): New function.
40671 (grub_raid_register): Likewise.
40672 (grub_raid_unregister): Likewise.
40673 (grub_raid_rescan): Likewise.
40674 (GRUB_MOD_INIT): Don't iterate device here.
40675 (GRUB_MOD_FINI): Use free_array to release resource.
40677 * include/grub/raid.h: Remove macro and structure specific to mdraid.
40678 (grub_raid5_recover_func_t): New function variable type.
40679 (grub_raid6_recover_func_t): Likewise.
40680 (grub_raid5_recover_func): New variable.
40681 (grub_raid6_recover_func): Likewise.
40682 (grub_raid_register): New function.
40683 (grub_raid_unregister): Likewise.
40684 (grub_raid_rescan): Likewise.
40685 (grub_raid_block_xor): Likewise.
40687 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
40688 (CMD_CRC): New macro.
40690 (read_file): Handle device as well as file.
40691 (cmd_crc): New function.
40692 (fstest): Handle multiple disks.
40693 (options): Remove part, raw and long, add root and diskcount.
40694 (usage): Add crc, remove -p, -r, -l, add -r and -c.
40695 (main): Find the first non option entry and ignore subsequent options,
40696 add handling for the new options, support multiple disks.
40698 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
40700 2008-08-23 Bean <bean123ch@gmail.com>
40702 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
40704 * genfslist.sh: Ignore kernel.mod.
40706 * genpartmaplist.sh: Likewise.
40708 2008-08-23 Robert Millan <rmh@aybabtu.com>
40710 * util/getroot.c (find_root_device): Skip anything that starts with
40711 a dot, not just directories. This avoids things like /dev/.tmp.md0.
40713 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
40715 * util/update-grub.in (GRUB_GFXMODE): Export variable.
40716 * util/grub.d/00_header.in: Allow the administrator to change default
40717 gfxmode via ${GRUB_GFXMODE}.
40719 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
40721 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
40723 2008-08-21 Robert Millan <rmh@aybabtu.com>
40725 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
40727 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
40728 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
40730 2008-08-20 Carles Pina i Estany <carles@pina.cat>
40732 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
40733 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
40735 2008-08-19 Robert Millan <rmh@aybabtu.com>
40737 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
40738 (struct grub_virtual_screen): Remove `cursor_color'.
40739 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
40741 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
40743 2008-08-18 Robert Millan <rmh@aybabtu.com>
40745 Unify (identical) linux_normal.c files.
40746 * loader/i386/efi/linux_normal.c: Move from here ...
40747 * loader/linux_normal.c: ... to here. Update all users.
40748 * loader/i386/pc/linux_normal.c: Delete. Update all users.
40749 * loader/i386/ieee1275/linux_normal.c: Likewise.
40751 2008-08-18 Robert Millan <rmh@aybabtu.com>
40753 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
40754 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
40755 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
40756 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
40757 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
40759 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
40760 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
40761 (GRUB_LINUX_CL_END_OFFSET): ... to here.
40762 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
40763 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
40764 (GRUB_EFI_CL_END_OFFSET): Rename to ...
40765 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
40766 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
40767 Initialize `params->video_cursor_x' and `params->video_cursor_y'
40768 portably using grub_getxy().
40769 Replace `-EFI' with `-bzImage' in boot message.
40771 2008-08-17 Robert Millan <rmh@aybabtu.com>
40773 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
40775 2008-08-17 Robert Millan <rmh@aybabtu.com>
40777 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
40779 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
40780 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
40781 (grub_machine_mmap_iterate): New function declaration.
40782 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
40784 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
40787 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
40788 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
40789 Move e820 parsing from here ...
40790 * kern/i386/pc/mmap.c: New file.
40791 (grub_machine_mmap_iterate): ... to here.
40793 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
40794 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
40795 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
40796 (grub_available_iterate): Redeclare to return `void', and redeclare
40797 its hook to use grub_uint64_t as addr and size parameters, and rename
40799 (grub_machine_mmap_iterate): ... this. Update all users.
40801 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
40802 to make it more readable. Rename to ...
40803 (grub_machine_mmap_iterate): ... this.
40805 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
40806 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
40807 (grub_multiboot): Allocate an extra region after the payload, and fill
40808 it with a Multiboot memory map. Adjust a.out loader to calculate size
40809 with the extra space.
40810 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
40811 with the extra space.
40813 2008-08-17 Carles Pina i Estany <carles@pina.cat>
40815 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
40817 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
40819 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
40820 mdate-sh to the list `find' searches for.
40821 * DISTLIST: Regenerated.
40823 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
40825 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
40826 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
40827 genmoddep.awk, gensymlist.sh.in.
40828 (DISTDIRS): Add bus, docs, hook, lib.
40829 * DISTLIST: Regenerated.
40830 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
40832 2008-08-16 Robert Millan <rmh@aybabtu.com>
40834 * disk/raid.c (grub_raid_init): Handle/report errors set by
40835 grub_device_iterate().
40836 * disk/lvm.c (grub_lvm_init): Likewise.
40838 2008-08-15 Bean <bean123ch@gmail.com>
40840 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40842 (datetime_mod_SOURCES): New macro.
40843 (datetime_mod_CFLAGS): Likewise.
40844 (datetime_mod_LDFLAGS): Likewise.
40845 (date_mod_SOURCES): Likewise.
40846 (date_mod_CFLAGS): Likewise.
40847 (date_mod_LDFLAGS): Likewise.
40848 (datehook_mod_SOURCES): Likewise.
40849 (datehook_mod_CFLAGS): Likewise.
40850 (datehook_mod_LDFLAGS): Likewise.
40852 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40854 (datetime_mod_SOURCES): New macro.
40855 (datetime_mod_CFLAGS): Likewise.
40856 (datetime_mod_LDFLAGS): Likewise.
40857 (date_mod_SOURCES): Likewise.
40858 (date_mod_CFLAGS): Likewise.
40859 (date_mod_LDFLAGS): Likewise.
40860 (datehook_mod_SOURCES): Likewise.
40861 (datehook_mod_CFLAGS): Likewise.
40862 (datehook_mod_LDFLAGS): Likewise.
40864 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40866 (datetime_mod_SOURCES): New macro.
40867 (datetime_mod_CFLAGS): Likewise.
40868 (datetime_mod_LDFLAGS): Likewise.
40869 (date_mod_SOURCES): Likewise.
40870 (date_mod_CFLAGS): Likewise.
40871 (date_mod_LDFLAGS): Likewise.
40872 (datehook_mod_SOURCES): Likewise.
40873 (datehook_mod_CFLAGS): Likewise.
40874 (datehook_mod_LDFLAGS): Likewise.
40876 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40878 (datetime_mod_SOURCES): New macro.
40879 (datetime_mod_CFLAGS): Likewise.
40880 (datetime_mod_LDFLAGS): Likewise.
40881 (date_mod_SOURCES): Likewise.
40882 (date_mod_CFLAGS): Likewise.
40883 (date_mod_LDFLAGS): Likewise.
40884 (datehook_mod_SOURCES): Likewise.
40885 (datehook_mod_CFLAGS): Likewise.
40886 (datehook_mod_LDFLAGS): Likewise.
40888 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
40890 (datetime_mod_SOURCES): New macro.
40891 (datetime_mod_CFLAGS): Likewise.
40892 (datetime_mod_LDFLAGS): Likewise.
40893 (date_mod_SOURCES): Likewise.
40894 (date_mod_CFLAGS): Likewise.
40895 (date_mod_LDFLAGS): Likewise.
40896 (datehook_mod_SOURCES): Likewise.
40897 (datehook_mod_CFLAGS): Likewise.
40898 (datehook_mod_LDFLAGS): Likewise.
40900 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
40902 * commands/date.c: New file.
40904 * hook/datehook.c: Likewise.
40906 * include/grub/lib/datetime.h: Likewise.
40908 * include/grub/i386/cmos.h: Likewise.
40910 * lib/datetime.c: Likewise.
40912 * lib/i386/datetime.c: Likewise.
40914 * lib/efi/datetime.c: Likewise.
40916 2008-08-14 Robert Millan <rmh@aybabtu.com>
40918 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
40919 (grub_mkelfimage_SOURCES): New variable.
40920 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
40922 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
40923 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
40924 * conf/powerpc-ieee1275.rmk: Likewise.
40925 * conf/i386-ieee1275.rmk: Likewise.
40927 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
40928 * kern/i386/coreboot/init.c: Likewise.
40930 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
40931 with `<grub/cpu/kernel.h>'.
40932 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
40934 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
40935 * kern/i386/coreboot/startup.S: Likewise.
40937 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
40938 (GRUB_MOD_GAP): Remove.
40939 * include/grub/powerpc/kernel.h: New file.
40940 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
40941 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40942 * include/grub/i386/kernel.h: New file.
40943 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
40944 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
40945 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
40947 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
40949 Use --directory when invoking grub_mkimage.
40951 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
40952 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
40953 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
40954 and GRUB_KERNEL_CPU_PREFIX.
40956 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
40958 * include/grub/err.h (grub_err_printf): New function prototype.
40959 * util/misc.c (grub_err_printf): New function.
40960 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
40962 * kern/err.c (grub_print_error): Use grub_err_printf.
40964 2008-08-13 Robert Millan <rmh@aybabtu.com>
40966 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
40968 2008-08-13 Robert Millan <rmh@aybabtu.com>
40970 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
40973 2008-08-12 Robert Millan <rmh@aybabtu.com>
40975 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
40976 of the relocation code from here ...
40977 (grub_multiboot): ... to here.
40978 (forward_relocator, backward_relocator): Move from here ...
40979 * kern/i386/loader.S (grub_multiboot_forward_relocator)
40980 (grub_multiboot_backward_relocator): ... to here.
40981 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
40982 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
40983 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
40984 (grub_multiboot_forward_relocator_end)
40985 (grub_multiboot_backward_relocator)
40986 (grub_multiboot_backward_relocator_end): New variables.
40988 2008-08-12 Bean <bean123ch@gmail.com>
40990 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
40992 2008-08-11 Robert Millan <rmh@aybabtu.com>
40994 * kern/i386/linuxbios/startup.S: Move from here ...
40995 * kern/i386/coreboot/startup.S: ... to here.
40997 * kern/i386/linuxbios/init.c: Move from here ...
40998 * kern/i386/coreboot/init.c: ... to here.
41000 * kern/i386/linuxbios/table.c: Move from here ...
41001 * kern/i386/coreboot/mmap.c: ... to here.
41003 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
41005 2008-08-11 Robert Millan <rmh@aybabtu.com>
41007 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
41008 errors. Leave it to the upper layer to handle them.
41010 2008-08-09 Christian Franke <franke@computer.org>
41012 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
41013 * conf/common.rmk: Install `grub-pe2elf' only if requested.
41014 Install `grub.d/10_windows' only on Cygwin.
41015 * configure.ac: Add subst of `target_os'.
41016 Check `target_os' also before setting TARGET_OBJ2ELF.
41017 Add `--enable-grub-pe2elf'.
41019 2008-08-08 Robert Millan <rmh@aybabtu.com>
41021 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41022 (grub_last_time): Change type to grub_uint64_t.
41023 (grub_disk_open): Migrate code from to using grub_get_time_ms().
41024 (grub_disk_close): Likewise.
41026 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
41027 (run_menu): Migrate code from to using grub_get_time_ms().
41029 * util/misc.c (grub_get_time_ms): New function.
41031 2008-08-08 Marco Gerards <marco@gnu.org>
41033 * disk/ata.c (grub_ata_regget): Change return type to
41035 (grub_ata_regget2): Likewise.
41036 (grub_ata_wait_status): New function.
41037 (grub_ata_wait_busy): Removed function, updated all users to use
41038 `grub_ata_wait_status'.
41039 (grub_ata_wait_drq): Likewise.
41040 (grub_ata_cmd): New function.
41041 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
41043 (grub_ata_pio_write): Add error handling.
41044 (grub_atapi_identify): Likewise.
41045 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
41047 (grub_ata_identify): Use `grub_ata_cmd' and improve error
41048 handling. Actually use the detected registers. Reorder the
41049 detection logic such that it is easier to read.
41050 (grub_ata_pciinit): Do not assign the same ID to each controller.
41051 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
41053 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
41055 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
41057 2008-08-08 Marco Gerards <marco@gnu.org>
41061 2008-08-07 Bean <bean123ch@gmail.com>
41063 * include/grub/x86_64/pci.h: New file.
41065 2008-08-07 Christian Franke <franke@computer.org>
41067 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
41068 (TIMER2_GATE): Likewise.
41069 (grub_pit_wait): Add enable/disable of the timer2 gate
41070 bit of port 0x61. This fixes a possible infinite loop.
41072 2008-08-07 Bean <bean123ch@gmail.com>
41074 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
41075 kern/i386/tsc.c and kern/i386/pit.c.
41077 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
41080 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
41083 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
41085 2008-08-07 Bean <bean123ch@gmail.com>
41087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
41089 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
41091 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
41092 multiple inclusion. Add #include <grub/types.h>.
41094 2008-08-06 Christian Franke <franke@computer.org>
41096 * conf/common.rmk: Build and install `10_windows'.
41097 * util/grub.d/10_windows.in: New script.
41099 2008-08-06 Pavel Roskin <proski@gnu.org>
41101 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
41103 2008-08-06 Robert Millan <rmh@aybabtu.com>
41105 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
41106 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
41108 2008-08-06 Bean <bean123ch@gmail.com>
41110 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
41111 (grub_pxefs_fs_int): Remove dummy definition.
41112 (grub_pxefs_open): Use data->block_size to store the current block
41114 (grub_pxefs_read): Use block size stored in data->block_size. As the
41115 value of grub_pxe_blksize can be changed after the file is opened.
41117 2008-08-06 Bean <bean123ch@gmail.com>
41119 * fs/i386/pc/pxe.c (curr_file): new variable.
41120 (grub_pxefs_open): Simply the handling of pxe file system. Don't
41121 require the dummy internal file system anymore.
41122 (grub_pxefs_read): Removed.
41123 (grub_pxefs_close): Likewise.
41124 (grub_pxefs_fs_int): Likewise.
41125 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
41126 connection when we switch file.
41127 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
41129 2008-08-06 Robert Millan <rmh@aybabtu.com>
41131 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
41133 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
41134 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
41136 * kern/i386/halt.c: New file.
41137 * kern/i386/reboot.c: Likewise.
41138 * include/grub/i386/reboot.h: Likewise.
41139 * include/grub/i386/halt.h: Likewise.
41141 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
41142 Include `<grub/cpu/halt.h>'.
41143 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
41144 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
41146 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
41147 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
41148 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
41149 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
41150 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
41151 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
41153 * include/grub/i386/at_keyboard.h: ... to here.
41155 2008-08-05 Robert Millan <rmh@aybabtu.com>
41157 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
41158 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
41159 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
41160 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41161 `kern/generic/millisleep.c'.
41163 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
41164 instead of grub_get_rtc().
41165 (grub_tsc_init): Initialize `tsc_boot_time'.
41167 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
41168 (grub_machine_init): Use grub_tsc_init() rather than
41169 installing an RTC-based handler via grub_install_get_time_ms().
41171 * kern/i386/pit.c: New file.
41172 * include/grub/i386/pit.h: Likewise.
41174 2008-08-05 Bean <bean123ch@gmail.com>
41176 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
41178 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
41179 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
41180 (pxe_mod_SOURCES): New macro.
41181 (pxe_mod_CFLAGS): Likewise.
41182 (pxe_mod_LDFLAGS): Likewise.
41183 (pxecmd_mod_SOURCES): Likewise.
41184 (pxecmd_mod_CFLAGS): Likewise.
41185 (pxecmd_mod_LDFLAGS): Likewise.
41187 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
41188 (grub_pxe_call): Likewise.
41190 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
41192 * commands/i386/pc/pxecmd.c: New file.
41194 * fs/i386/pc/pxe.c: Likewise.
41196 * include/grub/i386/pc/pxe.h: Likewise.
41198 2008-08-05 Bean <bean123ch@gmail.com>
41200 * util/console.c (grub_console_cur_color): New variable.
41201 (grub_console_standard_color): Likewise.
41202 (grub_console_normal_color): Likewise.
41203 (grub_console_highlight_color): Likewise.
41204 (color_map): Likewise.
41205 (use_color): Likewise.
41206 (NUM_COLORS): New macro.
41207 (grub_ncurses_setcolorstate): Handle color properly.
41208 (grub_ncurses_setcolor): Don't change color here, just remember the
41209 settings, color will be set in grub_ncurses_setcolorstate.
41210 (grub_ncurses_getcolor): New function.
41211 (grub_ncurses_init): Initialize color pairs.
41212 (grub_ncurses_term): New member grub_ncurses_getcolor.
41214 2008-08-05 Colin D Bennett <colin@gibibit.com>
41216 High resolution timer support. Implemented for x86 CPUs using TSC.
41217 Extracted generic grub_millisleep() so it's linked in only as needed.
41218 This requires a Pentium compatible CPU; if the RDTSC instruction is
41219 not supported, then it falls back on the generic grub_get_time_ms()
41220 implementation that uses the machine's RTC.
41222 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
41223 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
41224 `kern/generic/millisleep.c'.
41226 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
41227 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
41229 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
41230 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
41232 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41234 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
41235 `kern/generic/millisleep.c'.
41237 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
41239 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
41241 * kern/generic/rtc_get_time_ms.c: New file.
41243 * kern/generic/millisleep.c: New file.
41245 * kern/misc.c: Don't include
41246 <kern/time.h> anymore.
41247 (grub_millisleep_generic): Removed.
41249 * commands/sleep.c (grub_interruptible_millisleep): Uses
41250 grub_get_time_ms() instead of grub_get_rtc().
41252 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
41254 (grub_cpu_is_cpuid_supported): New inline function.
41255 (grub_cpu_is_tsc_supported): New inline function.
41256 (grub_tsc_init): New function prototype.
41257 (grub_tsc_get_time_ms): New function prototype.
41259 * kern/i386/tsc.c (grub_get_time_ms): New file.
41261 * include/grub/time.h: Include <grub/types.h.
41262 (grub_millisleep_generic): Removed.
41263 (grub_get_time_ms): New prototype.
41264 (grub_install_get_time_ms): New prototype.
41265 (grub_rtc_get_time_ms): New prototype.
41267 * kern/time.c (grub_get_time_ms): New function.
41268 (grub_install_get_time_ms): New function.
41270 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
41271 <grub/time.h> anymore.
41272 (grub_millisleep): Removed.
41273 (grub_machine_init): Call grub_tsc_init.
41275 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
41276 get_time_ms() implementation.
41278 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
41279 (ieee1275_get_time_ms): New function.
41280 (grub_machine_init): Install get_time_ms() implementation.
41282 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
41283 (grub_machine_init): Call grub_tsc_init().
41284 (grub_millisleep): Removed.
41286 * kern/ieee1275/init.c (grub_millisleep): Removed.
41287 (grub_machine_init): Install ieee1275_get_time_ms()
41289 (ieee1275_get_time_ms): New function.
41290 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
41293 2008-08-05 Marco Gerards <marco@gnu.org>
41295 * disk/ata.c: Include <grub/pci.h>.
41296 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
41297 (grub_ata_initialize): Rewritten.
41298 (grub_ata_device_initialize): New function.
41300 2008-08-04 Pavel Roskin <proski@gnu.org>
41302 * kern/main.c: Include grub/mm.h.
41304 2008-08-04 Robert Millan <rmh@aybabtu.com>
41306 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
41307 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
41308 corruption problem).
41310 2008-08-04 Robert Millan <rmh@aybabtu.com>
41312 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
41313 warnings introduced in my last commit.
41315 2008-08-03 Robert Millan <rmh@aybabtu.com>
41317 Make PCI available on all i386 architectures.
41319 * include/grub/i386/pc/pci.h: Move from here ...
41320 * include/grub/i386/pci.h: ... to here.
41322 * include/grub/i386/pc/pci.h: Remove.
41323 * include/grub/i386/efi/pci.h: Remove.
41324 * include/grub/x86_64/efi/pci.h: Remove.
41326 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
41327 `<grub/cpu/pci.h>'.
41329 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
41330 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
41331 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
41333 * conf/i386-ieee1275.rmk: Likewise.
41335 2008-08-03 Robert Millan <rmh@aybabtu.com>
41337 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
41338 (grub_console_setcursor): Make it possible to set cursor off.
41340 2008-08-03 Robert Millan <rmh@aybabtu.com>
41342 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
41343 of modules instead of assuming which platform provides what.
41344 * util/update-grub.in: Likewise.
41346 2008-08-03 Robert Millan <rmh@aybabtu.com>
41348 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
41349 instead of `grub_install_dos_part' to determine whether a drive needs
41350 to be prepended to prefix (`grub_install_dos_part' is not reliable,
41351 because it can be overridden when loading GRUB via Multiboot).
41353 2008-08-02 Robert Millan <rmh@aybabtu.com>
41355 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
41357 2008-08-02 Robert Millan <rmh@aybabtu.com>
41359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
41360 of informational grub_dprintf() calls.
41362 2008-08-02 Robert Millan <rmh@aybabtu.com>
41364 * disk/memdisk.c (memdisk_size): Don't initialize.
41365 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
41367 * include/grub/i386/pc/kernel.h
41368 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
41369 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
41370 (grub_memdisk_image_size, grub_arch_memdisk_addr)
41371 (grub_arch_memdisk_size): Remove.
41373 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
41374 field (was only used to transfer a constant). Add `type' field to
41375 support multiple module types.
41376 (grub_module_iterate): New function.
41378 * kern/device.c (grub_device_open): Do not hide error messages
41379 when grub_disk_open() fails. Use grub_print_error() instead.
41381 * kern/i386/pc/init.c (grub_arch_modules_addr)
41382 (grub_arch_memdisk_size): Remove functions.
41383 (grub_arch_modules_addr): Return the module address in high memory
41384 (now that it isn't copied anymore).
41386 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
41387 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
41388 decompression routine (grub_total_module_size already includes that
41389 now). Don't copy modules back to low memory.
41391 * kern/main.c: Include `<grub/mm.h>'.
41392 (grub_load_modules): Split out (and use) ...
41393 (grub_module_iterate): ... this function, which iterates through
41394 module objects and runs a hook.
41395 Comment out grub_mm_init_region() call, as it would cause non-ELF
41396 modules to be overwritten.
41398 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
41399 the memdisk image in its own region, make it part of the module list.
41400 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
41401 (main): Parse --memdisk|-m option, and pass user-provided path as
41402 parameter to generate_image().
41403 (add_segments): Pass `memdisk_path' down to load_modules().
41404 (load_modules): Embed memdisk image in module section when requested.
41405 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
41406 `header.type' instead of `header.offset'.
41408 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
41409 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
41410 (memdisk_mod_LDFLAGS): New variables.
41411 * conf/i386-coreboot.rmk: Likewise.
41412 * conf/i386-ieee1275.rmk: Likewise.
41414 2008-08-02 Robert Millan <rmh@aybabtu.com>
41416 * loader/i386/pc/multiboot.c (playground, forward_relocator)
41417 (backward_relocator): New variables. Used to allocate and relocate
41418 the payload, respectively.
41419 (grub_multiboot_load_elf32): Load into heap instead of requested
41420 address, install the appropriate relocator code in each bound of
41421 the payload, and set the entry point such that
41422 grub_multiboot_real_boot() will jump to one of them.
41424 * kern/i386/loader.S (grub_multiboot_payload_size)
41425 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41426 (grub_multiboot_payload_entry_offset): New variables.
41427 (grub_multiboot_real_boot): Set cpu context to what the relocator
41428 expects, and jump to the relocator instead of the payload.
41430 * include/grub/i386/loader.h (grub_multiboot_payload_size)
41431 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
41432 (grub_multiboot_payload_entry_offset): Export.
41434 2008-08-01 Bean <bean123ch@gmail.com>
41436 * normal/menu_entry.c (editor_getline): Don't return the original
41437 string as result, as it will be released by lexer once it has done
41440 2008-08-01 Robert Millan <rmh@aybabtu.com>
41442 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
41443 within menuentries, not before them.
41444 util/grub.d/10_hurd.in: Likewise.
41446 2008-08-01 Bean <bean123ch@gmail.com>
41448 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
41449 (bufio_mod_SOURCES): New macro.
41450 (bufio_mod_CFLAGS): Likewise.
41451 (bufio_mod_LDFLAGS): Likewise.
41453 * include/grub/bufio.h: New file.
41455 * io/bufio.c: Likewise.
41457 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
41458 (grub_video_reader_png): Use grub_buffile_open to open file.
41460 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
41461 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
41463 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
41464 (grub_video_reader_tga): Use grub_buffile_open to open file.
41466 * font/manager.c: Include <grub/bufio.h>.
41467 (add_font): Use grub_buffile_open to open file.
41469 2008-07-31 Robert Millan <rmh@aybabtu.com>
41471 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
41472 ELF segments, use a macro for arbitrarily accessing any of them instead
41473 of preparing a pointer that allows access to one at a time.
41474 (grub_multiboot_load_elf64): Likewise.
41476 2008-07-31 Bean <bean123ch@gmail.com>
41478 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
41479 GRUB_KERNEL_MACHINE_DATA_END.
41481 2008-07-30 Robert Millan <rmh@aybabtu.com>
41483 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
41484 Increase from 0x50 to 0x60.
41485 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
41486 use UUIDs to identify the root drive for them. If that's not
41488 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
41489 check, for cross-disk installs.
41491 2008-07-30 Robert Millan <rmh@aybabtu.com>
41493 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
41494 is non-empty, use it to set the `prefix' environment variable instead
41495 of the usual approach.
41496 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
41497 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
41498 environment variable instead of dummy make_install_device().
41500 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
41501 (start): Insert a data section, with `grub_prefix' variable.
41502 * kern/i386/linuxbios/startup.S: Likewise.
41504 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
41505 New variable reference.
41506 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
41507 New macro. Defines offset of `grub_prefix' within startup.S (relative
41509 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
41510 section within startup.S (relative to `start').
41511 * include/grub/i386/coreboot/kernel.h: Likewise.
41513 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
41514 Overwrite grub_prefix with its contents, at the beginning of the
41516 (main): Understand -p|--prefix.
41518 2008-07-30 Robert Millan <rmh@aybabtu.com>
41520 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
41522 2008-07-30 Robert Millan <rmh@aybabtu.com>
41524 * term/i386/pc/vga_text.c (grub_console_cls): Use
41525 grub_console_gotoxy() to go back to beginning of the screen.
41526 Found by Patrick Georgi <patrick.georgi@coresystems.de>
41528 2008-07-29 Christian Franke <franke@computer.org>
41530 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
41531 Add conversion of emulated mount points on Cygwin.
41533 2008-07-29 Christian Franke <franke@computer.org>
41535 * util/update-grub.in: Add a check for admin
41537 Remove old `grub.cfg.new' before creation.
41538 Add `-f' to `mv' to handle the different filesystem
41539 semantics of Windows.
41541 2008-07-29 Bean <bean123ch@gmail.com>
41543 * normal/main.c (get_line): Fix buffer overflow bug.
41545 2008-07-28 Robert Millan <rmh@aybabtu.com>
41547 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
41548 (struct grub_apple_header): New struct. Describes the layout of
41549 the partmap header.
41550 (apple_partition_map_iterate): Check the header magic as well as the
41551 partition magic (which was already being checked).
41553 2008-07-28 Pavel Roskin <proski@gnu.org>
41555 * genmk.rb: Add a warning to the beginning of the output that
41556 it's a generated file and should not be edited.
41558 2008-07-28 Robert Millan <rmh@aybabtu.com>
41560 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
41561 with the same number are found, just use issue a warning with
41562 grub_dprintf(), as this error has been reported to be non-fatal.
41564 2008-07-27 Robert Millan <rmh@aybabtu.com>
41566 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
41569 2008-07-27 Bean <bean123ch@gmail.com>
41571 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
41572 (grub_fat_find_dir): Ignore case when comparing filename.
41574 2008-07-27 Bean <bean123ch@gmail.com>
41576 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
41577 smallino, as it's more descriptive, and i8count can be confused with
41578 the other field count.
41579 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
41582 2008-07-27 Bean <bean123ch@gmail.com>
41584 * commands/crc.c: New file.
41586 * lib/crc.c: Likewise.
41588 * include/grub/lib/crc.h: Likewise.
41590 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
41592 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
41593 (hexdump): Move this function to ...
41595 * lib/hexdump.c: ... here.
41597 * include/grub/hexdump.h: Renamed to ...
41599 * include/grub/lib/hexdump.h: ... this.
41601 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
41603 * util/grub-editenv.c: Likewise.
41605 * include/envblk.h: Renamed to ...
41607 * include/lib/envblk.h: ... this.
41609 * util/envblk.c: Renamed to ...
41611 * lib/envblk.c: ... this.
41613 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
41615 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
41616 (pkglib_MODULES): Add crc.mod.
41617 (hexdump_mod_SOURCES): Add lib/hexdump.c.
41618 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
41619 (crc_mod_SOURCES): New macro.
41620 (crc_mod_CFLAGS): Likewise.
41621 (crc_mod_LDFLAGS): Likewise.
41623 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
41625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
41627 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
41629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41631 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
41633 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
41635 * commands/help.c: Include <grub/term.h>.
41636 (TERM_WIDTH): Removed. Updated all users.
41638 2008-07-27 Pavel Roskin <proski@gnu.org>
41640 * util/getroot.c (find_root_device): Rephrase a comment to avoid
41641 spurious warnings about a comment within a comment.
41643 2008-07-25 Robert Millan <rmh@aybabtu.com>
41645 * util/getroot.c (find_root_device): Skip devices that match
41646 /dev/dm-[0-9]. This lets the real device be found for any type of
41647 abstraction (LVM, EVMS, RAID..).
41648 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
41649 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
41650 device is found first, find_root_device() will now skip it.
41652 2008-07-24 Pavel Roskin <proski@gnu.org>
41654 * include/grub/types.h: Use __builtin_bswap32() and
41655 __builtin_bswap64() with gcc 4.3 and newer.
41657 2008-07-24 Christian Franke <franke@computer.org>
41659 * util/i386/pc/grub-install.in: If `--debug' is specified,
41660 pass `--verbose' to grub-setup.
41661 Abort script if make_system_path_relative_to_its_root() fails.
41663 2008-07-24 Bean <bean123ch@gmail.com>
41665 * configure.ac: Fixed a bug caused by the previous cygwin patch,
41666 variable `target_platform' should be `platform'.
41668 2008-07-24 Bean <bean123ch@gmail.com>
41670 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
41671 (grub_png_init_fixed_block): New function.
41672 (grub_png_decode_image_data): Handle fixed huffman code compression.
41674 2008-07-24 Bean <bean123ch@gmail.com>
41676 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
41677 (grub_pe2elf_SOURCES): New macro.
41678 (CLEANFILES): Add grub-pe2elf.
41680 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
41681 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
41682 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
41683 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
41684 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
41685 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
41686 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
41687 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
41688 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
41689 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
41690 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
41691 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
41692 (GRUB_PE32_DT_FUNCTION): Likewise.
41693 (GRUB_PE32_REL_I386_DIR32): Likewise.
41694 (GRUB_PE32_REL_I386_REL32): Likewise.
41695 (grub_pe32_symbol): New structure.
41696 (grub_pe32_reloc): Likewise.
41698 * util/grub-pe2elf.c: New file.
41700 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
41701 start symbol in non pc platform.
41703 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
41705 The following patches are from Christian Franke.
41707 * include/grub/dl.h: Remove .previous, gas supports this only
41710 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
41711 Remove .type, gas supports this only for ELF format.
41713 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
41714 nullbytes in symbol table. This fixes an infinite loop if table is
41717 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
41718 TARGET_IMG_LDFLAGS and EXEEXT.
41720 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
41721 TARGET_IMG_LDFLAGS_AC.
41722 (grub_CHECK_STACK_ARG_PROBE): New function.
41724 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
41726 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
41728 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
41729 to set TARGET_IMG_LD* accordingly.
41730 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
41731 Add call to grub_CHECK_STACK_ARG_PROBE.
41732 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
41734 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
41736 * genmk.rb: Add EXEEXT to CLEANFILES.
41738 2008-07-23 Robert Millan <rmh@aybabtu.com>
41740 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
41741 define the codes for arrows and lines used for the menu).
41742 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
41745 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
41746 fonts, because the latter are too slow.
41748 2008-07-21 Bean <bean123ch@gmail.com>
41750 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
41751 a20. Run keyboard test last, as it will cause macbook to halt.
41753 2008-07-18 Pavel Roskin <proski@gnu.org>
41755 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
41756 load foreign architecture modules correctly anyway. Keep
41757 support for loading host architecture modules, whether we
41758 compile them or not.
41760 2008-07-17 Pavel Roskin <proski@gnu.org>
41762 * configure.ac: Use -m32 or -m64 regardless of whether we had to
41763 change target_cpu. The compiler default can mismatch target_cpu
41766 * disk/efi/efidisk.c: Fix format warnings on x86_64.
41767 * kern/efi/efi.c: Likewise.
41769 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
41770 target compiler is functional.
41771 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
41774 * configure.ac: Default to efi platform for x86_64-apple. Allow
41775 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
41776 adjustments from the rest, only do them if target is not
41777 explicitly given. Merge other adjustments with the final sanity
41778 check. Remove an extraneous check for supported CPU. Be
41779 specific which CPU and which platform is not supported.
41781 * configure.ac: Default to pc platform for x86_64.
41783 2008-07-17 Robert Millan <rmh@aybabtu.com>
41785 Partial LinuxBIOS -> Coreboot rename.
41787 * conf/i386-linuxbios.rmk: Renamed to ...
41788 * conf/i386-coreboot.rmk: ... this.
41789 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
41790 * configure.ac: Accept "coreboot" as input platform (but maintain
41791 compatibility with "linuxbios").
41792 * include/grub/i386/linuxbios: Renamed to ...
41793 * include/grub/i386/coreboot: ... this.
41795 2008-07-17 Bean <bean123ch@gmail.com>
41797 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
41798 (appleldr_mod_SOURCE): New variable.
41799 (appleldr_mod_CFLAGS): Likewise.
41800 (appleldr_mod_LDFLAGS): Likewise.
41801 (pci_mod_SOURCES): Likewise.
41802 (pci_mod_CFLAGS): Likewise.
41803 (pci_mod_LDFLAGS): Likewise.
41804 (lspci_mod_SOURCES): Likewise.
41805 (lspci_mod_CFLAGS): Likewise.
41806 (lspci_mod_LDFLAGS): Likewise.
41808 * conf/x86_64-efi.rmk: New file.
41810 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
41812 (grub_efidisk_write): Likewise.
41814 * include/efi/api.h (efi_call_0): New macro.
41815 (efi_call_1): Likewise.
41816 (efi_call_2): Likewise.
41817 (efi_call_3): Likewise.
41818 (efi_call_4): Likewise.
41819 (efi_call_5): Likewise.
41820 (efi_call_6): Likewise.
41822 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
41823 grub_rescue_cmd_chainloader.
41825 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
41826 (grub_pe32_optional_header): Change some fields based on i386 or
41828 (GRUB_PE32_PE32_MAGIC): Likewise.
41830 * include/grub/efi/uga_draw.h: New file.
41832 * include/grub/elf.h (STN_ABS): New constant.
41833 (R_X86_64_NONE): Relocation constant for x86_64.
41834 (R_X86_64_64): Likewise.
41835 (R_X86_64_PC32): Likewise.
41836 (R_X86_64_GOT32): Likewise.
41837 (R_X86_64_PLT32): Likewise.
41838 (R_X86_64_COPY): Likewise.
41839 (R_X86_64_GLOB_DAT): Likewise.
41840 (R_X86_64_JUMP_SLOT): Likewise.
41841 (R_X86_64_RELATIVE): Likewise.
41842 (R_X86_64_GOTPCREL): Likewise.
41843 (R_X86_64_32): Likewise.
41844 (R_X86_64_32S): Likewise.
41845 (R_X86_64_16): Likewise.
41846 (R_X86_64_PC16): Likewise.
41847 (R_X86_64_8): Likewise.
41848 (R_X86_64_PC8): Likewise.
41850 * include/grub/i386/efi/pci.h: New file.
41852 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
41853 Change it value based on platform.
41854 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
41855 (GRUB_E820_RAM): Likewise.
41856 (GRUB_E820_RESERVED): Likewise.
41857 (GRUB_E820_ACPI): Likewise.
41858 (GRUB_E820_NVS): Likewise.
41859 (GRUB_E820_EXEC_CODE): Likewise.
41860 (GRUB_E820_MAX_ENTRY): Likewise.
41861 (grub_e820_mmap): New structure.
41862 (linux_kernel_header): Change the efi field according to different
41863 kernel version, also field from linux_kernel_header.
41865 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
41867 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
41868 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
41869 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
41870 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
41871 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
41872 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
41873 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
41874 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
41875 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
41876 (GRUB_PCI_ADDR_IO_MASK): Likewise.
41878 * include/grub/x86_64/efi/kernel.h: New file.
41880 * include/grub/x86_64/efi/loader.h: Likewise.
41882 * include/grub/x86_64/efi/machine.h: Likewise.
41884 * include/grub/x86_64/efi/pci.h: Likewise.
41886 * include/grub/x86_64/efi/time.h: Likewise.
41888 * include/grub/x86_64/linux.h: Likewise.
41890 * include/grub/x86_64/setjmp.h: Likewise.
41892 * include/grub/x86_64/time.h: Likewise.
41894 * include/grub/x86_64/types.h: Likewise.
41896 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
41897 GRUB_TARGET_SIZEOF_VOID_P.
41899 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
41900 (grub_efi_locate_handle): Likewise.
41901 (grub_efi_open_protocol): Likewise.
41902 (grub_efi_set_text_mode): Likewise.
41903 (grub_efi_stall): Likewise.
41904 (grub_exit): Likewise.
41905 (grub_reboot): Likewise.
41906 (grub_halt): Likewise.
41907 (grub_efi_exit_boot_services): Likewise.
41908 (grub_get_rtc): Likewise.
41910 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
41911 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
41912 (grub_efi_allocate_pages): Wrap efi calls.
41913 (grub_efi_free_pages): Wrap efi calls.
41914 (grub_efi_get_memory_map): Wrap efi calls.
41916 * kern/x86_64/dl.c: New file.
41918 * kern/x86_64/efi/callwrap.S: Likewise.
41920 * kern/x86_64/efi/startup.S: Likewise.
41922 * loader/efi/appleloader.c: Likewise.
41924 * loader/efi/chainloader.c (cmdline): New variable.
41925 (grub_chainloader_unload): Wrap efi calls.
41926 (grub_chainloader_boot): Likewise.
41927 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
41930 * loader/efi/chainloader_normal.c (chainloader_command):
41931 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
41934 * loader/i386/efi/linux.c (allocate_pages): Change allocation
41936 (grub_e820_add_region): New function.
41937 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
41939 (grub_find_video_card): New function.
41940 (grub_linux_setup_video): New function.
41941 (grub_rescue_cmd_linux): Probe for video information.
41943 * normal/x86_64/setjmp.S: New file.
41945 * term/efi/console.c (map_char): New function.
41946 (grub_console_putchar): Map unicode char.
41947 (grub_console_checkkey): Wrap efi calls.
41948 (grub_console_getkey): Likewise.
41949 (grub_console_getwh): Likewise.
41950 (grub_console_gotoxy): Likewise.
41951 (grub_console_cls): Likewise.
41952 (grub_console_setcolorstate): Likewise.
41953 (grub_console_setcursor): Likewise.
41955 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
41957 2008-07-16 Pavel Roskin <proski@gnu.org>
41959 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
41962 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
41963 pointer, not an integer. This fixes a warning and prevents
41964 precision loss on 64-bit systems.
41965 (relocate_addresses): Remove unneeded cast.
41967 2008-07-15 Pavel Roskin <proski@gnu.org>
41969 * kern/i386/ieee1275/init.c: Include grub/cache.h.
41971 * term/ieee1275/ofconsole.c: Disable code unused on i386.
41973 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
41974 Fix comparison between signed and unsigned.
41976 * include/grub/i386/ieee1275/console.h: Declare
41977 grub_console_init() and grub_console_fini().
41979 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
41980 It's empty and unused.
41982 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
41983 beginning to avoid warnings with some compilers.
41985 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
41986 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
41988 2008-07-14 Pavel Roskin <proski@gnu.org>
41990 * kern/env.c (grub_register_variable_hook): Don't copy empty
41991 string, it leaks memory. Pass "" to grub_env_set(), it should
41992 handle constant strings.
41994 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
41995 * commands/cmp.c (grub_cmd_cmp): Likewise.
41996 * kern/dl.c (grub_dl_flush_cache): Likewise.
41997 (grub_dl_load_core): Likewise.
41998 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
41999 (grub_elf64_load_phdrs): Likewise.
42001 2008-07-13 Pavel Roskin <proski@gnu.org>
42003 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
42004 between signed and unsigned.
42005 (LzmaEnc_Finish): Fix warning about an unused parameter.
42007 2008-07-13 Bean <bean123ch@gmail.com>
42009 * Makefile.in (enable_lzo): New rule.
42011 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
42013 * configure.ac (ENABLE_LZO): New option --enable-lzo.
42015 * boot/i386/pc/lnxboot.S: #include <config.h>.
42017 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
42018 its value according to the compression algorithm used, lzo or lzma.
42020 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
42021 compression algorithm according to configure macro.
42023 * kern/i386/pc/startup.S (codestart): Likewise.
42025 * kern/i386/pc/lzma_decode.S: New file.
42027 * include/grub/lib/LzFind.h: Likewise.
42029 * include/grub/lib/LzHash.h: Likewise.
42031 * include/grub/lib/LzmaDec.h: Likewise.
42033 * include/grub/lib/LzmaEnc.h: Likewise.
42035 * include/grub/lib/LzmaTypes.h: Likewise.
42037 * lib/LzFind.c: Likewise.
42039 * lib/LzmaDec.c: Likewise.
42041 * lib/LzmaEnc.c: Likewise.
42043 2008-07-13 Bean <bean123ch@gmail.com>
42045 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
42046 (grub_ext4_extent_header): New structure.
42047 (grub_ext4_extent): Likewise.
42048 (grub_ext4_extent_idx): Likewise.
42049 (grub_ext4_find_leaf): New function.
42050 (grub_ext2_read_block): Handle extents.
42052 2008-07-12 Robert Millan <rmh@aybabtu.com>
42054 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
42056 2008-07-11 Robert Millan <rmh@aybabtu.com>
42058 * util/grub.d/40_custom.in: New file. Example on how to add custom
42059 entries to /etc/grub.d.
42060 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
42061 40_custom (implicitly, by merging all the grub.d rules).
42063 2008-07-11 Pavel Roskin <proski@gnu.org>
42065 * commands/read.c (grub_getline): Fix invalid memory access.
42066 Don't add newline to the variable value.
42068 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
42069 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
42070 (serial_hw_get_port): Check validity of the port number.
42071 (grub_cmd_serial): Check return value of serial_hw_get_port().
42073 2008-07-07 Pavel Roskin <proski@gnu.org>
42075 * boot/i386/pc/diskboot.S (notification_string): Replace
42076 "Loading kernel" with just "loading". This is shorter, less
42077 confusing and saves a few bytes for possible future changes.
42079 2008-07-05 Pavel Roskin <proski@gnu.org>
42081 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
42082 size for ATAPI devices, they are undefined. Output sector
42083 number in decimal form.
42085 * disk/ata.c: Use named constants for status bits.
42087 2008-07-04 Pavel Roskin <proski@gnu.org>
42089 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
42090 grub_addr_t before casting it to the void pointer to fix a
42091 warning. Non-addressable regions are discarded earlier.
42092 (grub_arch_modules_addr): Cast _end to grub_addr_t.
42093 * kern/i386/linuxbios/table.c: Include grub/misc.h.
42094 (check_signature): Don't shadow table_header.
42095 (grub_linuxbios_table_iterate): Cast numeric constants to
42096 grub_linuxbios_table_header_t.
42097 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
42100 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
42103 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
42104 pointer, which can cause warnings. Support 64-bit addresses.
42106 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
42107 of sizeof(long). This fixes PowerPC image generation on x86_64.
42109 2008-07-04 Robert Millan <rmh@aybabtu.com>
42111 This fixes a performance issue when pc & gpt partmap iterators
42112 didn't abort iteration even after our hook found what it was
42113 looking for (often causing expensive probes of non-existent drives).
42115 Some callers relied on previous buggy behaviour, since they would
42116 raise an error when their own hooks caused early abortion of its
42119 * kern/device.c (grub_device_open): Improve error message.
42120 * disk/lvm.c (grub_lvm_open): Likewise.
42121 * disk/raid.c (grub_raid_open): Likewise.
42123 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
42124 when hook requests it, independently of grub_errno.
42125 (pc_partition_map_probe): Do not fail when find_func() caused
42126 early abortion of pc_partition_map_iterate().
42128 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
42129 when hook requests it, independently of grub_errno.
42130 (gpt_partition_map_probe): Do not fail when find_func() caused
42131 early abortion of gpt_partition_map_iterate().
42133 * kern/partition.c (grub_partition_iterate): Abort parent iteration
42134 when hook requests it, independently of grub_errno. Do not fail when
42135 part_map_iterate_hook() caused early abortion of p->iterate().
42137 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
42138 when grub_partition_iterate() returned with non-zero.
42140 2008-07-03 Pavel Roskin <proski@gnu.org>
42142 * disk/ata.c (grub_ata_pio_write): Check status before writing,
42143 like we do in grub_ata_pio_read().
42144 (grub_ata_readwrite): Always write individual sectors. Fix the
42145 sector count for the remainder.
42146 (grub_ata_write): Enable writing to ATA devices. Correctly
42147 report error for ATAPI devices.
42149 2008-07-02 Pavel Roskin <proski@gnu.org>
42151 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
42154 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
42155 for every read sector, we already increment it for the whole
42156 batch. This fixes reading more than 256 sectors at once.
42158 * util/grub-editenv.c (cmd_info): Cast argument to long
42159 explicitly. ptrdiff_t reduces to int on i386.
42161 * util/grub-editenv.c (main): Be specific which parameter is
42164 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
42165 (memdisk): Make memdisk_orig_addr a pointer.
42167 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
42168 for file offsets, use grub_off_t instead. Fix printf format
42171 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
42172 there. Real unexpected warnings should not drown in the noise
42173 about known problems.
42175 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
42176 grub_disk_addr_t for memory addresses.
42178 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
42179 explicitly to fix a warning.
42181 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
42183 * Makefile.in (MODULE_LDFLAGS): New variable.
42184 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
42185 the linker accepts --build-id=none.
42186 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
42188 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
42190 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
42191 those in Linux XFS code. Provide a way to access 64-bit parent
42193 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
42194 the end of struct grub_xfs_dir_header.
42196 2008-07-02 Bean <bean123ch@gmail.com>
42198 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
42199 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42200 and GRUB_IEEE1275_FLAG_NO_ANSI.
42202 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
42203 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
42204 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
42206 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
42207 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
42209 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
42210 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
42212 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
42213 esc sequence on non ANSI terminal.
42214 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
42216 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
42219 2008-07-02 Bean <bean123ch@gmail.com>
42221 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
42222 (grub_editenv_SOURCES): New variable.
42223 (pkglib_MODULES): Add loadenv.mod.
42224 (loadenv_mod_SOURCES): New variable.
42225 (loadenv_mod_CFLAGS): Likewise.
42226 (loadenv_mod_LDFLAGS): Likewise.
42228 * include/grub/envblk.h: New file.
42230 * util/envblk.c: New file.
42232 * util/grub-editenv.c: New file.
42234 * commands/loadenv.c: New file.
42236 2008-07-01 Pavel Roskin <proski@gnu.org>
42238 * include/multiboot2.h (struct multiboot_tag_module): Use char,
42239 not unsigned char. This fixes warnings and is consistent with
42242 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
42244 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
42246 * term/tparm.c (analyze): Always set *popcount.
42248 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
42249 cast to fix a warning.
42251 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
42252 cast to suppress a warning.
42254 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
42255 grub_fshelp_read_file() expects.
42257 * fs/fat.c: Fix UUID calculation on big-endian systems. We
42258 write uuid as a 32-bit value in CPU byte order, so declare and
42261 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
42262 long if the format specifier expects it.
42263 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
42264 * partmap/pc.c (pc_partition_map_iterate): Likewise.
42265 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
42266 long to fix a warning.
42267 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
42268 grub_dprintf() arguments to fix warnings.
42270 2008-06-30 Pavel Roskin <proski@gnu.org>
42272 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
42273 install_bsd_part immediately before core.img is embedded or
42274 modified on disk. This fixes core.img verification if core.img
42275 cannot be embedded.
42277 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
42278 core_path to calculate the blocklist.
42279 Patch from Javier Martín <lordhabbit@gmail.com>
42281 2008-06-29 Robert Millan <rmh@aybabtu.com>
42283 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
42284 block to disk block.
42285 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
42286 Patch from Niels Böhm <bitbucket@arcor.de>
42288 2008-06-29 Robert Millan <rmh@aybabtu.com>
42290 * util/update-grub_lib.in (font_path): Search for fonts in
42291 /boot/grub first, which is more likely to be readable (we aren't
42292 deciding where fonts live, just looking for them).
42294 2008-06-26 Pavel Roskin <proski@gnu.org>
42296 * util/biosdisk.c (read_device_map): Don't leave dead map
42297 entries for devices failing stat() check.
42299 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
42300 core_path_dev for the core.img path on the target device.
42302 2008-06-26 Robert Millan <rmh@aybabtu.com>
42304 * disk/fs_uuid.c: New file.
42305 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
42306 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
42307 (fs_uuid_mod_LDFLAGS): New variables.
42308 * include/grub/disk.h (grub_disk_dev_id): Add
42309 `GRUB_DISK_DEVICE_UUID_ID'.
42310 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
42311 implement iterate().
42313 2008-06-26 Robert Millan <rmh@aybabtu.com>
42315 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
42316 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
42317 Linux image includes no initrd.
42319 2008-06-21 Javier Martín <lordhabbit@gmail.com>
42321 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
42322 call to resolve the core image location that effectively appended the
42325 2008-06-21 Robert Millan <rmh@aybabtu.com>
42327 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
42330 * util/grub.d/10_hurd.in: ... to here ...
42331 * util/grub.d/10_linux.in: ... and here.
42333 2008-06-19 Robert Millan <rmh@aybabtu.com>
42335 * kern/main.c (grub_main): Export `prefix' variable immediately
42336 after it has been set by grub_machine_set_prefix().
42338 2008-06-19 Robert Millan <rmh@aybabtu.com>
42340 * commands/search.c (search_label, search_fs_uuid, search_file): Print
42341 search result when not saving to variable, not the other way around.
42342 When saving to variable, abort iteration as soon as a match is found.
42344 2008-06-19 Robert Millan <rmh@aybabtu.com>
42346 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
42347 check for partition that provides /boot/grub. Its logic is flawed,
42348 as it prevents prepare_grub_to_access_device() from being called
42351 2008-06-19 Robert Millan <rmh@aybabtu.com>
42353 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
42354 "insmod" command directly when abstraction modules are needed,
42355 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
42356 since it had already been processed).
42358 2008-06-19 Pavel Roskin <proski@gnu.org>
42360 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
42361 changed. This is needed in case GRUB_LIBDIR changes.
42362 * conf/i386-ieee1275.rmk: Likewise.
42363 * conf/i386-linuxbios.rmk: Likewise.
42364 * conf/i386-pc.rmk: Likewise.
42365 * conf/powerpc-ieee1275.rmk: Likewise.
42367 2008-06-18 Pavel Roskin <proski@gnu.org>
42369 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
42370 kernel_elf_symlist.c to symlist.c for consistency with other
42371 architectures. Update all users.
42372 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
42374 2008-06-18 Robert Millan <rmh@aybabtu.com>
42376 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
42379 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
42380 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
42381 a RAID device, run setup() for all members independently on whether
42382 LVM abstraction is being used.
42383 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
42384 If grub-mkimage has set `*install_dos_part == -2', don't override this
42386 Perform *install_dos_part adjustments independently on whether
42387 we're embedding or not.
42388 Clarify error message when image is too big for embedding.
42389 Remove duplicate *install_dos_part stanza.
42391 2008-06-17 Robert Millan <rmh@aybabtu.com>
42393 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
42394 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
42396 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
42397 values in grub_ofconsole_normal_color and
42398 grub_ofconsole_highlight_color (they're not directly related to
42399 background and foreground).
42400 (grub_ofconsole_setcolorstate): Extract background and foreground
42401 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
42403 2008-06-17 Robert Millan <rmh@aybabtu.com>
42405 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
42406 /boot/grub for the check in last commit, not /boot (they could be
42407 different partitions).
42409 2008-06-16 Robert Millan <rmh@aybabtu.com>
42411 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
42412 asked to setup access for the same partition that provides /boot,
42413 don't bother using UUIDs since our root already has the value we
42416 2008-06-16 Robert Millan <rmh@aybabtu.com>
42418 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
42420 Patch from Sven Mueller <sven@debian.org>.
42422 2008-06-16 Robert Millan <rmh@aybabtu.com>
42424 * util/update-grub.in: Check for $EUID instead of $UID.
42425 Reported by Vincent Zweije.
42427 2008-06-16 Bean <bean123ch@gmail.com>
42429 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
42430 (grub_ext2_read_block): Likewise.
42431 (grub_ext2_read_inode): Likewise.
42432 (grub_ext2_mount): Likewise.
42433 (grub_ext2_close): Likewise.
42434 (grub_ext3_get_journal): Removed.
42436 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
42437 (grub_reiserfs_read_symlink): Likewise.
42438 (grub_reiserfs_mount): Likewise.
42439 (grub_reiserfs_open): Likewise.
42440 (grub_reiserfs_read): Likewise.
42441 (grub_reiserfs_close): Likewise.
42442 (grub_reiserfs_get_journal): Removed.
42444 * fs/fshelp.c (grub_fshelp_read): Removed.
42445 (grub_fshelp_map_block): Likewise.
42447 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
42448 (grub_fshelp_journal): Likewise.
42449 (grub_fshelp_read): Likewise.
42450 (grub_fshelp_map_block): Likewise.
42452 2008-06-16 Pavel Roskin <proski@gnu.org>
42454 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
42455 floating point anymore.
42456 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
42458 2008-06-15 Pavel Roskin <proski@gnu.org>
42460 * commands/ls.c (grub_ls_list_files): Use integer calculations
42461 for human readable format, avoid floating point use.
42462 * kern/misc.c (grub_ftoa): Remove.
42463 (grub_vsprintf): Remove floating point support.
42465 2008-06-15 Robert Millan <rmh@aybabtu.com>
42467 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
42469 Reported by Max Vozeler.
42471 2008-06-15 Robert Millan <rmh@aybabtu.com>
42473 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
42474 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
42476 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
42477 the beginning of the prefix.
42479 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
42480 It is assumed that if we have a memdisk, grub-mkimage has set
42481 grub_prefix to include the "(memdisk)" drive in it.
42483 2008-06-15 Robert Millan <rmh@aybabtu.com>
42485 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
42486 Initialize keyboard controller after registering the terminal, so that
42487 grub_printf() can be called from grub_keyboard_controller_init().
42489 2008-06-15 Robert Millan <rmh@aybabtu.com>
42491 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
42492 extent-btree which is written as big endian on disk.
42493 Reported by Alain Greppin <al@chilibi.org>.
42495 2008-06-14 Robert Millan <rmh@aybabtu.com>
42497 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
42498 * util/i386/pc/grub-install.in (modules): Likewise.
42500 2008-06-13 Pavel Roskin <proski@gnu.org>
42502 * commands/ls.c (grub_ls_list_files): Fix format warnings.
42504 2008-06-13 Bean <bean123ch@gmail.com>
42506 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
42508 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
42510 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
42511 to indicate sparse block.
42513 2008-06-12 Pavel Roskin <proski@gnu.org>
42515 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
42516 number, grub_fshelp_read() does it for us.
42518 * fs/fshelp.c (grub_fshelp_read): New function. Implement
42519 linear disk read with journal translation.
42520 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
42521 * include/grub/fshelp.h: Declare grub_fshelp_read().
42523 2008-06-09 Pavel Roskin <proski@gnu.org>
42525 * fs/minix.c (grub_minix_mount): Handle error reading
42528 2008-06-08 Robert Millan <rmh@aybabtu.com>
42530 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
42531 don't append the RAID prefix afterwards.
42532 Reported by Clint Adams.
42534 2008-06-08 Robert Millan <rmh@aybabtu.com>
42536 Based on description from Pavel:
42537 * kern/disk.c (grub_disk_check_range): Rename to ...
42538 (grub_disk_adjust_range): ... this. Add a comment explaining the
42539 tasks performed by this function.
42541 2008-06-08 Robert Millan <rmh@aybabtu.com>
42543 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
42544 `num_serial' (for consistency with other variables).
42545 (struct grub_ntfs_data): Add `uuid' member.
42546 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
42547 (grub_ntfs_uuid): New function.
42548 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
42550 2008-06-07 Pavel Roskin <proski@gnu.org>
42552 * util/biosdisk.c (open_device): Revert last change to the
42553 function, it broke installation. The sector needs to be
42554 different dependent on which device is opened.
42556 2008-06-06 Robert Millan <rmh@aybabtu.com>
42558 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
42559 rest of GRUB, and breakage doesn't happen if its value were modified.
42561 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
42562 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
42563 a constant (same value).
42564 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
42565 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
42567 2008-06-06 Robert Millan <rmh@aybabtu.com>
42569 * util/biosdisk.c (open_device): Do not modify sector offset when
42570 accessing a partition. kern/disk.c already handles this for us.
42572 2008-06-06 Robert Millan <rmh@aybabtu.com>
42574 * util/grub-emu.c (grub_machine_init): Move code in this function from
42576 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
42577 segfault in case grub_printf() is called).
42579 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
42580 grub_probe. Update all users not to explicitly add it again.
42581 (grub_device): New variable; contains corresponding device for grubdir.
42582 (fs_module, partmap_module, devabstraction_module): Pass
42583 `--device ${grub_device}' to grub_probe to avoid traversing /dev
42586 2008-06-05 Robert Millan <rmh@aybabtu.com>
42588 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
42589 is found, print it (same layout as with labels).
42591 2008-06-04 Robert Millan <rmh@aybabtu.com>
42593 * util/biosdisk.c (get_drive): Rename to ...
42594 (find_grub_drive): ... this. Update all users.
42596 (get_os_disk): Rename to ...
42597 (convert_system_partition_to_system_disk): ... this. Update all users.
42599 (find_drive): Rename to ...
42600 (find_system_device): ... this. Update all users.
42602 2008-06-04 Robert Millan <rmh@aybabtu.com>
42604 * util/biosdisk.c (get_os_disk): Handle IDA devices.
42605 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42606 (make_device_map): Likewise.
42608 2008-06-01 Robert Millan <rmh@aybabtu.com>
42610 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
42611 before dereferencing it.
42613 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
42614 union with fat12/fat16-specific ones. Add some new fields, including
42615 `num_serial' for both versions.
42616 (struct grub_fat_data): Add `uuid' member.
42617 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
42618 names. Initialize `data->uuid' using `num_serial'.
42619 (grub_fat_uuid): New function.
42620 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
42622 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
42623 (grub_reiserfs_uuid): New function.
42624 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
42627 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
42628 (grub_xfs_uuid): New function.
42629 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
42631 2008-06-01 Robert Millan <rmh@aybabtu.com>
42633 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
42634 code that is backward compatible with pre-uuid search command.
42636 2008-05-31 Robert Millan <rmh@aybabtu.com>
42638 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
42639 floppies after everything else, to ensure floppy drive isn't accessed
42640 unnecessarily (patch from Bean).
42642 2008-05-31 Robert Millan <rmh@aybabtu.com>
42644 * commands/search.c (search_label, search_fs_uuid, search_file): Do
42645 not print device names when we were asked to set a variable.
42647 2008-05-31 Robert Millan <rmh@aybabtu.com>
42649 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
42650 using "cursor-on" and "cursor-off" commands (understood at least by
42651 the Open Firmware flavour on OLPC).
42653 2008-05-31 Michael Gorven <michael@gorven.za.net>
42655 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
42656 on and off sequences.
42658 2008-05-31 Robert Millan <rmh@aybabtu.com>
42660 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
42661 * util/update-grub.in: Likewise.
42663 2008-05-30 Pavel Roskin <proski@gnu.org>
42665 * util/biosdisk.c (linux_find_partition): Simplify logic and
42666 make the code more universal. Keep special processing for
42667 devfs, but use a simple rule for all other devices. If the
42668 device ends with a number, append 'p' and the partition number.
42669 Otherwise, append only the partition number.
42671 2008-05-30 Robert Millan <rmh@aybabtu.com>
42673 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
42674 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
42675 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
42676 the `root' parameter to Linux.
42678 2008-05-30 Robert Millan <rmh@aybabtu.com>
42680 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
42681 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
42682 --fs_uuid with --fs-uuid.
42683 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
42684 all filesystems support them).
42686 2008-05-30 Robert Millan <rmh@aybabtu.com>
42688 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
42689 grub_printf() flags, since we're printing in units of 2 bytes.
42691 2008-05-30 Robert Millan <rmh@aybabtu.com>
42693 * util/grub.d/00_header.in: Remove obsolete comment referencing
42694 convert_system_path_to_grub_path().
42695 * util/update-grub.in: Likewise.
42696 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
42697 (convert_system_path_to_grub_path): Add a warning message explaining
42698 that this function is deprecated. Rely on is_path_readable_by_grub()
42699 for the readability checks.
42700 (font_path): Use is_path_readable_by_grub() for the readability
42701 check rather than convert_system_path_to_grub_path().
42703 2008-05-30 Robert Millan <rmh@aybabtu.com>
42705 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
42706 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
42707 converting it first.
42708 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
42709 grub.cfg for access to font file, and afterwards call it again to set
42712 2008-05-30 Robert Millan <rmh@aybabtu.com>
42714 * commands/search.c (options): Add --fs_uuid option.
42715 (search_fs_uuid): New function.
42716 (grub_cmd_search): Fix --set argument passing.
42717 Use search_fs_uuid() when requested via --fs_uuid.
42718 (grub_search_init): Update help message.
42719 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
42720 and redeclare it as an array of 16-bit words.
42721 (grub_ext2_uuid): New function.
42722 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
42723 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
42724 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
42725 (GRUB_DEVICE_BOOT_UUID): New variables.
42726 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
42727 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
42729 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
42730 just assume `root' variable has the right value.
42731 * util/grub.d/10_linux.in: Likewise.
42732 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
42734 (main): Recognise `-t fs_uuid' argument.
42736 2008-05-30 Robert Millan <rmh@aybabtu.com>
42738 * util/biosdisk.c (map): Redefine structure to hold information
42739 about GRUB drive name.
42740 (get_drive): Reimplement without assuming (and verifying) BIOS-like
42742 (call_hook): Remove.
42743 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
42744 member. Assume drive has partitions.
42745 (grub_util_biosdisk_open): Access device names via `.device' struct
42747 (open_device): Likewise.
42748 (find_drive): Likewise.
42749 (read_device_map): Adjust map[] usage to match the new struct
42750 definition. Don't check for duplicates (still possible, but not cheap
42752 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
42753 (make_device_name): Remove assumption of BIOS-like drive names.
42755 2008-05-30 Pavel Roskin <proski@gnu.org>
42757 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
42758 compiling execute.c doesn't need grub_script.tab.h anymore.
42759 (normal/command.c_DEPENDENCIES): Likewise.
42760 (normal/function.c_DEPENDENCIES): Likewise.
42761 * conf/i386-ieee1275.rmk: Likewise.
42762 * conf/i386-linuxbios.rmk: Likewise.
42763 * conf/i386-pc.rmk: Likewise.
42764 * conf/powerpc-ieee1275.rmk: Likewise.
42765 * conf/sparc64-ieee1275.rmk: Likewise.
42767 2008-05-29 Pavel Roskin <proski@gnu.org>
42769 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
42770 when scanning metadata for volume group name.
42772 * include/grub/script.h: Don't include grub_script.tab.h. It's
42773 a generated file, which may only be included from the files with
42774 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
42775 use union YYSTYPE, as the later allows forward declaration.
42776 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
42778 2008-05-29 Robert Millan <rmh@aybabtu.com>
42780 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
42781 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
42782 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
42783 (grub_console_checkkey): Add grub_dprintf() call to report unknown
42786 2008-05-29 Robert Millan <rmh@aybabtu.com>
42788 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
42789 control key combinations.
42791 2008-05-29 Robert Millan <rmh@aybabtu.com>
42793 * util/powerpc/ieee1275/grub-install.in: Move from here ...
42794 * util/ieee1275/grub-install.in: ... to here.
42795 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
42796 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
42797 (grub_install_SOURCES): Likewise.
42799 2008-05-29 Robert Millan <rmh@aybabtu.com>
42801 * fs/affs.c: Update copyright year.
42802 * fs/ext2.c: Likewise.
42803 * fs/fshelp.c: Likewise.
42804 * fs/hfsplus.c: Likewise.
42805 * fs/ntfs.c: Likewise.
42806 * fs/xfs.c: Likewise.
42807 * include/grub/fshelp.h: Likewise.
42808 * util/grub-mkdevicemap.c: Likewise.
42810 2008-05-28 Robert Millan <rmh@aybabtu.com>
42812 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
42813 might need to be fatfs to support some firmware implementations
42816 2008-05-28 Robert Millan <rmh@aybabtu.com>
42818 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
42820 * util/grub-mkdevicemap.c (get_mmc_disk_name)
42821 (make_device_map): Likewise.
42823 2008-05-20 Bean <bean123ch@gmail.com>
42825 * fs/fshelp.c (grub_fshelp_map_block): New function.
42826 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
42827 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
42829 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
42830 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
42831 (grub_fshelp_journal): New structure.
42832 (grub_fshelp_map_block): New function prototype.
42833 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
42834 (grub_fshelp_map_block): Likewise.
42836 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
42837 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
42838 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
42839 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
42840 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
42841 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
42842 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
42843 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
42844 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
42845 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
42846 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
42847 (grub_ext2_sblock): New members for journal support.
42848 (grub_ext3_journal_header): New structure.
42849 (grub_ext3_journal_revoke_header): Likewise.
42850 (grub_ext3_journal_block_tag): Likewise.
42851 (grub_ext3_journal_sblock): Likewise.
42852 (grub_fshelp_node): New members logfile and journal.
42853 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
42854 grub_fshelp_map_block to get real block number.
42855 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
42857 (grub_ext2_read_inode): Likewise.
42858 (grub_ext3_get_journal): New function.
42859 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
42860 (grub_ext2_close): Release memory used by journal.
42862 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
42863 (REISERFS_MAGIC_DESC_BLOCK): New macro.
42864 (grub_reiserfs_transaction_header): Renamed to
42865 grub_reiserfs_description_block, replace field data with real_blocks.
42866 (grub_reiserfs_commit_block): New structure.
42867 (grub_reiserfs_data): New member journal.
42868 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
42870 (grub_reiserfs_read_symlink): Likewise.
42871 (grub_reiserfs_iterate_dir): Likewise.
42872 (grub_reiserfs_open): Likewise.
42873 (grub_reiserfs_read): Likewise.
42874 (grub_reiserfs_get_journal): New function.
42875 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
42876 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
42877 using grub_reiserfs_get_journal.
42878 (grub_reiserfs_close): Release memory used by journal.
42880 * fs/affs.c (grub_affs_read_block): Change block type to
42881 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
42883 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
42885 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
42887 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
42889 * fs/udf.c (grub_udf_read_block): Change block type to
42890 grub_disk_addr_t. Use type cast to avoid warning.
42892 * fs/xfs.c (grub_xfs_read_block): Likewise.
42894 2008-05-16 Christian Franke <franke@computer.org>
42896 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
42897 to ensure that break with ESC will always work.
42898 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
42899 Remove ESC from keyboard queue.
42901 2008-05-16 Christian Franke <franke@computer.org>
42903 * util/biosdisk.c: [__CYGWIN__] Add includes.
42904 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
42905 (get_os_disk): Move variable declarations to OS specific
42906 parts to avoid warning.
42907 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
42908 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
42909 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
42911 * util/getroot.c: [__CYGWIN__] Add includes.
42912 (strip_extra_slashes): Fix "/" case.
42913 [__CYGWIN__] (get_win32_path): New function.
42914 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
42915 [__CYGWIN__] (find_root_device): Disable.
42916 [__CYGWIN__] (get_bootsec_serial): New function.
42917 [__CYGWIN__] (find_cygwin_root_device): Likewise.
42918 [__linux__] (grub_guess_root_device): Add early returns to simplify
42920 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
42921 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
42922 check for Linux only.
42924 2008-05-15 Bean <bean123ch@gmail.com>
42926 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
42927 keyboard hang problem in apple's intel mac.
42929 2008-05-09 Robert Millan <rmh@aybabtu.com>
42931 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
42933 * util/grub-mkdevicemap.c (get_virtio_disk_name)
42934 (make_device_map): Likewise.
42935 Reported by Aurelien Jarno <aurel32@debian.org>
42937 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
42939 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
42940 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
42941 (make_device_map): Output entries for xvd type disks.
42943 2008-05-07 Robert Millan <rmh@aybabtu.com>
42945 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
42947 * util/grub-mkdevicemap.c (get_cciss_disk_name)
42948 (make_device_map): Likewise.
42949 Reported by Roland Dreier <rdreier@cisco.com>
42951 2008-05-07 Robert Millan <rmh@aybabtu.com>
42953 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
42954 grub_strstr() call. Correct a few mistakes in failure path handling.
42956 2008-05-06 Robert Millan <rmh@aybabtu.com>
42958 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
42959 Do not print a trailing slash (therefore, the root directory is an
42961 (convert_system_path_to_grub_path): Do not remove trailing slash
42962 from make_system_path_relative_to_its_root() output.
42964 * util/i386/pc/grub-install.in: Add trailing slash to output from
42965 make_system_path_relative_to_its_root().
42967 2008-05-06 Robert Millan <rmh@aybabtu.com>
42969 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
42970 ensures that output lines aren't intermangled with those sent to
42971 stderr (via grub_util_info()).
42972 * util/grub-probe.c (grub_refresh): Likewise.
42973 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
42975 2008-05-05 Christian Franke <franke@computer.org>
42977 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
42978 Add Cygwin device names.
42979 (get_ide_disk_name) [__CYGWIN__]: Likewise.
42980 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
42981 (check_device): Return error instead of success on empty name.
42982 (make_device_map): Move label inside linux specific code to
42983 prevent compiler warning.
42985 2008-04-30 Robert Millan <rmh@aybabtu.com>
42987 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
42988 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
42990 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
42992 2008-04-29 Robert Millan <rmh@aybabtu.com>
42994 * docs/grub.cfg: New file (example GRUB configuration).
42996 2008-04-26 Robert Millan <rmh@aybabtu.com>
42998 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
42999 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
43000 and `disk/ieee1275/nand.c'.
43002 2008-04-25 Bean <bean123ch@gmail.com>
43004 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
43007 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
43008 change the buffer size to 4096 for cdrom device.
43010 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
43012 (_linux_mod_SOURCES): New variable.
43013 (_linux_mod_CFLAGS): Likewise.
43014 (_linux_mod_LDFLAGS): Likewise.
43015 (linux_mod_SOURCES): Likewise.
43016 (linux_mod_CFLAGS): Likewise.
43017 (linux_mod_LDFLAGS): Likewise.
43018 (nand_mod_SOURCES): Likewise.
43019 (nand_mod_CFLAGS): Likewise.
43020 (nand_mod_LDFLAGS): Likewise.
43022 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
43023 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
43024 type property. (nand device in olpc don't have this property)
43026 * include/grub/disk.h (grub_disk_dev_id): New macro
43027 GRUB_DISK_DEVICE_NAND_ID.
43029 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
43030 function prototype.
43031 (grub_rescue_cmd_initrd): Likewise.
43033 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
43034 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
43035 ofw_cif_handler and ofw_idt, adjust padding number.
43037 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
43038 GRUB_MACHINE_IEEE1275 is defined.
43040 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
43041 Use NESTED_FUNC_ATTR attribute on the hook parameter.
43043 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
43044 on nested function heap_init.
43045 (grub_upper_mem): New variable for i386-ieee1275.
43046 (grub_get_extended_memory): New function for i386-ieee1275.
43047 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
43049 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
43050 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
43053 * loader/i386/ieee1275/linux.c: New file.
43055 * loader/i386/ieee1275/linux_normal.c: New file.
43057 * disk/ieee1275/nand.c: New file.
43059 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
43061 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
43063 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
43065 2008-04-18 Robert Millan <rmh@aybabtu.com>
43067 Restructures early code path on ieee1275 to unify grub_main() as
43068 the first C function that is executed in every platform.
43070 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
43071 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
43073 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
43074 * kern/ieee1275/cmain.c (cmain): Rename to ...
43075 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
43076 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
43079 2008-04-18 Robert Millan <rmh@aybabtu.com>
43081 * util/update-grub.in: Fix syntax error when setting
43082 `GRUB_PRELOAD_MODULES'.
43083 Reported by Stephane Chazelas <stephane@artesyncp.com>
43085 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
43087 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
43088 section into account, newer toolchains generate unique build ids
43089 * configure.ac: remove the test for --build-id=none acceptance,
43090 we want build ids to be preserved
43091 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
43092 far from other sections don't cause the raw binary images grow
43095 2008-04-15 Robert Millan <rmh@aybabtu.com>
43097 * disk/lvm.c: Update copyright year.
43098 * kern/misc.c: Likewise.
43100 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43102 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
43103 there is no memory left for physical volume name.
43105 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
43107 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
43108 volume name mapping to support bigger than 9 character names properly.
43110 2008-04-13 Robert Millan <rmh@aybabtu.com>
43112 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
43113 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
43115 2008-04-13 Christian Franke <franke@computer.org>
43117 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
43118 to create a floppy emulation boot CD when non emulation mode
43120 Enable Joliet CD filesystem extension.
43122 2008-04-13 Robert Millan <rmh@aybabtu.com>
43124 * kern/misc.c (grub_strncat): Fix off-by-one error.
43125 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
43127 * kern/env.c (grub_env_context_close): Clear current context, not
43129 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
43131 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
43133 2008-04-13 Robert Millan <rmh@aybabtu.com>
43135 Improve robustness when handling LVM.
43137 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
43138 (and leave `*p' unmodified).
43139 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
43141 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
43142 iterating through it.
43143 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
43145 (grub_lvm_scan_device): Check the return value (and fail gracefully
43146 when due) on each grub_lvm_getvalue() or grub_strstr() call.
43147 Don't assume `vg->pvs != NULL' when iterating through it.
43149 2008-04-13 Robert Millan <rmh@aybabtu.com>
43151 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
43152 * genmk.rb (partmap): New variable.
43153 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
43154 (#{partmap}): New target rule.
43155 * genpartmaplist.sh: New file.
43156 * Makefile.in (pkglib_DATA): Add partmap.lst.
43157 (partmap.lst): New target rule.
43158 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
43159 modules (including all partition maps), instead of preloading them.
43161 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
43163 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
43164 `linux-boot-prober' (if installed) to detect other operating
43165 systems which are installed on the computer and add them to
43167 * conf/common.rmk: Build and install 30_os-prober.
43169 2008-04-12 Robert Millan <rmh@aybabtu.com>
43171 * kern/powerpc/ieee1275/init.c: Move from here ...
43172 * kern/ieee1275/init.c: ... to here. Update all users.
43174 * kern/powerpc/ieee1275/cmain.c: Move from here ...
43175 * kern/ieee1275/cmain.c: ... to here. Update all users.
43177 * kern/powerpc/ieee1275/openfw.c: Move from here ...
43178 * kern/ieee1275/openfw.c: ... to here. Update all users.
43180 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
43181 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
43183 2008-04-10 Pavel Roskin <proski@gnu.org>
43185 * configure.ac: Always use "_cv_" in cache variables for
43186 compatibility with Autoconf 2.62.
43188 2008-04-07 Robert Millan <rmh@aybabtu.com>
43190 Revert grub/machine/init.h addition by Pavel (since it breaks on
43191 i386-ieee1275 and others):
43192 * util/i386/pc/misc.c: Remove grub/machine/init.h.
43193 * util/powerpc/ieee1275/misc.c: Likewise.
43195 2008-04-07 Robert Millan <rmh@aybabtu.com>
43197 * util/grub-probe.c (probe): Improve error message.
43199 2008-04-07 Robert Millan <rmh@aybabtu.com>
43201 * util/biosdisk.c (read_device_map): Skip devices that don't exist
43202 (this prevents the presence of a bogus entry from ruining the whole
43205 2008-04-06 Pavel Roskin <proski@gnu.org>
43207 * util/biosdisk.c: Include grub/util/biosdisk.h.
43208 * util/grub-fstest.c (execute_command): Make static.
43209 * util/grub-mkdevicemap.c (check_device): Likewise.
43210 * util/i386/pc/misc.c: Include grub/machine/init.h.
43211 * util/powerpc/ieee1275/misc.c: Likewise.
43212 * util/lvm.c: Include grub/util/lvm.h.
43213 * util/misc.c: Include grub/kernel.h, grub/misc.h and
43215 * util/raid.c: Include grub/util/raid.h.
43216 (grub_util_getdiskname): Make static.
43218 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
43219 grub_hostfs_fini(), as they are called from grub_init_all() and
43220 grub_fini_all() respectively. This fixes an infinite loop in
43221 grub-fstest due to double registration of hostfs.
43222 Reported by Christian Franke <Christian.Franke@t-online.de>
43224 2008-04-05 Pavel Roskin <proski@gnu.org>
43226 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
43227 all 8 functions. Otherwise, probe function 0 only.
43229 2008-04-04 Pavel Roskin <proski@gnu.org>
43231 * commands/lspci.c (grub_lspci_iter): Print the bus number
43234 * commands/lspci.c (grub_pci_classes): Fix typos.
43235 (grub_lspci_iter): Don't print func twice. Print vendor ID
43236 before device ID, as it's normally done.
43238 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
43239 Fix signedness warnings.
43240 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
43242 * util/ieee1275/get_disk_name.c: Include config.h so that
43243 _GNU_SOURCE is defined and getline() is declared. Mark an
43244 unused argument as such. Fix a signedness warning.
43246 2008-04-02 Pavel Roskin <proski@gnu.org>
43248 * genkernsyms.sh.in: Use more robust assignments for CC and
43249 srcdir. Quote srcdir.
43250 * gensymlist.sh.in: Likewise. Assert at the compile time that
43251 the symbol table is not empty.
43253 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
43254 * fs/cpio.c (grub_cpio_read): Likewise.
43256 2008-04-01 Pavel Roskin <proski@gnu.org>
43258 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
43259 * disk/host.c (grub_host_open): Likewise.
43260 * disk/loopback.c (grub_loopback_open): Likewise.
43261 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
43262 disk->id as in disk/host.c, not a multi-character constant.
43264 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
43265 later is obsolete, potentially dangerous and sets a bad example.
43266 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
43267 * util/misc.c (grub_util_get_image_size): Likewise.
43269 * disk/loopback.c (options): Improve help for "--partitions".
43271 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
43272 options to align them with the short options, e.g. "echo -e".
43274 2008-03-31 Bean <bean123ch@gmail.com>
43276 * video/reader/png.c (grub_png_data): New member is_16bit and
43278 (grub_png_decode_image_header): Detect 16 bit png image.
43279 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
43280 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
43281 (grub_video_reader_png): Release memory occupied by image_data.
43283 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
43285 (grub_nfs_mount): Skip the test for sector per cluster.
43287 * include/grub/ntfs.h (MAX_SPC): Removed.
43289 2008-03-31 Bean <bean123ch@gmail.com>
43291 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
43292 (grub_probe_SOURCES): Add fs/afs.c.
43293 (grub_fstest_SOURCES): Likewise.
43294 (afs_mod_SOURCES): New variable.
43295 (afs_mod_CFLAGS): Likewise.
43296 (afs_mod_LDFLAGS): Likewise.
43298 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
43299 (grub_emu_SOURCES): Likewise.
43301 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43303 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43309 * fs/afs.c: New file.
43311 2008-03-30 Pavel Roskin <proski@gnu.org>
43313 * disk/host.c: Include grub/misc.h to fix a warning.
43314 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
43315 warnings about implicit declarations.
43317 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
43319 * include/grub/i386/loader.h: Change declaration of
43320 grub_linux_boot() to match what grub_loader_set() expects.
43321 * util/getroot.c (grub_guess_root_device): Return const char* to
43323 * util/grub-probe.c (probe): Fix a warning about uninitialized
43324 abstraction_name variable.
43325 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
43326 second argument as unused to fix a warning.
43328 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
43329 missing grub_error() call.
43331 * util/update-grub_lib.in: Define datarootdir, since Autoconf
43332 2.60 and newer uses it to define datadir.
43334 * commands/sleep.c: Fix warning about implicit declaration.
43335 * disk/memdisk.c: Likewise.
43336 * loader/aout.c: Likewise.
43337 * loader/i386/bsd_normal.c: Likewise.
43338 * util/grub-probe.c: Likewise.
43340 * commands/i386/cpuid.c (has_longmode): Make static.
43341 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
43342 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
43344 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
43345 GDT. This is more robust, as %ds can change.
43346 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
43347 calling real_to_prot().
43348 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
43350 2008-03-28 Pavel Roskin <proski@gnu.org>
43352 * kern/i386/pc/startup.S: Assert that uncompressed functions
43353 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
43354 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
43355 code, as they push parts of the code (error handlers) beyond
43356 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
43357 code as correctness and size.
43359 2008-03-28 Pavel Roskin <proski@gnu.org>
43361 * kern/i386/pc/startup.S
43362 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
43363 data block address to the real mode, keep offset minimal. This
43364 works around a bug in AWARD BIOS on old Athlon systems, which
43365 makes CD detection hang.
43367 2008-03-26 Pavel Roskin <proski@gnu.org>
43369 * normal/color.c (grub_parse_color_name_pair): Make `name' a
43371 * include/grub/normal.h: Add grub_parse_color_name_pair()
43374 2008-03-24 Bean <bean123ch@gmail.com>
43376 * disk/i386/pc/biosdisk.c (cd_start): Removed.
43377 (cd_count): Removed.
43378 (cd_drive): New variable.
43379 (grub_biosdisk_get_drive): Don't check for (cdN) device.
43380 (grub_biosdisk_call_hook): Likewise.
43381 (grub_biosdisk_iterate): Change cdrom detection method.
43382 (grub_biosdisk_open): Replace cd_start with cd_drive.
43383 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
43384 detect cdrom device.
43386 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
43388 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
43389 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
43390 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
43391 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
43392 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
43393 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
43394 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
43395 (grub_biosdisk_cdrp): New structure.
43396 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
43398 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
43400 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
43403 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
43406 2008-03-20 Robert Millan <rmh@aybabtu.com>
43408 Remove 2 TiB limit in ata.mod.
43409 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
43410 (grub_ata_dumpinfo): Print sector count with 0x%llx.
43411 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
43412 grub_uint64_t instead of grub_uint32_t.
43414 2008-03-05 Bean <bean123ch@gmail.com>
43416 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
43417 (grub_multiboot): Set boot device.
43419 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
43421 2008-03-02 Bean <bean123ch@gmail.com>
43423 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
43426 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
43428 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
43431 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
43434 * docs/fdl.texi: New file.
43436 * docs/mdate-sh: New file. Copied from gnulib.
43437 * docs/texinfo.tex: Likewise.
43439 * config.guess: Updated from gnulib.
43440 * install-sh: Likewise.
43442 2008-02-28 Robert Millan <rmh@aybabtu.com>
43444 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
43445 (aout_mod_SOURCES): New variable.
43446 (aout_mod_CFLAGS): Likewise.
43447 (aout_mod_LDFLAGS): Likewise.
43449 * conf/i386-ieee1275.rmk: Likewise.
43451 2008-02-28 Robert Millan <rmh@aybabtu.com>
43453 * util/update-grub.in: Reorganise terminal validity check. Accept
43454 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
43455 Based on suggestion by Franklin PIAT.
43457 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
43459 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
43461 * util/getroot.c (grub_util_check_block_device): New function that
43462 returns the given argument if it is a block device and returns NULL else.
43463 * util/grub-probe.c (argument_is_device): New variable.
43464 (probe): Promote device_name from a variable to an argument. Receive
43465 device_name from grub_util_check_block_device() if path is NULL and from
43466 grub_guess_root_device() else. Do not free() device_name anymore.
43467 (options): Introduce new parameter '-d, --device'.
43468 (main): Add description of the new parameter to the help screen.
43469 Rename path variable to argument. Set argument_is_device if the '-d'
43470 option is given. Pass argument to probe() depending on
43471 argument_is_device.
43473 2008-02-24 Bean <bean123ch@gmail.com>
43475 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
43476 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
43477 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
43478 (GRUB_ISO9660_VOLDESC_PART): Likewise.
43479 (GRUB_ISO9660_VOLDESC_END): Likewise.
43480 (grub_iso9660_primary_voldesc): New member escape.
43481 (grub_iso9660_data): New member joliet.
43482 (grub_iso9660_convert_string): New function.
43483 (grub_iso9660_mount): Detect joliet extension.
43484 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
43485 (grub_iso9660_iso9660_label): Likewise.
43487 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
43488 (grub_setup_SOURCES): Add fs/udf.c.
43489 (grub_fstest_SOURCES): Likewise.
43490 (udf_mod_SOURCES): New variable.
43491 (udf_mod_CFLAGS): Likewise.
43492 (udf_mod_LDFLAGS): Likewise.
43494 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
43495 (grub_emu_SOURCES): Likewise.
43497 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
43499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43501 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43503 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43505 * fs/udf.c: New file.
43507 2008-02-24 Robert Millan <rmh@aybabtu.com>
43509 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
43510 (normal/lexer.c_DEPENDENCIES): New variables.
43511 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43512 (normal/lexer.c_DEPENDENCIES): Likewise.
43513 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
43514 (normal/lexer.c_DEPENDENCIES): Likewise.
43515 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
43516 (normal/lexer.c_DEPENDENCIES): Likewise.
43517 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43518 (normal/lexer.c_DEPENDENCIES): Likewise.
43519 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
43520 (normal/lexer.c_DEPENDENCIES): Likewise.
43522 2008-02-23 Robert Millan <rmh@aybabtu.com>
43524 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
43525 since they were intended to be in hex. This didn't break previously
43526 because of a bug in gpt_partition_map_iterate() (see below).
43528 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
43529 when checking the validity of GPT header.
43530 Remove `partno', since it always provides the same information as `i'.
43532 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
43534 * include/grub/efi/time.h: Fix a wrong comment.
43536 2008-02-19 Pavel Roskin <proski@gnu.org>
43538 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
43541 2008-02-19 Bean <bean123ch@gmail.com>
43543 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
43544 (aout_mod_SOURCES): New variable.
43545 (aout_mod_CFLAGS): Likewise.
43546 (aout_mod_LDFLAGS): Likewise.
43547 (_bsd_mod_SOURCES): New variable.
43548 (_bsd_mod_CFLAGS): Likewise.
43549 (_bsd_mod_LDFLAGS): Likewise.
43550 (bsd_mod_SOURCES): New variable.
43551 (bsd_mod_CFLAGS): Likewise.
43552 (bsd_mod_LDFLAGS): Likewise.
43554 * include/grub/aout.h: New file.
43556 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
43558 * include/grub/i386/bsd.h: New file.
43560 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
43563 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
43564 function is called, so that it's possible to change it inside the hook.
43565 (grub_elf64_load): Likewise.
43566 (grub_elf_file): Don't close the file if elf header is not found.
43567 (grub_elf_close): Close the file if grub_elf_file fails (The new
43568 grub_elf_file won't close it).
43569 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
43570 (grub_elf64_size): Likewise.
43572 * kern/i386/loader.S (grub_unix_real_boot): New function.
43574 * loader/aout.c: New file.
43576 * loader/i386/bsd.c: New file.
43578 * loader/i386/bsd_normal.c: New file.
43580 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
43582 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
43583 can test other formats.
43585 2008-02-19 Robert Millan <rmh@aybabtu.com>
43587 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
43588 (grub_gpt_partition_type_empty): Redefine with macro from
43589 `<grub/gpt_partition.h>'.
43590 (gpt_partition_map_iterate): Adjust partition type comparison.
43592 Export `entry' as partmap-specific `part.data' struct.
43593 (grub_gpt_header, grub_gpt_partentry): Move from here ...
43595 * include/grub/gpt_partition.h (grub_gpt_header)
43596 (grub_gpt_partentry): ... to here (new file).
43598 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
43600 (grub_gpt_partition_type_bios_boot): New const variable, defined
43601 with macro from `<grub/gpt_partition.h>'.
43603 (setup): Replace `first_start' with `embed_region', which keeps
43604 track of the embed region (and is partmap-agnostic).
43606 Replace find_first_partition_start() with find_usable_region(),
43607 which finds a usable region for embedding using partmap-specific
43608 knowledge (supports PC/MSDOS and GPT).
43610 Fix all assumptions that the embed region start at sector 1, using
43611 `embed_region.start' from now on. Similarly, use `embed_region.end'
43612 rather than `first_start' to calculate available size.
43614 In grub_util_info() message, replace "into after the MBR" with an
43615 indication of the specific sector our embed region starts at.
43617 2008-02-19 Robert Millan <rmh@aybabtu.com>
43619 * DISTLIST: Replace `commands/ieee1275/halt.c' and
43620 `commands/ieee1275/reboot.c' with `commands/halt.c' and
43621 `commands/reboot.c'.
43622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43623 (halt_mod_SOURCES): Likewise.
43624 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
43625 (halt_mod_SOURCES): Likewise.
43627 2008-02-17 Christian Franke <franke@computer.org>
43629 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
43631 2008-02-17 Robert Millan <rmh@aybabtu.com>
43633 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43634 set `first_start' to 0 for non-PC/MSDOS partition maps.
43636 2008-02-16 Robert Millan <rmh@aybabtu.com>
43638 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
43639 do not assume partition map is PC/MSDOS before performing checks that
43640 are specific to that layout.
43642 2008-02-13 Robert Millan <rmh@aybabtu.com>
43644 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
43645 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
43646 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
43648 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
43650 * configure.ac: Only a cosmetic change on the handling of
43651 -fno-stack-protector.
43653 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
43655 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
43656 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
43658 (grub_install_SOURCES): Add halt.mod and reboot.mod.
43659 (halt_mod_SOURCES): New variable.
43660 (halt_mod_CFLAGS): Likewise.
43661 (halt_mod_LDFLAGS): Likewise.
43662 (reboot_mod_SOURCES): Likewise.
43663 (reboot_mod_CFLAGS): Likewise.
43664 (reboot_mod_LDFLAGS): Likewise.
43666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
43667 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
43669 (halt_mod_SOURCES): Likewise.
43670 (reboot_mod_SOURCES): Likewise.
43672 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
43673 commands/i386/pc/reboot.c by commands/reboot.c.
43674 (reboot_mod_SOURCES): Likewise.
43676 * commands/i386/pc/reboot.c: merge this file ...
43678 * commands/ieee1275/reboot.c: ... and this file ...
43680 * commands/reboot.c: ... to this file.
43681 Add some precompiler directive to include the correct header for
43684 * commands/ieee1275/halt.c: move this file ...
43686 * commands/halt.c: ... to here.
43687 Add some precompiler directive to include the correct header for
43690 * include/grub/efi/efi.h (grub_reboot): New function declaration.
43691 (grub_halt): Likewise.
43693 * kern/efi/efi.c (grub_reboot): New function.
43694 (grub_halt): Likewise.
43696 2008-02-12 Robert Millan <rmh@aybabtu.com>
43698 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
43699 /dev (like it is done for /dev/mapper). This doesn't provide support
43700 for EVMS, but at least it is now easy to identify the problem when it
43703 2008-02-11 Robert Millan <rmh@aybabtu.com>
43705 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
43706 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
43707 comparing it with -1, not 0.
43709 2008-02-10 Robert Millan <rmh@aybabtu.com>
43711 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
43713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43714 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
43716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
43717 `disk/lvm.c' to the end of the list.
43718 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
43719 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43721 2008-02-10 Robert Millan <rmh@aybabtu.com>
43723 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
43724 grub_print_error() instead. This will let user know why we're entering
43726 Based on suggestions from Sam Morris.
43728 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
43730 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
43731 on remaining N args, instead of "--" arg N times.
43733 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
43735 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
43736 (fill_with_default_glyph): Changed to use unknown_glyph for fill
43737 pattern for unknown glyphs.
43739 2008-02-09 Robert Millan <rmh@aybabtu.com>
43741 * configure.ac: Probe for `help2man'.
43742 * Makefile.in (builddir): New variable.
43743 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
43744 or otherwise add a few flags/options to it.
43745 (install-local): For every executable utility or script that is
43746 installed, invoke $(HELP2MAN) to install a manpage based on --help
43749 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
43750 that it doesn't prevent --help from working in build tree.
43752 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
43753 with `bug-grub@gnu.org'.
43754 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
43755 * util/update-grub.in (usage): New function.
43756 Implement proper argument check, with support for --help and --version
43757 (as well as existing -y).
43759 2008-02-09 Christian Franke <franke@computer.org>
43761 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
43762 avoid overwriting previous output.
43763 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
43765 2008-02-09 Robert Millan <rmh@aybabtu.com>
43767 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
43770 2008-02-09 Robert Millan <rmh@aybabtu.com>
43772 * commands/sleep.c: New file.
43773 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
43774 (sleep_mod_SOURCES): New variable.
43775 (sleep_mod_CFLAGS): Likewise.
43776 (sleep_mod_LDFLAGS): Likewise.
43778 2008-02-09 Robert Millan <rmh@aybabtu.com>
43780 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
43781 situations in which we can deduce the RAID size and the superblock
43784 2008-02-09 Robert Millan <rmh@aybabtu.com>
43786 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
43787 and return a grub_diskmemberlist_t composed of LVM physical volumes.
43788 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
43790 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
43791 and return a grub_diskmemberlist_t composed of physical array members.
43792 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
43794 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
43796 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
43797 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
43798 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
43800 * util/grub-probe.c (probe): Move partmap probing code from here ...
43801 (probe_partmap): ... to here.
43802 (probe): Use probe_partmap() once for the disk we're probing, and
43803 additionally, when such disk contains a memberlist() struct member,
43804 once for each disk that is contained in the structure returned by
43807 2008-02-09 Robert Millan <rmh@aybabtu.com>
43809 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
43810 environment variable to 'all' in order to obtain debug output from
43812 * util/i386/pc/grub-setup.c (main): Likewise.
43814 2008-02-08 Robert Millan <rmh@aybabtu.com>
43816 * disk/raid.c (grub_raid_scan_device): Check for
43817 `array->device[sb.this_disk.number]' rather than for
43818 `array->device[sb.this_disk.number]->name', since the latter is not
43819 guaranteed to be accessible.
43821 2008-02-08 Robert Millan <rmh@aybabtu.com>
43823 * disk/raid.c: Update copyright.
43824 * fs/cpio.c: Likewise.
43825 * include/grub/raid.h: Likewise.
43826 * loader/i386/pc/multiboot.c: Likewise.
43827 * util/hostfs.c: Likewise.
43829 2008-02-08 Robert Millan <rmh@aybabtu.com>
43831 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
43832 to a grub_disk_t array.
43833 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
43835 (grub_raid_scan_device): Replace `device[x].name' accesses with
43836 `device[x]->name'. Simplify initialization of `array->device[x]'.
43838 2008-02-08 Robert Millan <rmh@aybabtu.com>
43840 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
43841 grub_dprintf() calls.
43842 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
43845 2008-02-07 Christian Franke <franke@computer.org>
43847 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
43848 instead of fseek and ftell to support large files.
43849 (grub_hostfs_read): Likewise.
43851 2008-02-07 Robert Millan <rmh@aybabtu.com>
43853 Patch from Jeroen Dekkers.
43854 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
43855 failure, since successfully reading all array members might not be
43858 2008-02-06 Robert Millan <rmh@aybabtu.com>
43860 * util/grub-probe.c (probe): Simplify partmap probing (with the
43861 assumption that the first word up to the underscore equals to
43864 2008-02-06 Christian Franke <franke@computer.org>
43866 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
43867 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
43868 last block of a cpio or tar stream.
43869 Check for "TRAILER!!!" instead of any empty data
43870 block to detect last block of a cpio stream.
43871 (grub_cpio_dir): Fix constness of variable np.
43872 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
43873 cpio or tar trailer is detected. This fixes a crash
43874 on open of a non existing file.
43876 2008-02-05 Bean <bean123ch@gmail.com>
43878 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
43880 (grub_multiboot_load_elf64): Likewise.
43881 (grub_multiboot): Initialize mbi structure.
43883 * util/grub-fstest.c: Don't include unused header file script.h.
43885 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
43887 (grub_fstest_SOURCES): Likewise.
43889 2008-02-05 Robert Millan <rmh@aybabtu.com>
43891 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
43892 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
43893 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
43894 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
43896 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
43897 (translation_table): Replace hardcoded values with macros
43898 provided by `<grub/term.h>'.
43900 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
43901 (keyboard_map): Correct/add a few values, with macros provided
43902 by `<grub/term.h>'.
43903 (keyboard_map_shift): Zero values that don't differ from their
43904 `keyboard_map' equivalents.
43905 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
43906 Discard the second scan code that is always sent by Caps lock.
43907 Only use `keyboard_map_shift' when it provides a non-zero value,
43908 otherwise fallback to `keyboard_map'.
43910 2008-02-04 Bean <bean123ch@gmail.com>
43912 * Makefile.in (enable_grub_fstest): New variable.
43914 * conf/common.rmk (grub_fstest_init.lst): New rule.
43915 (grub_fstest_init.h): Likewise.
43916 (grub_fstest_init.c): Likewise.
43917 (util/grub-fstest.c_DEPENDENCIES): New variable.
43918 (grub_fstest_SOURCES): Likewise.
43920 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
43922 * util/grub-fstest.c: New file.
43924 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43926 Make grub-setup handle a separate root device.
43928 * util/i386/pc/grub-setup.c (setup): Always open the root device,
43929 so that the root device can be compared with the destination
43931 When embedding the core image, if the root and destination devices
43932 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
43934 When not embedding, set ROOT_DRIVE to 0xFF.
43936 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43938 Add support for having a grub directory in a different drive. This
43939 is still only the data handling part.
43941 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
43942 (codestart): Save %dh in GRUB_ROOT_DRIVE.
43943 (grub_root_drive): New variable.
43945 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
43946 instead of GRUB_BOOT_DRIVE to construct a device name. Set
43947 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
43950 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
43952 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
43954 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
43956 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
43957 is bogus, because PXE booting does not specify any drive
43960 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
43961 am not sure if this is really correct.
43963 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
43964 is always identical to the boot drive when booting from a CD.
43966 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
43968 (root_drive): New variable.
43969 (real_start): Unconditionally set %dh to ROOT_DRIVE.
43970 (setup_sectors): Push %dx right after popping it, because %dh will
43972 (copy_buffer): Restore %dx.
43974 2008-02-03 Robert Millan <rmh@aybabtu.com>
43976 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
43977 use `cdboot.img' for cdrom images.
43979 2008-02-03 Robert Millan <rmh@aybabtu.com>
43981 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
43982 only setup gfxterm when `font' command has succeeded.
43984 2008-02-03 Robert Millan <rmh@aybabtu.com>
43986 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
43987 (grub_rescue_cmd_multiboot_loader)
43988 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
43990 2008-02-03 Pavel Roskin <proski@gnu.org>
43992 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
43993 %edx and %esi from stack only after grub_gate_a20() is called.
43994 grub_gate_a20() clobbers %edx.
43996 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
43998 * configure.ac (AC_INIT): Bumped to 1.96.
44000 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
44001 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
44002 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
44003 video/readers/png.c.
44005 2008-02-03 Bean <bean123ch@gmail.com>
44007 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
44008 (cdboot_img_SOURCES): New variable.
44009 (cdboot_img_ASFLAGS): New variable.
44010 (cdboot_img_LDFLAGS): New variable.
44012 * boot/i386/pc/cdboot.S: New file.
44014 * disk/i386/pc/biosdisk.c (cd_start): New variable.
44015 (cd_count): Likewise.
44016 (grub_biosdisk_get_drive): Add support for cd device.
44017 (grub_biosdisk_call_hook): Likewise.
44018 (grub_biosdisk_iterate): Likewise.
44019 (grub_biosdisk_open): Likewise.
44020 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
44021 (grub_biosdisk_rw): Support reading from cd device.
44022 (GRUB_MOD_INIT): Iterate cd devices.
44024 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
44025 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
44026 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
44028 * kern/i386/pc/init.c (make_install_device): Check for cd device.
44030 2008-02-02 Robert Millan <rmh@aybabtu.com>
44032 * commands/read.c: New file.
44033 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
44034 (read_mod_SOURCES): New variable.
44035 (read_mod_CFLAGS): Likewise.
44036 (read_mod_LDFLAGS): Likewise.
44038 2008-02-02 Robert Millan <rmh@aybabtu.com>
44040 * normal/main.c (grub_normal_execute): Check for `menu->size' when
44041 determining whether menu has to be displayed.
44043 2008-02-02 Marco Gerards <marco@gnu.org>
44045 * bus/pci.c: New file.
44047 * include/grub/pci.h: Likewise.
44049 * include/grub/i386/pc/pci.h: Likewise.
44051 * commands/lspci.c: Likewise.
44053 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
44055 (pci_mod_SOURCES): New variable.
44056 (pci_mod_CFLAGS): Likewise.
44057 (pci_mod_LDFLAGS): Likewise.
44058 (lspci_mod_SOURCES): Likewise.
44059 (lspci_mod_CFLAGS): Likewise.
44060 (lspci_mod_LDFLAGS): Likewise.
44062 2008-02-02 Bean <bean123ch@gmail.com>
44064 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
44065 (grub_ufs_get_file_block): Fix indirect block calculation problem.
44067 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
44068 (grub_xfs_btree_node): New structure.
44069 (grub_xfs_btree_root): New structure.
44070 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
44071 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
44072 (GRUB_XFS_EXTENT_BLOCK): Likewise.
44073 (GRUB_XFS_EXTENT_SIZE): Likewise.
44074 (grub_xfs_read_block): Support btree format type.
44075 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
44076 Use directory block as basic unit.
44078 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
44080 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
44081 __attribute__ ((__regparm__ (1))).
44083 2008-02-01 Robert Millan <rmh@aybabtu.com>
44085 Correct a mistake in previous commit.
44087 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
44089 (normal/command.c_DEPENDENCIES): New variable.
44091 2008-02-01 Robert Millan <rmh@aybabtu.com>
44093 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
44095 (normal/command.c_DEPENDENCIES): New variable.
44096 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
44097 * conf/i386-ieee1275.rmk: Likewise.
44098 * conf/i386-linuxbios.rmk: Likewise.
44099 * conf/i386-pc.rmk: Likewise.
44100 * conf/sparc64-ieee1275.rmk: Likewise.
44101 * conf/powerpc-ieee1275.rmk: Likewise.
44102 (grub_emu_SOURCES): Add `fs/fshelp.c'.
44104 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
44106 2008-02-01 Robert Millan <rmh@aybabtu.com>
44108 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
44109 call at beginning of function.
44111 2008-01-31 Pavel Roskin <proski@gnu.org>
44113 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
44114 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
44115 (grub_mkrescue_SOURCES): Likewise.
44116 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
44118 2008-01-30 Robert Millan <rmh@aybabtu.com>
44120 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
44121 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
44122 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
44123 (grub_probe_SOURCES): ... to here.
44125 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
44126 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
44127 * conf/i386-ieee1275.rmk: Likewise.
44128 * conf/i386-linuxbios.rmk: Likewise.
44129 * conf/powerpc-ieee1275.rmk: Likewise.
44131 2008-01-30 Tristan Gingold <gingold@free.fr>
44133 * kern/rescue.c: Silently accept empty lines.
44135 2008-01-29 Bean <bean123ch@gmail.com>
44137 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
44138 (real_code_2): Code cleanup and change comment style.
44139 (move_memory): Avoid using 32-bit address mode.
44141 2008-01-29 Bean <bean123ch@gmail.com>
44143 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
44144 (png_mod_SOURCES): New variable.
44145 (png_mod_CFLAGS): Likewise.
44146 (png_mod_LDFLAGS): Likewise.
44148 * video/readers/png.c: New file.
44150 2008-01-28 Robert Millan <rmh@aybabtu.com>
44152 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
44153 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
44154 `ifndef GRUB_MOD_GAP' hack.
44155 * util/elf/grub-mkimage.c (add_segments): Likewise.
44157 2008-01-27 Robert Millan <rmh@aybabtu.com>
44159 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
44160 `GRUB_MOD_GAP' for platforms in which it's not defined.
44161 * util/elf/grub-mkimage.c (add_segments): Likewise.
44163 2008-01-27 Robert Millan <rmh@aybabtu.com>
44165 Get grub-emu to build again (including parallel builds).
44167 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
44169 (util/grub-emu.c_DEPENDENCIES): ... this, ...
44170 (normal/execute.c_DEPENDENCIES): ... this, ...
44171 (grub-emu_DEPENDENCIES): ... and this.
44173 * conf/i386-efi.rmk: Likewise.
44174 * conf/i386-linuxbios.rmk: Likewise.
44175 * conf/i386-ieee1275.rmk: Likewise.
44176 * conf/powerpc-ieee1275.rmk: Likewise.
44177 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
44179 2008-01-27 Robert Millan <rmh@aybabtu.com>
44181 * NEWS: Add a few items.
44183 2008-01-27 Robert Millan <rmh@aybabtu.com>
44185 Fix parallel builds with grub-emu. Based on earlier commit for
44186 grub-probe and grub-setup.
44188 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44189 (util/grub-emu.c_DEPENDENCIES): ... this.
44190 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44191 (util/grub-emu.c_DEPENDENCIES): ... this.
44192 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44193 (util/grub-emu.c_DEPENDENCIES): ... this.
44194 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44195 (util/grub-emu.c_DEPENDENCIES): ... this.
44196 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
44197 (util/grub-emu.c_DEPENDENCIES): ... this.
44199 2008-01-27 Pavel Roskin <proski@gnu.org>
44201 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
44202 to create a gap between _end and the modules added to the image
44203 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
44204 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
44205 * util/elf/grub-mkimage.c (add_segments): Likewise.
44207 2008-01-26 Pavel Roskin <proski@gnu.org>
44209 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
44210 just return an error.
44212 2008-01-26 Bean <bean123ch@gmail.com>
44214 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
44215 (grub_reiserfs_get_item): Save offset of the next item.
44216 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
44218 2008-01-25 Robert Millan <rmh@aybabtu.com>
44220 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
44221 make all filesystem sources appear together (possibly fixing omissions
44223 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
44224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44225 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
44226 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44228 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
44230 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
44231 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44232 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
44233 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
44235 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
44236 (probe): Add a sanity check to make sure of our ability to read
44237 requested files when probing for filesystem type.
44239 * genmk.rb: Update copyright year (2007).
44241 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
44242 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
44243 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
44244 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
44245 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
44246 : Remove function prototypes.
44248 2008-01-25 Robert Millan <rmh@aybabtu.com>
44250 Revert my previous commits (based on wrong assumption of how grub_errno
44253 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
44254 * kern/file.c (grub_file_open): Likewise.
44256 2008-01-24 Pavel Roskin <proski@gnu.org>
44258 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
44259 that hang if GRUB tries to setup colors.
44260 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
44261 colors for firmwares that don't support it.
44262 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
44263 Recognize Open Hack'Ware, set flags to work around its
44266 2008-01-24 Robert Millan <rmh@aybabtu.com>
44268 * kern/file.c (grub_file_open): Do not account previous failures of
44269 unrelated functions when grub_errno is checked for.
44270 Reported by Oleg Strikov.
44272 2008-01-24 Bean <bean123ch@gmail.com>
44274 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
44275 (grub_ufs_sblock): New member volume name.
44276 (grub_ufs_find_file): Fix string copy bug.
44277 (grub_ufs_label): Implement this function properly.
44279 * fs/hfs.c (grub_hfs_cnid_type): New enum.
44280 (grub_hfs_iterate_records): Use the correct file number for extents
44281 and catalog file. Fix problem in next index calculation.
44282 (grub_hfs_find_node): Replace recursive function call with loop.
44283 (grub_hfs_iterate_dir): Replace recursive function call with loop.
44285 2008-01-23 Robert Millan <rmh@aybabtu.com>
44287 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
44288 `<grub/symbol.h>' and `<grub/multiboot.h>'.
44289 (grub_multiboot2_real_boot): New function prototype.
44291 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
44292 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
44294 * kern/i386/ieee1275/init.c (grub_os_area_addr)
44295 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
44297 2008-01-23 Robert Millan <rmh@aybabtu.com>
44299 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
44300 #ifdef'ed out grub_printf().
44302 2008-01-23 Robert Millan <rmh@aybabtu.com>
44304 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
44305 grub_dprintf calls, since they make "debug=all" mode unusable.
44306 (grub_console_checkkey): Likewise.
44308 2008-01-23 Robert Millan <rmh@aybabtu.com>
44310 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
44311 `term/i386/pc/at_keyboard.c'.
44312 (pkglib_MODULES): Add `serial.mod'.
44313 (serial_mod_SOURCES): New variable.
44314 (serial_mod_CFLAGS): Likewise.
44315 (serial_mod_LDFLAGS): Likewise.
44317 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
44318 `<grub/powerpc/ieee1275/console.h>'.
44319 (grub_keyboard_controller_init): New function prototype.
44320 (grub_console_checkkey): Likewise.
44321 (grub_console_getkey): Likewise.
44323 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
44326 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
44327 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
44329 2008-01-23 Robert Millan <rmh@aybabtu.com>
44331 * kern/i386/pc/init.c (make_install_device): When memdisk image is
44332 present, "(memdisk)/boot/grub" becomes the default prefix.
44334 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
44335 a memdisk tarball with all the modules. Add --overlay=DIR option that
44336 allows users to overlay additional files into the image.
44338 2008-01-23 Robert Millan <rmh@aybabtu.com>
44340 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
44341 and `machine/memory.h'.
44342 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
44343 (_multiboot_mod_SOURCES): New variable.
44344 (_multiboot_mod_CFLAGS): Likewise.
44345 (_multiboot_mod_LDFLAGS): Likewise.
44346 (multiboot_mod_SOURCES): Likewise.
44347 (multiboot_mod_CFLAGS): Likewise.
44348 (multiboot_mod_LDFLAGS): Likewise.
44350 * include/grub/i386/ieee1275/loader.h: New file.
44352 * include/grub/i386/ieee1275/machine.h: Likewise.
44354 * include/grub/i386/ieee1275/memory.h: Likewise.
44356 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
44357 variable declaration.
44358 (grub_os_area_size): Likewise.
44360 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
44361 (grub_lower_mem, grub_upper_mem): New variables.
44362 (grub_stop_floppy): New function (just to make
44363 grub_multiboot2_real_boot() happy).
44365 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
44366 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
44367 (grub_stop): New function.
44368 Include `"../realmode.S"' and `"../loader.S"'.
44370 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
44371 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
44373 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
44374 rely on grub_multiboot2_real_boot() for final boot.
44376 2008-01-22 Robert Millan <rmh@aybabtu.com>
44378 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
44379 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
44380 device that doesn't look like an SD card.
44381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
44382 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
44383 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
44384 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
44387 2008-01-22 Robert Millan <rmh@aybabtu.com>
44389 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
44390 avoid claiming over our own code.
44392 2008-01-22 Bean <bean123ch@gmail.com>
44394 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
44395 (jpeg_mod_SOURCES): New variable.
44396 (jpeg_mod_CFLAGS): Likewise.
44397 (jpeg_mod_LDFLAGS): Likewise.
44399 * video/readers/jpeg.c : New file.
44401 2008-01-22 Bean <bean123ch@gmail.com>
44403 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
44404 there are no more items.
44406 2008-01-21 Robert Millan <rmh@aybabtu.com>
44408 * kern/mm.c (grub_mm_init_region): Improve debug message.
44410 2008-01-21 Robert Millan <rmh@aybabtu.com>
44412 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
44413 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
44415 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
44417 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
44418 Indicates start of upper memory.
44419 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
44420 (generate_image): Abort when image size is big enough to corrupt
44423 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
44424 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
44425 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44426 instead of hardcoding 0xA0000.
44427 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
44428 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
44429 instead of hardcoding 0xA0000.
44431 2008-01-21 Robert Millan <rmh@aybabtu.com>
44433 * disk/memdisk.c (memdisk_size): New variable.
44434 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
44436 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
44437 image to dynamic memory.
44438 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
44439 `memdisk_size'. Free memdisk block.
44441 2008-01-21 Robert Millan <rmh@aybabtu.com>
44443 Fix detection of very small filesystems (like tar).
44445 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
44446 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
44447 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
44448 a problem with this disk).
44450 2008-01-21 Robert Millan <rmh@aybabtu.com>
44452 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
44453 on grub_biosdisk_rw_standard() error.
44455 2008-01-21 Robert Millan <rmh@aybabtu.com>
44457 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
44459 * kern/elf.c: Likewise.
44460 * kern/ieee1275/ieee1275.c: Likewise.
44461 * kern/powerpc/ieee1275/openfw.c: Likewise.
44462 * term/ieee1275/ofconsole.c: Likewise.
44464 2008-01-21 Robert Millan <rmh@aybabtu.com>
44466 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
44468 * include/grub/kernel.h (grub_arch_memdisk_addr)
44469 (grub_arch_memdisk_size): Moved from here ...
44471 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
44472 (grub_arch_memdisk_size): ... to here.
44474 2008-01-21 Robert Millan <rmh@aybabtu.com>
44476 Mostly based on bugfix from Bean.
44478 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
44479 attribute with hook() parameter.
44480 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
44482 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
44483 attribute with hook() parameter.
44484 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
44487 2008-01-21 Robert Millan <rmh@aybabtu.com>
44489 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
44490 (pkglib_MODULES): Add `memdisk.mod'.
44491 (memdisk_mod_SOURCES): New variable.
44492 (memdisk_mod_CFLAGS): Likewise.
44493 (memdisk_mod_LDFLAGS): Likewise.
44495 * disk/memdisk.c: New file.
44497 * include/grub/disk.h (grub_disk_dev_id): Add
44498 `GRUB_DISK_DEVICE_MEMDISK_ID'.
44500 * include/grub/i386/pc/kernel.h
44501 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
44502 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
44503 (grub_kernel_image_size): New variable declaration.
44504 (grub_total_module_size): Likewise.
44505 (grub_memdisk_image_size): Likewise.
44507 * include/grub/i386/pc/memory.h
44508 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
44510 * include/grub/kernel.h: Include `<grub/symbol.h>'.
44511 (grub_arch_memdisk_addr): New variable declaration.
44512 (grub_arch_memdisk_size): Likewise.
44514 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
44515 (grub_arch_memdisk_size): Likewise.
44517 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
44518 (codestart): Replace hardcoded `0x100000' with
44519 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
44521 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
44522 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
44523 not NULL, append the contents of the file it refers to, at the end of
44524 the compressed kernel image. Initialize `grub_memdisk_image_size'
44525 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
44526 (options): Add "memdisk"|'m' option.
44527 (main): Parse --memdisk|-m option, and pass user-provided path as
44528 parameter to generate_image().
44530 2008-01-20 Robert Millan <rmh@aybabtu.com>
44532 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
44533 grub_dprintf() calls from here ...
44534 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
44536 2008-01-20 Robert Millan <rmh@aybabtu.com>
44538 Fix detection of "real mode" when /options/real-mode? doesn't exist.
44540 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
44542 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
44543 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
44544 `GRUB_IEEE1275_FLAG_REAL_MODE'.
44545 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
44547 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
44548 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
44550 2008-01-19 Robert Millan <rmh@aybabtu.com>
44552 Get rid of confusing function (superseded by
44553 `grub_ieee1275_get_integer_property')
44554 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
44556 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
44558 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
44559 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
44560 in native endianness from grub_ieee1275_get_integer_property().
44562 2008-01-19 Robert Millan <rmh@aybabtu.com>
44564 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
44565 command after "shut-down", since implementations differ on which
44566 the command for halt is.
44568 2008-01-19 Robert Millan <rmh@aybabtu.com>
44570 * include/grub/i386/linuxbios/console.h: Add header protection.
44571 (grub_keyboard_controller_init): New function prototype.
44572 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
44573 (KEYBOARD_COMMAND_READ): Likewise.
44574 (KEYBOARD_COMMAND_WRITE): Likewise.
44575 (KEYBOARD_SCANCODE_SET1): Likewise.
44576 (grub_keyboard_controller_write): New function.
44577 (grub_keyboard_controller_read): Likewise.
44578 (grub_keyboard_controller_init): Likewise.
44580 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
44581 (grub_console_init): On coreboot/LinuxBIOS, call
44582 grub_keyboard_controller_init().
44584 2008-01-19 Robert Millan <rmh@aybabtu.com>
44586 PowerPC changes provided by Pavel Roskin.
44588 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
44589 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
44590 don't rely on cmain() doing it.
44591 * kern/i386/ieee1275/startup.S (_start): Store %eax in
44592 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
44594 2008-01-16 Robert Millan <rmh@aybabtu.com>
44596 * include/grub/i386/linuxbios/memory.h
44597 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
44598 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
44599 receive `table_header' as argument. Instead, probe for it in the
44600 known memory ranges where it can be present.
44601 (grub_available_iterate): Do not pass a fixed `table_header' address
44602 to grub_linuxbios_table_iterate().
44604 2008-01-15 Robert Millan <rmh@aybabtu.com>
44606 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
44607 * conf/i386-ieee1275.rmk: New file.
44608 * include/grub/i386/ieee1275/console.h: Likewise.
44609 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
44610 * include/grub/i386/ieee1275/kernel.h: Likewise.
44611 * include/grub/i386/ieee1275/time.h: Likewise.
44612 * kern/i386/ieee1275/init.c: Likewise.
44613 * kern/i386/ieee1275/startup.S: Likewise.
44615 2008-01-15 Robert Millan <rmh@aybabtu.com>
44617 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
44618 when pointers are 32-bit (but still do set it to one when they are
44621 2008-01-15 Robert Millan <rmh@aybabtu.com>
44623 * include/grub/ieee1275/ieee1275.h
44624 (grub_ieee1275_get_integer_property): New function prototype.
44626 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
44627 (grub_ieee1275_get_integer_property): New function. Wraps around
44628 grub_ieee1275_get_property() to handle endianness.
44630 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
44631 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
44633 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
44634 (grub_map): Likewise.
44635 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
44637 2008-01-15 Bean <bean123ch@gmail.com>
44639 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
44640 (grub_script_execute_cmdline): Reset grub_errno.
44642 * normal/main.c (read_config_file): Reset grub_errno.
44644 * normal/parse.y (script_init): New.
44645 (script): Move function and menuentry here.
44647 (command): Add delimiter at the end of command.
44648 (commands): Adjust to match the new command.
44649 (commandblock): Remove grub_script_lexer_record_start.
44650 (menuentry): Add grub_script_lexer_record_start, use the new commands.
44651 (if): Use the new commands.
44653 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
44655 2008-01-15 Robert Millan <rmh@aybabtu.com>
44657 * normal/menu.c (run_menu): Move timeout message from here ...
44658 (print_timeout): ... to here.
44659 (run_menu): Use print_timeout() once during initial draw to print
44660 the whole message, and again in every clock tick to update only
44661 the number of seconds.
44663 2008-01-15 Robert Millan <rmh@aybabtu.com>
44665 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
44666 actual size of `available' from grub_ieee1275_get_property(), and
44667 restrict parsing to that bound.
44669 2008-01-15 Christian Franke <franke@computer.org>
44671 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
44672 (argp_program_version): Remove variable.
44673 (argp_program_bug_address): Likewise.
44674 (options): Convert from struct argp_option to struct option.
44675 (struct arguments): Remove.
44676 (parse_opt): Remove.
44677 (usage): New function.
44678 (main): Replace struct args members by simple variables.
44679 Replace argp_parse() by getopt_long().
44680 Add switch to evaluate options.
44681 Add missing "(...)" around root_dev in prefix string.
44683 2008-01-14 Robert Millan <rmh@aybabtu.com>
44685 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
44686 for grub_ieee1275_exit(), in order to improve portability.
44688 2008-01-14 Robert Millan <rmh@aybabtu.com>
44690 * util/grub.d/10_linux.in (prefix): Define.
44691 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
44693 2008-01-13 Pavel Roskin <proski@gnu.org>
44695 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
44696 grub_errno if no errors have been detected.
44698 2008-01-12 Robert Millan <rmh@aybabtu.com>
44700 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
44701 (grub_util_get_dev_abstraction): New function prototype.
44703 * util/getroot.c: Include `<grub/util/getroot.h>'
44704 (grub_util_get_grub_dev): Move detection of abstraction type to ...
44705 (grub_util_get_dev_abstraction): ... here (new function).
44707 * util/grub-probe.c: Convert PRINT_* to an enum. Add
44708 `PRINT_ABSTRACTION'.
44709 (probe): Probe for abstraction type when requested.
44710 (main): Understand `--target=abstraction'.
44712 * util/i386/efi/grub-install.in: Add abstraction module to core
44713 image when it is found to be necessary.
44714 * util/i386/pc/grub-install.in: Likewise.
44715 * util/powerpc/ieee1275/grub-install.in: Likewise.
44717 * util/update-grub_lib.in (font_path): Return system path without
44718 converting to GRUB path.
44719 * util/update-grub.in: Convert system path returned by font_path()
44720 to a GRUB path. Use `grub-probe -t abstraction' to determine what
44721 abstraction module is needed for loading fonts (if any). Export
44722 that as `GRUB_PRELOAD_MODULES'.
44723 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
44726 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
44728 Remove some unused code from reiserfs.
44730 * fs/reiserfs.c (struct grub_reiserfs_key)
44731 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
44732 (struct grub_reiserfs_node_body): Removed.
44733 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44735 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44737 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44739 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
44741 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
44743 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
44745 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44746 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44747 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
44749 2008-01-10 Robert Millan <rmh@aybabtu.com>
44751 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
44752 Determines if a file is garbage left by packaging systems, etc.
44753 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
44754 for processing /etc/grub.d scripts.
44755 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
44756 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
44757 as a condition for processing Linux images.
44759 2008-01-10 Pavel Roskin <proski@gnu.org>
44761 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
44762 to compile reiserfs.c on PowerPC.
44764 2008-01-10 Robert Millan <rmh@aybabtu.com>
44766 * kern/device.c (grub_device_iterate): Do not abort device iteration
44767 when one of the devices cannot be opened.
44768 * kern/disk.c (grub_disk_open): Do not account previous failures of
44769 unrelated functions when grub_errno is checked for.
44771 2008-01-08 Robert Millan <rmh@aybabtu.com>
44773 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
44774 `! grub_linux_is_bzimage', change order of address comparison to make
44775 it more intuitive, and improve "too big zImage" error message.
44777 2008-01-08 Robert Millan <rmh@aybabtu.com>
44779 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
44780 `$(update-grub_DATA)'.
44781 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
44784 2008-01-07 Robert Millan <rmh@aybabtu.com>
44786 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
44787 which instruction is modified by grub-setup during installation
44788 (since it wasn't obvious by only looking at this file).
44790 2008-01-07 Robert Millan <rmh@aybabtu.com>
44792 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
44793 listing actual TODO items.
44795 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44797 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
44799 (grub_reiserfs_get_key_offset): Likewise.
44800 (grub_reiserfs_set_key_offset): Likewise.
44801 (grub_reiserfs_set_key_type): Likewise.
44802 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
44804 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
44805 better to remove the bitfield version completely.
44807 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44809 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
44810 allocated from the heap, due to the fshelp implementation.
44811 (grub_reiserfs_dir): Free NODE, due to the same reason.
44813 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
44815 Mostly from Vincent Pelletier:
44817 * fs/reiserfs.c: New file.
44819 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
44820 (reiserfs_mod_SOURCES): New variable.
44821 (reiserfs_mod_CFLAGS): Likewise.
44822 (reiserfs_mod_LDFLAGS): Likewise.
44824 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
44825 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
44826 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
44829 2008-01-06 Robert Millan <rmh@aybabtu.com>
44831 * normal/color.c: Remove `<grub/env.h>'.
44833 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
44835 * include/grub/normal.h: Include <grub/env.h>.
44837 2008-01-05 Robert Millan <rmh@aybabtu.com>
44839 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
44840 usage example with `(hd0,1)'.
44841 Reported by Samuel Thibault.
44843 2008-01-05 Robert Millan <rmh@aybabtu.com>
44845 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
44846 (grub_linux_boot_zimage): Rename to ...
44847 (grub_linux_boot): ... this.
44848 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
44849 (grub_linux_boot_zimage): Conditionalize zImage copy.
44851 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
44852 (grub_linux_boot_bzimage): Remove prototype.
44853 (grub_linux_boot_zimage): Rename to ...
44854 (grub_linux_boot): ... this.
44856 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
44857 (grub_linux_boot): Remove function.
44859 2008-01-05 Robert Millan <rmh@aybabtu.com>
44861 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
44862 (grub_env_write_color_highlight): Likewise.
44863 (grub_wait_after_message): Likewise.
44865 * normal/color.c: New file.
44867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44868 (normal_mod_DEPENDENCIES): Likewise.
44870 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44871 (normal_mod_DEPENDENCIES): Likewise.
44873 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44874 (normal_mod_DEPENDENCIES): Likewise.
44876 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
44877 (normal_mod_DEPENDENCIES): Likewise.
44879 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
44880 for waiting after a message is printed.
44881 * normal/main.c (read_config_file): Likewise.
44882 (grub_normal_init): Register grub_env_write_color_normal() and
44883 grub_env_write_color_highlight() hooks. Mark `color_normal' and
44884 `color_highlight' variables as global.
44886 * normal/menu.c (grub_wait_after_message): New function.
44887 (grub_color_menu_normal): New variable. Replaces ...
44888 (GRUB_COLOR_MENU_NORMAL): ... this macro.
44889 (grub_color_menu_highlight): New variable. Replaces ...
44890 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
44891 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
44892 `GRUB_TERM_COLOR_STANDARD'.
44893 (print_message): Use `grub_setcolorstate' to reload colors. Rename
44894 `normal_code' and `highlight_code' to `old_color_normal' and
44895 `old_color_highlight', respectively.
44896 (grub_menu_init_page): Update colors when drawing the menu, based on
44897 `menu_color_normal' and `menu_color_highlight' variables.
44898 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
44899 a message is printed.
44901 2008-01-05 Robert Millan <rmh@aybabtu.com>
44903 * kern/env.c (grub_env_context_open): Propagate hooks for global
44904 variables to new context.
44906 * kern/main.c (grub_set_root_dev): Export `root' variable.
44908 2008-01-05 Robert Millan <rmh@aybabtu.com>
44910 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
44911 discs unconditionally, since udev and others have options to provide
44914 2008-01-05 Robert Millan <rmh@aybabtu.com>
44916 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
44918 2008-01-04 Christian Franke <franke@computer.org>
44920 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
44923 2008-01-03 Pavel Roskin <proski@gnu.org>
44925 * kern/i386/linuxbios/init.c: Put "void" to all function
44926 declarations with no arguments.
44927 * kern/powerpc/ieee1275/init.c: Likewise.
44928 * term/i386/pc/at_keyboard.c: Likewise.
44929 * term/i386/pc/vga_text.c: Likewise.
44930 * util/grub-mkdevicemap.c: Likewise.
44932 2008-01-02 Robert Millan <rmh@aybabtu.com>
44934 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
44935 message when loaded image is out of bounds.
44936 (grub_multiboot_load_elf64): Likewise.
44938 2008-01-02 Pavel Roskin <proski@gnu.org>
44940 * util/grub.d/10_linux.in: Try version without ".old" when
44941 looking for initrd. It's better to use initrd from the newer
44942 kernel of the same version than no initrd at all.
44944 2008-01-01 Robert Millan <rmh@aybabtu.com>
44946 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
44948 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
44950 * include/grub/video.h: Added grub_video_unmap_color and
44951 grub_video_get_active_render_target.
44952 (grub_video_adapter): Added unmap_color and get_active_render_target.
44954 * video/video.c: Added grub_video_unmap_color and
44955 grub_video_get_active_render_target.
44956 (grub_video_get_info): Changed method to accept NULL pointer as an
44957 argument to allow detection of active video adapter.
44959 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
44960 grub_video_vbe_unmap_color_int.
44961 Added grub_video_vbe_unmap_color and
44962 grub_video_vbe_get_active_render_target.
44963 (grub_video_vbe_adapter): Added unmap_color and
44964 get_active_render_target.
44966 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
44967 with grub_video_vbe_unmap_color_int.
44969 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
44970 (DEFAULT_NORMAL_COLOR): Likewise.
44971 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
44972 (DEFAULT_FG_COLOR): Removed.
44973 (DEFAULT_BG_COLOR): Likewise.
44974 (DEFAULT_CURSOR_COLOR): Changed value.
44975 (grub_virtual_screen): Added standard_color_setting,
44976 normal_color_setting, highlight_color_setting and term_color.
44977 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
44978 (bitmap_width): Added.
44979 (bitmap_height): Likewise.
44980 (bitmap): Likewise.
44981 (set_term_color): Likewise.
44982 (grub_virtual_screen_setup): Changed to use new terminal coloring
44984 (grub_gfxterm_init): Added init for bitmap.
44985 (grub_gfxterm_fini): Added destroy for bitmap.
44986 (redraw_screen_rect): Updated to use background bitmap and new
44988 (scroll_up): Added optimization for case when there is no bitmap.
44989 (grub_gfxterm_cls): Fixed to use correct background color.
44990 (grub_virtual_screen_setcolorstate): Changed to use new terminal
44992 (grub_virtual_screen_setcolor): Likewise.
44993 (grub_virtual_screen_getcolor): Added.
44994 (grub_gfxterm_background_image_cmd): Likewise.
44995 (grub_video_term): Added setcolor and getcolor.
44996 (MOD_INIT): Added registration of background_image command.
44997 (MOD_TERM): Added unregistration for background_image command.
44999 2007-12-30 Pavel Roskin <proski@gnu.org>
45001 * loader/multiboot_loader.c: Fix multiboot command
45002 unregistration. Fix all typos in the word "multiboot".
45004 2007-12-29 Pavel Roskin <proski@gnu.org>
45006 * util/grub.d/10_linux.in: Refactor search for initrd. Add
45007 support for initrd names used in Fedora.
45009 2007-12-26 Bean <bean123ch@gmail.com>
45011 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
45012 (cpio_mod_SOURCES): New variable.
45013 (cpio_mod_CFLAGS): Likewise.
45014 (cpio_mod_LDFLAGS): Likewise.
45016 * fs/cpio.c: New file.
45018 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
45020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
45022 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
45024 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45026 2007-12-25 Robert Millan <rmh@aybabtu.com>
45028 * include/grub/term.h (struct grub_term): Add `getcolor' function.
45029 (grub_getcolor): New function.
45031 * kern/term.c (grub_getcolor): New function.
45032 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
45033 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
45034 (print_entry): Set normal and highlight colors to
45035 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
45036 respectively, before printing and restore them to old
45038 (grub_menu_init_page): Likewise. Fill an additional colored space
45039 that would otherwise be left blank.
45041 * term/efi/console.c (grub_console_getcolor): New function.
45042 (struct grub_console_term.getcolor): New variable.
45043 * term/i386/pc/console.c (grub_console_getcolor): New function.
45044 (struct grub_console_term.getcolor): New variable.
45045 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
45046 (struct grub_console_term.getcolor): New variable.
45048 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
45049 (struct grub_console_term.setcolor): Remove variable.
45050 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
45051 (struct grub_console_term.setcolor): Remove variable.
45052 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
45053 (struct grub_console_term.setcolor): Remove variable.
45054 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
45055 (struct grub_console_term.setcolor): Remove variable.
45057 2007-12-25 Robert Millan <rmh@aybabtu.com>
45059 * configure.ac: Search for possible unifont.hex locations, and
45060 define UNIFONT_HEX if found.
45062 * Makefile.in (UNIFONT_HEX): Define variable.
45063 (DATA): Rename to ...
45064 (PKGLIB): ... this. Update all users.
45065 (PKGDATA): New variable.
45066 (pkgdata_IMAGES): Rename to ...
45067 (pkglib_IMAGES): ... this. Update all users.
45068 (pkgdata_MODULES): Rename to ...
45069 (pkglib_MODULES): ... this. Update all users.
45070 (pkgdata_PROGRAMS): Rename to ...
45071 (pkglib_PROGRAMS): ... this. Update all users.
45072 (pkgdata_DATA): Rename to ...
45073 (pkglib_DATA): ... this. Update all users.
45074 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
45075 (unicode.pff, ascii.pff): New rules.
45076 (all-local): Add `$(PKGDATA)' dependency.
45077 (install-local): Process `$(PKGDATA)'.
45079 * util/update-grub_lib.in (font_path): Search for *.pff files in
45080 a few more locations, including `${pkgdata}'.
45082 2007-12-23 Robert Millan <rmh@aybabtu.com>
45084 Patch from Bean <bean123ch@gmail.com>:
45085 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
45088 2007-12-21 Bean <bean123ch@gmail.com>
45090 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
45091 (ntfscomp_mod_SOURCES): New variable.
45092 (ntfscomp_mod_CFLAGS): Likewise.
45093 (ntfscomp_mod_LDFLAGS): Likewise.
45095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
45096 (grub_probe_SOURCES): Likewise.
45097 (grub_emu_SOURCES): Likewise.
45099 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45100 (grub_emu_SOURCES): Likewise.
45102 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45103 (grub_emu_SOURCES): Likewise.
45105 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
45106 (grub_emu_SOURCES): Likewise.
45108 * fs/ntfs.c (grub_ntfscomp_func): New variable.
45109 (read_run_list): Renamed to grub_ntfs_read_run_list.
45110 (decomp_nextvcn): Moved to ntfscomp.c.
45111 (decomp_getch): Likewise.
45112 (decomp_get16): Likewise.
45113 (decomp_block): Likewise.
45114 (read_block): Likewise.
45115 (read_data): Partially moved to ntfscomp.c.
45116 (fixup): Change unsigned to grub_uint16_t.
45117 (read_mft): Change unsigned long to grub_uint32_t.
45118 (read_attr): Likewise.
45119 (read_data): Likewise.
45120 (read_run_data): Likewise.
45121 (read_run_list): Likewise.
45122 (read_mft): Likewise.
45124 * fs/ntfscomp.c: New file.
45126 * include/grub/ntfs.h: New file.
45128 2007-12-16 Robert Millan <rmh@aybabtu.com>
45130 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
45131 IDE disk check, since Linux is known to support 20 IDE disks.
45132 Reported by Colin Watson.
45134 2007-12-15 Bean <bean123ch@gmail.com>
45136 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
45137 (lnxboot_img_SOURCES): New variable.
45138 (lnxboot_img_ASFLAGS): Likewise.
45139 (lnxboot_img_LDFLAGS): Likewise.
45141 * boot/i386/pc/lnxboot.S: New file.
45143 2007-11-24 Pavel Roskin <proski@gnu.org>
45145 * configure.ac: Test if '--build-id=none' is supported by the
45146 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
45147 objcopy to generate incorrect binary files (binutils
45148 2.17.50.0.18-1 as shipped by Fedora 8).
45149 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
45150 linking, so that build ID doesn't break the test.
45152 2007-11-24 Pavel Roskin <proski@gnu.org>
45154 * include/grub/i386/time.h: use "void" in the argument list
45155 of grub_cpu_idle().
45156 * include/grub/powerpc/time.h: Likewise.
45157 * include/grub/sparc64/time.h: Likewise.
45159 2007-11-18 Christian Franke <franke@computer.org>
45161 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
45162 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
45163 This fixes the problem that function keys did not work in grub-emu.
45165 2007-11-18 Christian Franke <franke@computer.org>
45167 * disk/host.c (grub_host_open): Remove attribute unused from
45168 name parameter. Add check for "host". This fixes the problem
45169 that grub-emu does not find partitions.
45171 2007-11-18 Christian Franke <franke@computer.org>
45173 * util/hostfs.c (is_dir): New function.
45174 (grub_hostfs_dir): Handle missing dirent.d_type case.
45175 (grub_hostfs_read): Add missing fseek().
45176 (grub_hostfs_label): Clear label pointer. This fixes a crash
45177 of grub-emu on "ls (host)".
45179 2007-11-18 Christian Franke <franke@computer.org>
45181 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
45182 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
45183 to 64 bit boundary by default.
45185 2007-11-18 Bean <bean123ch@gmail.com>
45187 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
45188 (hexdump_mod_SOURCES): New variable.
45189 (hexdump_mod_CFLAGS): Likewise.
45190 (hexdump_mod_LDFLAGS): Likewise.
45192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45194 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45196 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
45200 * include/grub/hexdump.h: New file.
45202 * commands/hexdump.c: New file.
45204 2007-11-10 Robert Millan <rmh@aybabtu.com>
45206 * commands/i386/pc/play.c (beep_off): Switch order of arguments
45207 in grub_outb() calls.
45208 (beep_on): Likewise.
45210 2007-11-10 Christian Franke <franke@computer.org>
45212 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
45213 (grub_menu_run): Likewise.
45215 2007-11-10 Robert Millan <rmh@aybabtu.com>
45217 * include/grub/i386/efi/machine.h: New file.
45218 * include/grub/i386/linuxbios/machine.h: Likewise.
45219 * include/grub/i386/pc/machine.h: Likewise.
45220 * include/grub/powerpc/ieee1275/machine.h: Likewise.
45221 * include/grub/sparc64/ieee1275/machine.h: Likewise.
45223 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
45224 (serial_hw_io_addr): New variable.
45225 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
45226 instead of `(unsigned short *) 0x400'.
45228 2007-11-10 Bean <bean123ch@gmail.com>
45230 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
45232 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45234 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
45235 (vga_mod_SOURCES): Added.
45236 (vga_mod_CFLAGS): Likewise.
45237 (vga_mod_LDFLAGS): Likewise.
45239 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
45241 (set_map_mask): Likewise.
45242 (set_read_map): Likewise.
45243 (set_read_address): Likewise.
45244 (vga_font): Removed variable.
45245 (get_vga_glyph): Removed function.
45246 (invalidate_char): Likewise.
45247 (write_char): Changed to use grub_font_get_glyph() for font
45249 (grub_vga_putchar): Likewise.
45250 (grub_vga_getcharwidth): Likewise.
45252 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
45254 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
45256 (pxeboot_img_LDFLAGS): Likewise.
45257 (diskboot_img_LDFLAGS): Likewise.
45258 (kernel_img_LDFLAGS): Likewise.
45260 2007-11-06 Robert Millan <rmh@aybabtu.com>
45262 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
45263 in grub_outb() calls.
45264 (serial_hw_init): Likewise.
45266 2007-11-05 Robert Millan <rmh@aybabtu.com>
45268 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
45269 spaces. Skip non-regular files.
45271 2007-11-05 Robert Millan <rmh@aybabtu.com>
45273 * kern/disk.c (grub_disk_firmware_fini)
45274 (grub_disk_firmware_is_tainted): New variables.
45276 * include/grub/disk.h (grub_disk_firmware_fini)
45277 (grub_disk_firmware_is_tainted): Likewise.
45279 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
45280 (grub_disk_biosdisk_fini): ... to here.
45281 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
45282 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
45283 is set. Register grub_disk_biosdisk_fini() in
45284 `grub_disk_firmware_fini'.
45286 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
45287 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
45288 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
45289 to finish existing firmware disk interface.
45291 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
45292 (ata_mod_SOURCES): New variable.
45293 (ata_mod_CFLAGS): Likewise.
45294 (ata_mod_LDFLAGS): Likewise.
45296 2007-11-05 Robert Millan <rmh@aybabtu.com>
45298 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
45299 (grub_ata_wait): Reimplement using grub_millisleep().
45301 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
45302 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
45304 2007-11-03 Marco Gerards <marco@gnu.org>
45306 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
45307 (CRTC_ADDR_PORT): New macro.
45308 (CRTC_DATA_PORT): Likewise.
45309 (CRTC_CURSOR): Likewise.
45310 (CRTC_CURSOR_ADDR_HIGH): Likewise.
45311 (CRTC_CURSOR_ADDR_LOW): Likewise.
45312 (update_cursor): New function.
45313 (grub_console_real_putchar): Call `update_cursor'.
45314 (grub_console_gotoxy): Likewise.
45315 (grub_console_cls): Set the default color when clearing the
45317 (grub_console_setcursor): Implemented.
45319 2007-11-03 Marco Gerards <marco@gnu.org>
45321 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
45323 (grub_ata_pio_write): Likewise.
45325 (grub_atapi_identify): Wait after issuing an ATA command.
45326 (grub_atapi_packet): Likewise.
45327 (grub_ata_identify): Likewise.
45328 (grub_ata_readwrite): Likewise.
45330 2007-11-03 Marco Gerards <marco@gnu.org>
45332 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
45333 (grub_ata_pio_write): Likewise.
45334 (grub_ata_readwrite): Use `grub_error', instead of
45335 returning `grub_errno'.
45337 2007-11-03 Marco Gerards <marco@gnu.org>
45339 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
45340 grub_ata_pio_write once for every single sector, instead of for
45343 2007-10-31 Robert Millan <rmh@aybabtu.com>
45345 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
45347 * conf/i386-linuxbios.rmk: New file.
45349 * kern/i386/pc/hardware.c: Likewise.
45350 * term/i386/pc/at_keyboard.c: Likewise.
45351 * term/i386/pc/vga_text.c: Likewise.
45353 * include/grub/i386/linuxbios/boot.h: Likewise.
45354 * include/grub/i386/linuxbios/console.h: Likewise.
45355 * include/grub/i386/linuxbios/init.h: Likewise.
45356 * include/grub/i386/linuxbios/kernel.h: Likewise.
45357 * include/grub/i386/linuxbios/loader.h: Likewise.
45358 * include/grub/i386/linuxbios/memory.h: Likewise.
45359 * include/grub/i386/linuxbios/serial.h: Likewise.
45360 * include/grub/i386/linuxbios/time.h: Likewise.
45362 * kern/i386/linuxbios/init.c: Likewise.
45363 * kern/i386/linuxbios/startup.S: Likewise.
45364 * kern/i386/linuxbios/table.c: Likewise.
45366 2007-10-31 Marco Gerards <marco@gnu.org>
45368 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
45369 (ata_mod_SOURCES): New variable.
45370 (ata_mod_CFLAGS): Likewise.
45371 (ata_mod_LDFLAGS): Likewise.
45373 * disk/ata.c: New file.
45375 * include/grub/disk.h (grub_disk_dev_id): Add
45376 `GRUB_DISK_DEV_ATA_ID'.
45378 2007-10-31 Robert Millan <rmh@aybabtu.com>
45380 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
45381 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
45383 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
45384 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
45386 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
45389 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
45391 2007-10-27 Robert Millan <rmh@aybabtu.com>
45393 * include/grub/types.h (ULONG_MAX): Define macro.
45395 2007-10-22 Robert Millan <rmh@aybabtu.com>
45397 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
45399 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
45401 2007-10-22 Robert Millan <rmh@aybabtu.com>
45403 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
45404 (pkgdata_MODULES): Add `biosdisk.mod'.
45405 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
45408 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
45409 (grub_biosdisk_init): Replace with ...
45410 (GRUB_MOD_INIT(biosdisk)): ... this.
45411 (grub_biosdisk_fini): Replace with ...
45412 (GRUB_MOD_FINI(biosdisk)): ... this.
45414 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
45415 (grub_machine_init): Remove call to grub_biosdisk_init().
45416 (grub_machine_fini): Remove call to grub_machine_fini().
45418 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
45420 2007-10-22 Robert Millan <rmh@aybabtu.com>
45422 * include/grub/time.h: New file.
45423 * include/grub/i386/time.h: Likewise.
45424 * include/grub/powerpc/time.h: Likewise.
45425 * include/grub/sparc64/time.h: Likewise.
45427 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
45429 (KERNEL_MACHINE_TIME_HEADER): ... this.
45430 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45432 (KERNEL_MACHINE_TIME_HEADER): ... this.
45433 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
45435 (KERNEL_MACHINE_TIME_HEADER): ... this.
45437 * kern/i386/efi/init.c: Include `<grub/time.h>'.
45438 (grub_millisleep): New function.
45439 * kern/i386/pc/init.c: Include `<grub/time.h>'.
45440 (grub_millisleep): New function.
45441 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
45442 Remove `grub/machine/time.h' include.
45443 (grub_millisleep): New function.
45444 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
45445 Remove `grub/machine/time.h' include.
45446 (grub_millisleep): New function.
45448 * include/grub/misc.h (grub_div_roundup): New function.
45450 * kern/misc.c: Include `<grub/time.h>'.
45451 (grub_millisleep_generic): New function.
45453 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
45455 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
45457 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
45458 `machine/time.h'. Add `time.h'.
45459 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
45461 2007-10-21 Robert Millan <rmh@aybabtu.com>
45463 * include/grub/misc.h (grub_max): New function.
45465 2007-10-21 Robert Millan <rmh@aybabtu.com>
45467 * util/misc.c (grub_util_info): Call fflush() before returning.
45469 2007-10-20 Robert Millan <rmh@aybabtu.com>
45471 * genmk.rb (Image): Copy `extra_flags' from here ...
45472 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
45474 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
45475 to `argc' and `args' arguments.
45477 2007-10-17 Robert Millan <rmh@aybabtu.com>
45479 * kern/i386/loader.S: New file.
45481 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
45482 * kern/i386/loader.S (grub_linux_prot_size)... to here.
45483 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
45484 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
45485 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
45486 * kern/i386/loader.S (grub_linux_real_addr)... to here.
45487 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
45488 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
45489 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
45490 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
45491 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
45492 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
45493 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
45494 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
45496 * kern/i386/realmode.S: New file.
45498 * kern/i386/pc/startup.S (protstack): Moved from here ...
45499 * kern/i386/realmode.S (protstack)... to here.
45500 * kern/i386/pc/startup.S (gdt): Moved from here ...
45501 * kern/i386/realmode.S (gdt)... to here.
45502 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
45503 * kern/i386/realmode.S (prot_to_real)... to here.
45505 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
45506 `kern/i386/realmode.S'.
45508 2007-10-17 Robert Millan <rmh@aybabtu.com>
45510 * include/grub/i386/loader.h: New file.
45512 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
45513 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45514 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45515 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45516 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
45517 * include/grub/i386/loader.h (grub_linux_prot_size)
45518 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
45519 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
45520 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
45521 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
45523 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
45525 2007-10-15 Robert Millan <rmh@aybabtu.com>
45527 * normal/misc.c (grub_normal_print_device_info): Do not probe for
45528 filesystem when dev->disk is unset.
45529 Do probe for filesystem even when dev->disk->has_partitions is set.
45530 In case a filesystem is found, always report it.
45531 In case it isn't, if dev->disk->has_partitions is set, report that
45532 a partition table was found instead of reporting that no filesystem
45533 could be identified.
45535 2007-10-12 Robert Millan <rmh@aybabtu.com>
45537 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
45538 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
45540 * include/grub/types.h (grub_host_to_target16): New macro.
45541 (grub_host_to_target32): Likewise.
45542 (grub_host_to_target64): Likewise.
45543 (grub_target_to_host16): Likewise.
45544 (grub_target_to_host32): Likewise.
45545 (grub_target_to_host64): Likewise.
45547 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
45548 Renamed from to ...
45549 (GRUB_MOD_ALIGN): ...this. Update all users.
45551 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
45552 grub_host_to_target32.
45553 Replace grub_be_to_cpu32 with grub_target_to_host32.
45554 (load_modules): Likewise.
45555 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
45556 Replace grub_be_to_cpu32 with grub_target_to_host32.
45557 Replace grub_cpu_to_be16 with grub_host_to_target16.
45558 Replace grub_cpu_to_be32 grub_host_to_target32.
45560 2007-10-12 Robert Millan <rmh@aybabtu.com>
45562 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
45563 * util/elf/grub-mkimage.c: ... here.
45565 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
45566 `util/powerpc/ieee1275/grub-mkimage.c'.
45568 2007-10-07 Robert Millan <rmh@aybabtu.com>
45570 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
45571 and make it easier to figure out.
45572 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
45573 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
45574 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
45575 leave us with less than HEAP_MIN_SIZE total heap.
45576 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
45578 2007-10-03 Robert Millan <rmh@aybabtu.com>
45580 * include/grub/i386/io.h: New file.
45581 * commands/i386/pc/play.c (inb): Removed.
45583 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45585 * term/i386/pc/serial.c (inb): Removed.
45587 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45589 * term/i386/pc/vga.c (inb): Removed.
45591 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
45594 2007-10-02 Robert Millan <rmh@aybabtu.com>
45596 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
45597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45598 Reported by Marcin Kurek.
45600 2007-09-07 Robert Millan <rmh@aybabtu.com>
45602 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
45603 SmartFirmware version updates (as released by Sven Luther), and avoid
45604 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
45605 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
45608 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45610 From Hitoshi Ozeki:
45611 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
45612 when merging two regions.
45614 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45616 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
45617 * normal/completion.c (grub_normal_do_completion): Likewise.
45618 Reported by Hitoshi Ozeki.
45620 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
45622 Do not use devices at boot in chainloading.
45624 * loader/i386/pc/chainloader.c (boot_drive): New variable.
45625 (boot_part_addr): Likewise.
45626 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
45627 with BOOT_DRIVE and BOOT_PART_ADDR.
45628 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
45629 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
45631 2007-08-29 Robert Millan <rmh@aybabtu.com>
45633 Patch from Simon Peter <dn.tlp@gmx.net>:
45634 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
45635 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
45636 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
45637 util/i386/pc/grub-setup.c_DEPENDENCIES.
45638 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
45639 util/grub-probe.c_DEPENDENCIES.
45640 * conf/powerpc-ieee1275.rmk: Likewise.
45642 2007-08-28 Robert Millan <rmh@aybabtu.com>
45644 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
45645 to tell grub-mkdevicemap how to name devices.
45646 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
45649 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
45650 util/i386/get_disk_name.c.
45651 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
45652 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
45653 util/ieee1275/get_disk_name.c.
45655 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
45657 * DISTLIST: Add util/i386/get_disk_name.c and
45658 util/ieee1275/get_disk_name.c.
45660 * util/grub-mkdevicemap.c: Replace device naming logic with
45661 grub_util_get_disk_name() calls.
45663 2007-08-20 Robert Millan <rmh@aybabtu.com>
45665 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
45666 (so that it works for both plural and singular quantities).
45668 2007-08-05 Robert Millan <rmh@aybabtu.com>
45670 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
45671 so that [xz] isn't taken into account when determining order.
45673 2007-08-02 Marco Gerards <marco@gnu.org>
45675 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
45676 `include/multiboot2.h', `include/grub/elfload.h',
45677 `include/multiboot.h', `include/grub/multiboot.h',
45678 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
45679 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
45680 `kern/elf.c', `loader/multiboot_loader.c',
45681 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
45682 `loader/i386/pc/multiboot2.c',
45683 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
45684 `util/i386/pc/grub-mkrescue.in'. Remove
45685 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
45686 `include/grub/i386/pc/util/biosdisk.h' and
45687 `include/grub/powerpc/ieee1275/multiboot.h'.
45689 2007-08-02 Bean <bean123ch@gmail.com>
45691 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
45692 (ntfs_mod_SOURCES): New variable.
45693 (ntfs_mod_CFLAGS): Likewise.
45694 (ntfs_mod_LDFLAGS): Likewise.
45696 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
45697 (grub_probe_SOURCES): Likewise.
45698 (grub_emu_SOURCES): Likewise.
45700 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45701 (grub_emu_SOURCES): Likewise.
45703 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
45704 (grub_emu_SOURCES): Likewise.
45706 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
45708 * fs/ntfs.c: New file.
45710 2007-08-02 Bean <bean123ch@gmail.com>
45712 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
45714 * file.h (grub_file): Likewise.
45716 * fshelp.h (grub_fshelp_read_file): Likewise.
45718 * util/i386/pc/grub-setup.c (setup): Likewise.
45719 (save_first_sector): Likewise.
45720 (save_blocklists): Likewise.
45722 * fs/affs.c (grub_affs_read_file): Likewise.
45724 * fs/ext2.c (grub_ext2_read_file): Likewise.
45726 * fs/fat.c (grub_fat_read_data): Likewise.
45728 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
45730 * fs/hfs.c (grub_hfs_read_file): Likewise.
45732 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
45734 * fs/jfs.c (grub_jfs_read_file): Likewise.
45736 * fs/minix.c (grub_minix_read_file): Likewise.
45738 * fs/sfs.c (grub_sfs_read_file): Likewise.
45740 * fs/ufs.c (grub_ufs_read_file): Likewise.
45742 * fs/xfs.c (grub_xfs_read_file): Likewise.
45744 * command/blocklist.c (read_blocklist): Likewise.
45745 (print_blocklist): Likewise.
45747 2007-08-02 Marco Gerards <marco@gnu.org>
45749 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
45752 * disk/host.c: New file.
45754 * util/hostfs.c: Likewise.
45756 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
45757 return `GRUB_ERR_BAD_FS'.
45758 * fs/sfs.c (grub_sfs_mount): Likewise.
45759 * fs/xfs.c (grub_xfs_mount): Likewise.
45761 * include/grub/disk.h (enum grub_disk_dev_id): Add
45762 `GRUB_DISK_DEVICE_HOST_ID'.
45764 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
45766 2007-07-24 Jerone Young <jerone@gmail.com>
45768 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
45769 modules for compilation.
45770 * conf/powerpc-ieee1275.rmk: Likewise.
45772 * include/multiboot.h: Move multiboot definitions to one file. Rename
45773 many definitions to not get grub specific.
45774 * include/multiboot2.h: Create header with multiboot 2 definitions.
45775 * include/grub/multiboot.h: Header for grub specific function
45776 prototypes and definitions.
45777 * include/grub/multiboot2.h: Likewise.
45778 * include/grub/multiboot_loader.h: Likewise.
45779 * include/grub/i386/pc/multiboot.h: Removed.
45780 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
45782 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
45783 and 2 to allow for one multiboot and module commands.
45784 * loader/multiboot2.c: Add multiboot2 functionality.
45785 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
45786 and definition names.
45787 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
45789 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
45790 ieee1275 specific multiboot2 code.
45792 * kern/i386/pc/startup.S: Change headers and definition names for
45793 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
45795 2007-07-22 Robert Millan <rmh@aybabtu.com>
45797 * geninitheader.sh: Process file specified in first parameter rather
45798 than hardcoding grub_modules_init.lst.
45799 * geninit.sh: Likewise. Also, construct header name dynamically rather
45800 than hardcoding grub_modules_init.h.
45802 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
45803 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
45804 grub_probe_init.[ch] and grub_setup_init.[ch].
45806 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
45807 grub_modules_init.h with grub_emu_init.h.
45808 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
45809 grub_probe_init.[ch] files.
45810 * conf/i386-efi.rmk: Likewise.
45811 * conf/i386-pc.rmk: Likewise.
45812 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
45813 grub_setup_init.[ch] files.
45815 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
45816 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
45817 to initialize modules rather than a list of hardcoded functions.
45818 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
45819 grub_init_all() to initialize modules rather than a list of hardcoded
45822 2007-07-22 Robert Millan <rmh@aybabtu.com>
45824 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
45825 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
45827 2007-07-22 Robert Millan <rmh@aybabtu.com>
45829 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
45830 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
45831 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
45832 flag when running on SmartFirmware.
45833 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
45834 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
45837 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
45838 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
45839 rather than decreasing it.
45841 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
45842 there's not enough space to do it, fail in the same way as when it
45843 can't be done because there are no partitions.
45845 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
45846 when nvsetenv failed.
45848 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45850 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
45851 because this rule is automatically generated.
45852 (grub-mkrescue): Removed for the same reason as above.
45854 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
45856 Migrate to GNU General Public License Version 3.
45858 * COPYING: Replaced with the plain text version of GPLv3.
45860 * config.guess: Updated from gnulib.
45861 * config.sub: Likewise.
45863 * geninit.sh: Output a GPLv3 copyright notice.
45864 * geninitheader.sh: Likewise.
45865 * genmodsrc.sh: Likewise.
45866 * gensymlist.sh.in: Likewise.
45868 * boot/i386/pc/boot.S: Upgraded to GPLv3.
45869 * boot/i386/pc/diskboot.S: Likewise.
45870 * boot/i386/pc/pxeboot.S: Likewise.
45871 * commands/blocklist.c: Likewise.
45872 * commands/boot.c: Likewise.
45873 * commands/cat.c: Likewise.
45874 * commands/cmp.c: Likewise.
45875 * commands/configfile.c: Likewise.
45876 * commands/echo.c: Likewise.
45877 * commands/help.c: Likewise.
45878 * commands/ls.c: Likewise.
45879 * commands/search.c: Likewise.
45880 * commands/terminal.c: Likewise.
45881 * commands/test.c: Likewise.
45882 * commands/videotest.c: Likewise.
45883 * commands/i386/cpuid.c: Likewise.
45884 * commands/i386/pc/halt.c: Likewise.
45885 * commands/i386/pc/play.c: Likewise.
45886 * commands/i386/pc/reboot.c: Likewise.
45887 * commands/i386/pc/vbeinfo.c: Likewise.
45888 * commands/i386/pc/vbetest.c: Likewise.
45889 * commands/ieee1275/halt.c: Likewise.
45890 * commands/ieee1275/reboot.c: Likewise.
45891 * commands/ieee1275/suspend.c: Likewise.
45892 * disk/loopback.c: Likewise.
45893 * disk/lvm.c: Likewise.
45894 * disk/raid.c: Likewise.
45895 * disk/efi/efidisk.c: Likewise.
45896 * disk/i386/pc/biosdisk.c: Likewise.
45897 * disk/ieee1275/ofdisk.c: Likewise.
45898 * font/manager.c: Likewise.
45899 * fs/affs.c: Likewise.
45900 * fs/ext2.c: Likewise.
45901 * fs/fat.c: Likewise.
45902 * fs/fshelp.c: Likewise.
45903 * fs/hfs.c: Likewise.
45904 * fs/hfsplus.c: Likewise.
45905 * fs/iso9660.c: Likewise.
45906 * fs/jfs.c: Likewise.
45907 * fs/minix.c: Likewise.
45908 * fs/sfs.c: Likewise.
45909 * fs/ufs.c: Likewise.
45910 * fs/xfs.c: Likewise.
45911 * hello/hello.c: Likewise.
45912 * include/grub/acorn_filecore.h: Likewise.
45913 * include/grub/arg.h: Likewise.
45914 * include/grub/bitmap.h: Likewise.
45915 * include/grub/boot.h: Likewise.
45916 * include/grub/cache.h: Likewise.
45917 * include/grub/device.h: Likewise.
45918 * include/grub/disk.h: Likewise.
45919 * include/grub/dl.h: Likewise.
45920 * include/grub/elfload.h: Likewise.
45921 * include/grub/env.h: Likewise.
45922 * include/grub/err.h: Likewise.
45923 * include/grub/file.h: Likewise.
45924 * include/grub/font.h: Likewise.
45925 * include/grub/fs.h: Likewise.
45926 * include/grub/fshelp.h: Likewise.
45927 * include/grub/gzio.h: Likewise.
45928 * include/grub/hfs.h: Likewise.
45929 * include/grub/kernel.h: Likewise.
45930 * include/grub/loader.h: Likewise.
45931 * include/grub/lvm.h: Likewise.
45932 * include/grub/misc.h: Likewise.
45933 * include/grub/mm.h: Likewise.
45934 * include/grub/net.h: Likewise.
45935 * include/grub/normal.h: Likewise.
45936 * include/grub/parser.h: Likewise.
45937 * include/grub/partition.h: Likewise.
45938 * include/grub/pc_partition.h: Likewise.
45939 * include/grub/raid.h: Likewise.
45940 * include/grub/rescue.h: Likewise.
45941 * include/grub/script.h: Likewise.
45942 * include/grub/setjmp.h: Likewise.
45943 * include/grub/symbol.h: Likewise.
45944 * include/grub/term.h: Likewise.
45945 * include/grub/terminfo.h: Likewise.
45946 * include/grub/tparm.h: Likewise.
45947 * include/grub/types.h: Likewise.
45948 * include/grub/video.h: Likewise.
45949 * include/grub/efi/api.h: Likewise.
45950 * include/grub/efi/chainloader.h: Likewise.
45951 * include/grub/efi/console.h: Likewise.
45952 * include/grub/efi/console_control.h: Likewise.
45953 * include/grub/efi/disk.h: Likewise.
45954 * include/grub/efi/efi.h: Likewise.
45955 * include/grub/efi/pe32.h: Likewise.
45956 * include/grub/efi/time.h: Likewise.
45957 * include/grub/i386/linux.h: Likewise.
45958 * include/grub/i386/setjmp.h: Likewise.
45959 * include/grub/i386/types.h: Likewise.
45960 * include/grub/i386/efi/kernel.h: Likewise.
45961 * include/grub/i386/efi/loader.h: Likewise.
45962 * include/grub/i386/efi/time.h: Likewise.
45963 * include/grub/i386/pc/biosdisk.h: Likewise.
45964 * include/grub/i386/pc/boot.h: Likewise.
45965 * include/grub/i386/pc/chainloader.h: Likewise.
45966 * include/grub/i386/pc/console.h: Likewise.
45967 * include/grub/i386/pc/init.h: Likewise.
45968 * include/grub/i386/pc/kernel.h: Likewise.
45969 * include/grub/i386/pc/loader.h: Likewise.
45970 * include/grub/i386/pc/memory.h: Likewise.
45971 * include/grub/i386/pc/multiboot.h: Likewise.
45972 * include/grub/i386/pc/serial.h: Likewise.
45973 * include/grub/i386/pc/time.h: Likewise.
45974 * include/grub/i386/pc/vbe.h: Likewise.
45975 * include/grub/i386/pc/vbeblit.h: Likewise.
45976 * include/grub/i386/pc/vbefill.h: Likewise.
45977 * include/grub/i386/pc/vbeutil.h: Likewise.
45978 * include/grub/i386/pc/vga.h: Likewise.
45979 * include/grub/ieee1275/ieee1275.h: Likewise.
45980 * include/grub/ieee1275/ofdisk.h: Likewise.
45981 * include/grub/powerpc/libgcc.h: Likewise.
45982 * include/grub/powerpc/setjmp.h: Likewise.
45983 * include/grub/powerpc/types.h: Likewise.
45984 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
45985 * include/grub/powerpc/ieee1275/console.h: Likewise.
45986 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
45987 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
45988 * include/grub/powerpc/ieee1275/loader.h: Likewise.
45989 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
45990 * include/grub/powerpc/ieee1275/time.h: Likewise.
45991 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
45992 * include/grub/sparc64/libgcc.h: Likewise.
45993 * include/grub/sparc64/setjmp.h: Likewise.
45994 * include/grub/sparc64/types.h: Likewise.
45995 * include/grub/sparc64/ieee1275/console.h: Likewise.
45996 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
45997 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
45998 * include/grub/sparc64/ieee1275/time.h: Likewise.
45999 * include/grub/util/biosdisk.h: Likewise.
46000 * include/grub/util/getroot.h: Likewise.
46001 * include/grub/util/lvm.h: Likewise.
46002 * include/grub/util/misc.h: Likewise.
46003 * include/grub/util/raid.h: Likewise.
46004 * include/grub/util/resolve.h: Likewise.
46005 * io/gzio.c: Likewise.
46006 * kern/device.c: Likewise.
46007 * kern/disk.c: Likewise.
46008 * kern/dl.c: Likewise.
46009 * kern/elf.c: Likewise.
46010 * kern/env.c: Likewise.
46011 * kern/err.c: Likewise.
46012 * kern/file.c: Likewise.
46013 * kern/fs.c: Likewise.
46014 * kern/loader.c: Likewise.
46015 * kern/main.c: Likewise.
46016 * kern/misc.c: Likewise.
46017 * kern/mm.c: Likewise.
46018 * kern/parser.c: Likewise.
46019 * kern/partition.c: Likewise.
46020 * kern/rescue.c: Likewise.
46021 * kern/term.c: Likewise.
46022 * kern/efi/efi.c: Likewise.
46023 * kern/efi/init.c: Likewise.
46024 * kern/efi/mm.c: Likewise.
46025 * kern/i386/dl.c: Likewise.
46026 * kern/i386/efi/init.c: Likewise.
46027 * kern/i386/efi/startup.S: Likewise.
46028 * kern/i386/pc/init.c: Likewise.
46029 * kern/i386/pc/lzo1x.S: Likewise.
46030 * kern/i386/pc/startup.S: Likewise.
46031 * kern/ieee1275/ieee1275.c: Likewise.
46032 * kern/powerpc/cache.S: Likewise.
46033 * kern/powerpc/dl.c: Likewise.
46034 * kern/powerpc/ieee1275/cmain.c: Likewise.
46035 * kern/powerpc/ieee1275/crt0.S: Likewise.
46036 * kern/powerpc/ieee1275/init.c: Likewise.
46037 * kern/powerpc/ieee1275/openfw.c: Likewise.
46038 * kern/sparc64/cache.S: Likewise.
46039 * kern/sparc64/dl.c: Likewise.
46040 * kern/sparc64/ieee1275/init.c: Likewise.
46041 * kern/sparc64/ieee1275/openfw.c: Likewise.
46042 * loader/efi/chainloader.c: Likewise.
46043 * loader/efi/chainloader_normal.c: Likewise.
46044 * loader/i386/efi/linux.c: Likewise.
46045 * loader/i386/efi/linux_normal.c: Likewise.
46046 * loader/i386/pc/chainloader.c: Likewise.
46047 * loader/i386/pc/chainloader_normal.c: Likewise.
46048 * loader/i386/pc/linux.c: Likewise.
46049 * loader/i386/pc/linux_normal.c: Likewise.
46050 * loader/i386/pc/multiboot.c: Likewise.
46051 * loader/i386/pc/multiboot_normal.c: Likewise.
46052 * loader/powerpc/ieee1275/linux.c: Likewise.
46053 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
46054 * normal/arg.c: Likewise.
46055 * normal/cmdline.c: Likewise.
46056 * normal/command.c: Likewise.
46057 * normal/completion.c: Likewise.
46058 * normal/execute.c: Likewise.
46059 * normal/function.c: Likewise.
46060 * normal/lexer.c: Likewise.
46061 * normal/main.c: Likewise.
46062 * normal/menu.c: Likewise.
46063 * normal/menu_entry.c: Likewise.
46064 * normal/misc.c: Likewise.
46065 * normal/parser.y: Likewise.
46066 * normal/script.c: Likewise.
46067 * normal/i386/setjmp.S: Likewise.
46068 * normal/powerpc/setjmp.S: Likewise.
46069 * normal/sparc64/setjmp.S: Likewise.
46070 * partmap/acorn.c: Likewise.
46071 * partmap/amiga.c: Likewise.
46072 * partmap/apple.c: Likewise.
46073 * partmap/gpt.c: Likewise.
46074 * partmap/pc.c: Likewise.
46075 * partmap/sun.c: Likewise.
46076 * term/gfxterm.c: Likewise.
46077 * term/terminfo.c: Likewise.
46078 * term/efi/console.c: Likewise.
46079 * term/i386/pc/console.c: Likewise.
46080 * term/i386/pc/serial.c: Likewise.
46081 * term/i386/pc/vesafb.c: Likewise.
46082 * term/i386/pc/vga.c: Likewise.
46083 * term/ieee1275/ofconsole.c: Likewise.
46084 * util/biosdisk.c: Likewise.
46085 * util/console.c: Likewise.
46086 * util/genmoddep.c: Likewise.
46087 * util/getroot.c: Likewise.
46088 * util/grub-emu.c: Likewise.
46089 * util/grub-mkdevicemap.c: Likewise.
46090 * util/grub-probe.c: Likewise.
46091 * util/lvm.c: Likewise.
46092 * util/misc.c: Likewise.
46093 * util/raid.c: Likewise.
46094 * util/resolve.c: Likewise.
46095 * util/update-grub.in: Likewise.
46096 * util/update-grub_lib.in: Likewise.
46097 * util/grub.d/00_header.in: Likewise.
46098 * util/grub.d/10_hurd.in: Likewise.
46099 * util/grub.d/10_linux.in: Likewise.
46100 * util/i386/efi/grub-install.in: Likewise.
46101 * util/i386/efi/grub-mkimage.c: Likewise.
46102 * util/i386/pc/grub-install.in: Likewise.
46103 * util/i386/pc/grub-mkimage.c: Likewise.
46104 * util/i386/pc/grub-mkrescue.in: Likewise.
46105 * util/i386/pc/grub-setup.c: Likewise.
46106 * util/i386/pc/misc.c: Likewise.
46107 * util/powerpc/ieee1275/grub-install.in: Likewise.
46108 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
46109 * util/powerpc/ieee1275/misc.c: Likewise.
46110 * video/bitmap.c: Likewise.
46111 * video/video.c: Likewise.
46112 * video/i386/pc/vbe.c: Likewise.
46113 * video/i386/pc/vbeblit.c: Likewise.
46114 * video/i386/pc/vbefill.c: Likewise.
46115 * video/i386/pc/vbeutil.c: Likewise.
46116 * video/readers/tga.c: Likewise.
46118 2007-07-02 Robert Millan <rmh@aybabtu.com>
46120 * conf/i386-efi.rmk: Replace obsolete reference to
46121 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
46122 with util/getroot.c.
46123 * conf/powerpc-ieee1275.rmk: Likewise.
46124 * conf/sparc64-ieee1275.rmk: Likewise.
46126 * util/grub-emu.c (main): Fix unchecked pointer handling.
46128 2007-07-02 Robert Millan <rmh@aybabtu.com>
46130 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
46131 invocation to fail, in order to support partition-less media.
46133 * util/i386/pc/grub-install.in: Likewise.
46135 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
46136 which fs or partmap modules are needed (akin to its sister scripts).
46138 Also use grub-probe to get rid of unportable /proc/mounts check.
46140 Print the same informational message that the other scripts do, before
46143 2007-06-23 Robert Millan <rmh@aybabtu.com>
46145 * util/update-grub_lib.in (font_path): New function. Determine whether
46146 a font file can be found and, if so, echo the GRUB path to it.
46148 * util/update-grub.in: Handle multiple terminals depending on user
46149 input, platform availability and font file presence. Propagate
46150 variables of our findings to /etc/grub.d/ children.
46152 * util/grub.d/00_header.in: Handle multiple terminals, based on
46153 environment setup by update-grub.
46155 2007-06-23 Robert Millan <rmh@aybabtu.com>
46157 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
46159 2007-06-21 Robert Millan <rmh@aybabtu.com>
46161 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
46162 indicate end of data section in kernel image.
46163 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
46164 GRUB_KERNEL_MACHINE_DATA_END.
46166 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
46168 * kern/i386/efi/startup.S: Likewise.
46170 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
46171 during image generation. Implement --prefix option to override this
46173 * util/i386/efi/grub-mkimage.c: Likewise.
46175 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
46176 code to make path relative to its root into a separate function.
46178 * util/i386/pc/grub-install.in: Use newly provided
46179 make_system_path_relative_to_its_root() to convert ${grubdir}, then
46180 pass the result to grub-install --prefix.
46182 2007-06-13 Robert Millan <rmh@aybabtu.com>
46184 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
46185 DEFAULT_DEVICE_MAP.
46186 * util/grub-emu.c: Use above definitions from misc.h instead of
46188 * util/grub-mkdevicemap.c: Likewise.
46189 * util/i386/pc/grub-setup.c: Likewise.
46190 * util/grub-probe.c: Likewise.
46191 (probe): Abort with grub_util_error() when either
46192 grub_guess_root_device or grub_util_get_grub_dev fails.
46194 2007-06-12 Robert Millan <rmh@aybabtu.com>
46196 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
46197 "pager" assignment.
46198 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
46200 * util/grub-probe.c (probe): Likewise for "drive_name".
46202 2007-06-11 Robert Millan <rmh@aybabtu.com>
46204 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
46205 not just the cdrom one.
46207 2007-06-11 Robert Millan <rmh@aybabtu.com>
46209 * util/i386/pc/grub-mkrescue.in: Add "set -e".
46210 Add --pkglibdir=DIR option to override pkglibdir.
46211 Mention --image-type=TYPE in help output.
46212 Fix --grub-mkimage (it was a no-op).
46213 Abort gracefully when no parameter is given.
46215 2007-06-11 Robert Millan <rmh@aybabtu.com>
46217 * util/i386/pc/grub-mkrescue.in: New file.
46218 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
46219 * Makefile.in: Handle bin_SCRIPTS.
46221 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
46223 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
46224 list of video modes.
46226 2007-06-06 Robert Millan <rmh@aybabtu.com>
46228 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
46229 file doesn't exist, or if it is in a filesystem grub can't read.
46231 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
46232 not abort if GRUB_DRIVE could not be defined. Rearrange generated
46233 header comment to fit in 80 columns when the variables are resolved.
46235 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
46236 could be identified by update-grub. Remove redundant check for
46237 unifont.pff existence (since convert_system_path_to_grub_path now
46240 2007-06-04 Robert Millan <rmh@aybabtu.com>
46242 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
46244 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
46246 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
46248 2007-06-04 Robert Millan <rmh@aybabtu.com>
46250 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
46252 * include/grub/partition.h: Declare grub_apple_partition_map_init and
46253 grub_apple_partition_map_fini.
46256 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
46257 to access >2 TiB disks).
46259 Print disk->total_sectors with %llu instead of %lu, since this
46260 variable is always 64-bit (prevents wrong disk size from being displayed
46261 on either >2 TiB disk or big-endian CPU).
46263 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
46264 into a generic case that supports all (sane) partition maps.
46266 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
46269 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
46270 and grub_apple_partition_map_fini() after that.
46272 2007-06-01 Robert Millan <rmh@aybabtu.com>
46274 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
46276 * util/grub.d/00_header.in: Only enable gfxterm when
46277 convert_system_path_to_grub_path() succeeds.
46279 2007-05-20 Robert Millan <rmh@aybabtu.com>
46281 * util/update-grub_lib.in: New file.
46282 * DISTLIST: Add update-grub_lib.in.
46283 * conf/common.rmk: Generate update-grub_lib and install it in
46285 * Makefile.in: Add install routine for $(lib_DATA).
46287 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
46288 function provided by update-grub_lib to support arbitrary paths of
46290 * util/update-grub.in: Use convert_system_path_to_grub_path() to
46291 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
46293 2007-05-19 Robert Millan <rmh@aybabtu.com>
46295 * commands/i386/cpuid.c: New module.
46296 * DISTLIST: Add it.
46297 * conf/i386-efi.rmk: Enable cpuid.mod.
46298 * conf/i386-pc.rmk: Likewise.
46300 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46302 * kern/disk.c (grub_disk_read): Check return value of
46305 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
46307 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
46309 * disk/raid.c (grub_raid_open): Likewise.
46311 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46313 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
46314 stack instead of on the heap.
46316 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
46317 before doing a read on it.
46319 * configure.ac: Only use -fno-stack-protector for the target
46322 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
46324 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
46325 __attribute_ ((unused)) to mode_type argument.
46327 * util/getroot.c (grub_guess_root_device): Fix #endif.
46329 * kern/misc.c (memcmp): Fix prototype.
46331 * include/grub/partition.h [GRUB_UTIL]
46332 (grub_gpt_partition_map_init): Add prototype.
46333 (grub_gpt_partition_map_fini): Likewise.
46335 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
46336 at the right place.
46338 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
46339 (grub_fat_read_data): Likewise.
46340 (grub_fat_find_dir): Likewise.
46342 * font/manager.c (find_glyph): Make table a const.
46343 (grub_font_get_glyph): Remove bitmap from if statement.
46345 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
46347 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
46348 code, first search for device in /dev/mapper, then in /dev.
46349 (grub_util_get_grub_dev): New function.
46350 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
46352 * util/grub-probe.c (probe): Remove check for RAID, call
46353 grub_util_get_grub_dev() instead of
46354 grub_util_biosdisk_get_grub_dev().
46355 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
46356 grub_util_biosdisk_get_grub_dev().
46357 * util/i386/pc/grub-setup.c (main): Likewise.
46359 2007-05-16 Robert Millan <rmh@aybabtu.com>
46361 * DISTLIST: Update for the latest changes.
46362 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
46363 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
46364 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
46365 grub/util/biosdisk.h.
46366 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
46367 grub/util/biosdisk.h.
46369 2007-05-16 Robert Millan <rmh@aybabtu.com>
46371 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
46373 2007-05-16 Robert Millan <rmh@aybabtu.com>
46375 * util/i386/efi/grub-install.in: New.
46376 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
46377 newly added grub-install.
46378 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
46380 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
46381 grub/util/biosdisk.h.
46382 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
46383 grub/util/biosdisk.h.
46385 2007-05-16 Robert Millan <rmh@aybabtu.com>
46387 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
46388 * include/grub/util/biosdisk.h: ... here.
46389 * util/i386/pc/biosdisk.c: Moved to ...
46390 * util/biosdisk.c: ... here.
46391 * util/i386/pc/getroot.c: Moved to ...
46392 * util/getroot.c: ... here.
46393 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
46394 * util/grub-mkdevicemap.c: ... here.
46395 * util/i386/pc/grub-probe.c: Moved to ...
46396 * util/grub-probe.c: ... here.
46398 2007-05-15 Robert Millan <rmh@aybabtu.com>
46400 * util/update-grub.in: Remove duplicated line in grub.cfg header
46403 2007-05-13 Robert Millan <rmh@aybabtu.com>
46405 * util/update-grub.in: Fix a few assumptions about the devices holding
46406 /, /boot and /boot/grub being the same.
46407 * util/grub.d/00_header.in: Likewise.
46408 * util/grub.d/10_hurd.in: Likewise.
46409 * util/grub.d/10_linux.in: Likewise.
46411 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
46412 patterns. Use that to define the `.old' suffix as older than `'.
46414 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
46416 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
46417 the grub.cfg header message.
46419 2007-05-11 Robert Millan <rmh@aybabtu.com>
46421 * util/update-grub.in: Create device.map if it doesn't already exist,
46422 before attempting to run grub-probe.
46423 Check for grub-probe and grub-mkdevicemap with the same code
46424 grub-install is using.
46427 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
46429 * Makefile.in: Add the datarootdir autoconf variable.
46431 2007-05-09 Robert Millan <rmh@aybabtu.com>
46433 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
46434 fail gracefully if dev->disk->partition == NULL.
46436 2007-05-07 Robert Millan <rmh@aybabtu.com>
46438 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
46439 determine partition map module.
46440 * util/i386/pc/grub-install.in: Use this feature to decide which
46441 partition module to load, instead of hardcoding pc and gpt.
46443 2007-05-07 Robert Millan <rmh@aybabtu.com>
46445 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
46446 source directory differs from build directory.
46448 2007-05-05 Robert Millan <rmh@aybabtu.com>
46450 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
46453 2007-05-05 Robert Millan <rmh@aybabtu.com>
46455 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
46457 2007-05-05 Robert Millan <rmh@aybabtu.com>
46459 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
46460 command-line arguments via ${GRUB_CMDLINE_LINUX}.
46462 2007-05-05 Robert Millan <rmh@aybabtu.com>
46464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
46465 (grub_probe_SOURCES): Likewise.
46466 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
46467 GPT and initialize dos_part and bsd_part accordingly.
46468 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
46470 (main): Activate gpt module for use during partition identification,
46471 and deactivate it afterwards.
46472 * util/i386/pc/grub-install.in: Add gpt module to core.img.
46473 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
46474 partition identification, and deactivate it afterwards.
46476 2007-05-05 Robert Millan <rmh@aybabtu.com>
46478 * term/i386/pc/console.c (grub_console_fini): Call
46479 grub_term_set_current() before grub_term_unregister().
46481 2007-05-04 Robert Millan <rmh@aybabtu.com>
46483 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
46484 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
46485 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
46486 and update-grub_DATA.
46487 * conf/common.rmk: Build and install update-grub components.
46488 * conf/common.mk: Regenerate.
46489 * util/update-grub.in: New. Core of update-grub.
46490 * util/grub.d/00_header.in: New. Generates grub.cfg header.
46491 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
46492 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
46493 * util/grub.d/README: New. Document grub.d directory layout.
46495 2007-05-01 Robert Millan <rmh@aybabtu.com>
46497 * util/grub-emu.c: Move initialization functions
46498 grub_util_biosdisk_init() and grub_init_all() before
46499 grub_util_biosdisk_get_grub_dev(), which relies on them.
46501 2007-04-19 Robert Millan <rmh@aybabtu.com>
46503 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
46506 2007-04-18 Jerone Young <jerone@gmail.com>
46508 * kernel/elf.c: Add missing parenthesis for conditional statement
46511 2007-04-10 Jerone Young <jerone@gmail.com>
46513 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
46514 continue on and look for device node with real device name.
46516 2007-04-10 Jerone Young <jerone@gmail.com>
46518 * configure.ac: Add argument for autoconf to use transformation
46520 * Makefile.in: Add autoconf package transformation code.
46521 * util/i386/pc/grub-install.in: Likewise.
46522 * util/powerpc/ieee1275/grub-install.in: Likewise.
46524 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
46526 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
46527 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
46528 (EXT2_REVISION): Likewise.
46529 (EXT2_INODE_SIZE): Likewise.
46530 (struct grub_ext2_block_group): Added a missing member
46532 (grub_ext2_read_inode): Divide by the inode size in a superblock
46533 instead of 128 to obtain INODES_PER_BLOCK.
46534 Use the macro EXT2_INODE_SIZE instead of directly using
46535 SBLOCK->INODE_SIZE.
46537 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
46539 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
46540 superblock instead of the structure size to compute an
46541 offset. This fixes the problem that GRUB could not read a
46542 filesystem when inode size is different from 128-byte.
46544 2007-03-05 Marco Gerards <marco@gnu.org>
46546 * normal/main.c (read_config_file): When "menu" is not set, create
46547 an initial context.
46549 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46551 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
46552 (HEAP_LIMIT): New macro.
46553 (grub_claim_heap): Claim memory up to `heaplimit'.
46555 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
46557 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
46558 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
46559 (_start): Likewise.
46560 (grub_arch_modules_addr): Return address after `_end'.
46561 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
46562 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
46563 (add_segments): Calculate `_end' from phdr size and location.
46564 (ALIGN_UP): Moved to ...
46565 * include/grub/misc.h: here.
46566 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
46568 (GRUB_IEEE1275_MODULE_BASE): Removed.
46570 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46572 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
46575 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46577 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
46579 (grub_elf64_load_hook_t): Likewise.
46580 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
46583 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
46585 * kern/mm.c: Update copyright.
46586 (grub_mm_debug): Correct syntax error.
46587 (grub_mm_dump_free): New function.
46588 (grub_debug_free): Call `grub_free'.
46589 * include/grub/mm.h: Update copyright.
46590 (grub_mm_dump_free): Add declaration.
46592 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46594 * include/grub/ieee1275/ieee1275.h: Update copyright.
46595 * kern/powerpc/ieee1275/init.c: Likewise.
46596 * kern/powerpc/ieee1275/openfw.c: Likewise.
46598 * loader/powerpc/ieee1275/linux.c: Likewise.
46599 * include/grub/elfload.h: Likewise.
46600 * kern/elf.c: Likewise.
46601 (grub_elf32_load): Pass `base' and `size' parameters. Update all
46603 (grub_elf64_load): Likewise.
46604 (grub_elf32_load_segment): Move to a nested function.
46605 (grub_elf64_load_segment): Likewise.
46607 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
46609 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
46611 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
46612 (grub_heap_len): Likewise.
46613 (HEAP_SIZE): New macro.
46614 (grub_claim_heap): New function.
46615 (grub_machine_init): Don't claim heap directly. Call
46617 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
46618 (grub_available_iterate): New function.
46620 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
46622 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
46623 * configure.ac: Use it for testing the HOST and TARGET compilers.
46625 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
46627 * Makefile.in (enable_grub_emu): New variable.
46628 * configure.ac (--enable-grub-emu): New option.
46629 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
46630 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
46631 * conf/i386-pc.rmk: Likewise.
46632 * conf/powerpc-ieee1275.rmk: Likewise.
46633 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
46635 2006-12-12 Marco Gerards <marco@gnu.org>
46637 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
46639 * kern/env.c (grub_env_unset): Don't free the member `value' when
46640 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
46643 * normal/main.c (current_menu): Removed.
46644 (free_menu): Unset the `menu' environment variable.
46645 (grub_normal_menu_addentry): Make use of the environment variable
46646 `menu', instead of using the global `current_menu'. Allocate
46647 memory for the sourcecode of this entry.
46648 (read_config_file): New argument `nested', changed all callers.
46649 Only in the case of a new context, initialize a new menu. Set the
46650 `menu' environment variable.
46651 (grub_normal_execute): Don't set and unset the environment
46652 variable `menu' here anymore. Only free the menu when leaving the
46655 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
46658 2006-12-11 Marco Gerards <marco@gnu.org>
46660 * normal/menu_entry.c (run): Fix off by one bug so the last line
46661 is executed. Move the loader check to outside the loop.
46663 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
46665 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
46667 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
46669 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
46670 the number of sectors. Reported by Andrey Shuvikov
46671 <mr_hyro@yahoo.com>.
46673 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
46675 * kern/disk.c (grub_disk_read): When there is a read error, always
46676 try to read only the necessary data.
46678 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
46680 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
46682 [GRUB_UTIL] (grub_raid_fini): Likewise.
46683 [GRUB_UTIL] (grub_lvm_init): Likewise.
46684 [GRUB_UTIL] (grub_lvm_fini): Likewise.
46685 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
46686 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
46687 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
46688 and grub_raid_fini().
46690 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46692 * include/grub/types.h (__unused): Rename to UNUSED.
46693 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
46694 (grub_elf64_size): Likewise.
46696 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46698 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
46699 grub_error_push and grub_error_pop in the error-handling path.
46700 (grub_elf32_load_segment): Only call grub_file_read with non-zero
46703 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
46705 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
46706 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
46707 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
46708 (kernel_elf_SOURCES): Likewise.
46709 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
46710 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
46711 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46712 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
46713 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
46714 (elf_mod_SOURCES): New variable.
46715 (elf_mod_CFLAGS): Likewise.
46716 (elf_mod_LDFLAGS): Likewise.
46717 * include/grub/types.h (__unused): New macro.
46718 * include/grub/elfload.h: New file.
46719 * kern/elf.c: Likewise.
46720 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
46721 (ELF32_LOADMASK): New macro.
46722 (ELF64_LOADMASK): Likewise.
46723 (vmlinux): Removed.
46724 (grub_linux_load32): New function.
46725 (grub_linux_load64): Likewise.
46726 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
46727 Use grub_elf_t instead of grub_file_t.
46729 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
46731 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
46732 `catch_result' to struct set_color_args.
46734 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
46736 * normal/menu.c: Include grub/script.h.
46737 * normal/menu_entry.c: Likewise.
46738 * include/grub/normal.h: Do not include grub/script.h.
46740 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46742 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
46744 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46746 * kern/disk.c (grub_disk_open): Print debug messages when opening a
46748 (grub_disk_close): Print debug messages when closing a disk.
46749 (grub_disk_read): Print debug messages when disk read fails.
46750 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
46752 * kern/partition.c: Include misc.h.
46753 (grub_partition_iterate): Print debug messages when detecting
46756 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
46758 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
46760 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
46762 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
46764 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
46765 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
46767 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
46769 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
46770 instead of sizeof(lv). Patch by Michael Guntsche.
46772 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
46774 * disk/lvm.c: Rename VGS to VG_LIST.
46775 (grub_lvm_iterate): Change VGS->LV to VG-LV.
46776 (grub_lvm_open): Likewise.
46777 Thanks to Michael Guntsche for finding this bug.
46779 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
46781 * configure.ac (AC_INIT): Bumped to 1.95.
46783 2006-10-14 Robert Millan <rmh@aybabtu.com>
46785 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
46786 with "/dev/.static/dev/md".
46788 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46790 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
46791 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
46792 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
46793 DRIVE_NAME are always freed.
46795 * util/i386/pc/biosdisk.c (make_device_name): Add one into
46796 DOS_PART, as a DOS partition is counted from one instead of zero
46797 now. Reported by Robert Millan.
46799 2006-10-14 Robert Millan <rmh@aybabtu.com>
46801 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
46802 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
46803 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
46804 string returned by grub_guess_root_device.
46805 * util/i386/pc/grub-setup.c: Likewise.
46806 * util/i386/pc/grub-probefs.c: Likewise.
46808 * util/i386/pc/grub-probefs.c: Rename to ...
46809 * util/i386/pc/grub-probe.c: ... this.
46810 * DISTLIST: Remove grub-probefs, add grub-probe.
46811 * conf/i386-efi.rmk: Likewise.
46812 * conf/i386-pc.rmk: Likewise.
46813 * util/i386/pc/grub-install.in: Likewise.
46815 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
46816 choose which information we want to print.
46818 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
46820 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
46821 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
46822 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
46823 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
46824 video/readers/tga.c and video/i386/pc/vbeutil.c.
46826 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
46828 Added support for RAID and LVM.
46830 * disk/lvm.c: New file.
46831 * disk/raid.c: Likewise.
46832 * include/grub/lvm.h: Likewise.
46833 * include/grub/raid.h: Likewise.
46834 * include/grub/util/lvm.h: Likewise.
46835 * include/grub/util/raid.h: Likewise.
46836 * util/lvm.c: Likewise.
46837 * util/raid.c: Likewise.
46839 * include/grub/disk.h (grub_disk_dev_id): Add
46840 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
46841 (grub_disk_get_size): New prototype.
46842 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
46843 returns a partition.
46844 (grub_disk_get_size): New function.
46846 * kern/i386/pc/init.c (make_install_device): Copy the prefix
46847 verbatim if grub_install_dos_part is -2.
46849 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
46852 * util/i386/pc/grub-setup.c (setup): New argument
46853 MUST_EMBED. Force embedding of GRUB when the argument is
46854 true. Close FILE before returning.
46855 (main): Add support for RAID and LVM.
46857 * conf/common.rmk: Add RAID and LVM modules.
46858 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
46860 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
46862 * kern/misc.c (grub_strstr): New function.
46863 * include/grub/misc.h (grub_strstr): New prototype.
46865 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
46867 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
46869 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
46871 * kern/misc.c (grub_strtoull): Guess the base only if not
46874 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46876 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
46879 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46881 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
46883 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
46884 Remove `flags' argument. All callers changed.
46885 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
46886 (IEEE1275_IHANDLE_INVALID): New variable.
46887 (IEEE1275_CELL_INVALID): New variable.
46888 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
46889 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
46890 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
46891 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
46892 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
46893 codes from Open Firmware. All callers updated.
46894 (grub_ieee1275_next_property): Directly return Open Firmware return
46896 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
46897 Standardize error checking from `grub_ieee1275_get_property'.
46898 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
46899 `devalias' to `aliases'. Correct comments. Consolidate error paths.
46901 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
46903 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
46904 `instance_to_package_args' to `instance_to_path_args'.
46906 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
46907 `grub_ieee1275_chosen'.
46909 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
46910 `grub_ieee1275_interpret'.
46912 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46914 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
46916 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
46918 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
46919 (__cmpdi): Likewise.
46921 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
46922 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
46925 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
46927 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
46928 to type `grub_ssize_t'.
46929 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
46931 2006-09-22 Marco Gerards <marco@gnu.org>
46933 * normal/script.c (grub_script_create_cmdmenu): Skip leading
46936 2006-09-22 Marco Gerards <marco@gnu.org>
46938 * commands/echo.c: New file.
46940 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
46942 * conf/common.rmk (echo_mod_SOURCES): New variable.
46943 (echo_mod_CFLAGS): Likewise.
46944 (echo_mod_LDFLAGS): Likewise.
46946 2006-09-22 Marco Gerards <marco@gnu.org>
46948 * normal/main.c (get_line): Malloc memory instead of using
46949 preallocated memory. Removed the arguments `cmdline' and
46950 `max_len'. Updated all callers.
46952 2006-09-22 Marco Gerards <marco@gnu.org>
46954 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
46955 (normal_mod_DEPENDENCIES): Likewise.
46957 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
46958 (normal_mod_DEPENDENCIES): Likewise.
46960 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
46962 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
46964 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
46966 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
46967 (normal_mod_DEPENDENCIES): Likewise.
46968 * conf/i386-pc.mk: Regenerate.
46969 * conf/i386-efi.mk: Likewise
46970 * conf/common.mk: Likewise.
46971 * conf/powerpc-ieee1275.mk: Likewise.
46972 * conf/sparc64-ieee1275.mk: Likewise.
46974 2006-09-22 Robert Millan <rmh@aybabtu.com>
46976 Sync with i386 version.
46977 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
46978 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
46980 2006-09-21 Robert Millan <rmh@aybabtu.com>
46982 Import from GRUB Legacy (lib/device.c):
46983 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
46984 (init_device_map) [__linux__]: Add support for I2O devices.
46986 2006-09-14 Marco Gerards <marco@gnu.org>
46988 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
46991 2006-09-14 Robert Millan <rmh@aybabtu.com>
46993 * util/i386/pc/grub-install.in: Skip menu.lst when removing
46996 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
46998 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
46999 before adding it to device.map.
47001 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
47003 * genmk.rb: Let GCC generate dependencies the first time it
47004 compiles a file; using the -MD option.
47005 * conf/common.mk: Regenerate.
47006 * conf/i386-pc.mk: Likewise.
47007 * conf/i386-efi.mk: Likewise.
47008 * conf/powerpc-ieee1275.mk: Likewise.
47009 * conf/sparc64-ieee1275.mk: Likewise.
47011 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
47013 Move the prototypes of grub_setjmp and grub_longjmp to
47014 cpu/setjmp.h, so that each architecture may specify different
47017 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
47018 (grub_longjmp): Likewise.
47019 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
47020 (grub_longjmp): Likewise.
47021 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
47022 (grub_longjmp): Likewise.
47024 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
47025 [!GRUB_UTIL] (grub_longjmp): Removed.
47027 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
47029 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
47030 "color!" method does not return any value.
47032 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47034 * include/grub/bitmap.h: New file.
47036 * include/grub/i386/pc/vbeutil.h: Likewise.
47038 * video/bitmap.c: Likewise.
47040 * video/readers/tga.c: Likewise.
47042 * video/i386/pc/vbeutil.c: Likewise.
47044 * commands/videotest.c: Code cleanup and updated to reflect to new
47047 * term/gfxterm.c: Likewise.
47049 * video/video.c: Likewise.
47051 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
47052 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
47053 (bitmap_mod_SOURCES): New entry.
47054 (bitmap_mod_CFLAGS): Likewise.
47055 (bitmap_mod_LDFLAGS): Likewise.
47056 (tga_mod_SOURCES): Likewise.
47057 (tga_mod_CFLAGS): Likewise.
47058 (tga_mod_LDFLAGS): Likewise.
47060 * include/grub/video.h (grub_video_blit_operators): New enum type.
47061 (grub_video_render_target): Changed as forward declaration and moved
47062 actual definition to be video driver specific.
47063 (grub_video_adapter.blit_bitmap): Added blitting operator.
47064 (grub_video_adapter.blit_render_target): Likewise.
47065 (grub_video_blit_bitmap): Likewise.
47066 (grub_video_blit_render_target): Likewise.
47068 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
47069 driver specific render target definition.
47070 (grub_video_vbe_map_rgba): Added driver internal helper.
47071 (grub_video_vbe_unmap_color): Updated to use
47072 grub_video_i386_vbeblit_info.
47073 (grub_video_vbe_get_video_ptr): Likewise.
47075 * include/grub/i386/pc/vbeblit.h
47076 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
47077 grub_video_i386_vbeblit_info.
47078 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
47079 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
47080 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
47081 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
47082 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
47083 (grub_video_i386_vbeblit_index_index): Likewise.
47084 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
47085 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
47086 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
47087 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
47089 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
47092 * video/i386/pc/vbeblit.c: Updated to reflect changes on
47093 include/grub/i386/pc/vbeblit.h.
47095 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
47096 Updated to use grub_video_i386_vbeblit_info.
47097 (grub_video_i386_vbefill_R8G8B8): Likewise.
47098 (grub_video_i386_vbefill_index): Likewise.
47099 (grub_video_i386_vbefill): Added generic filler.
47101 * video/i386/pc/vbefill.c: Updated to reflect changes on
47102 include/grub/i386/pc/vbefill.h.
47104 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
47105 grub_video_i386_vbeblit_info.
47106 (grub_video_vbe_unmap_color): Likewise.
47107 (grub_video_vbe_blit_glyph): Likewise.
47108 (grub_video_vbe_scroll): Likewise.
47109 (grub_video_vbe_draw_pixel): Removed function.
47110 (grub_video_vbe_get_pixel): Likewise.
47111 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
47112 updated code to use it.
47113 (common_blitter): Added common blitter for render target and bitmap.
47114 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
47115 (grub_video_vbe_blit_render_target): Likewise.
47117 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
47119 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
47120 is in text mode if there is no console control protocol instance
47123 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47125 * include/grub/video.h: Code cleanup.
47127 * include/grub/i386/pc/vbe.h: Likewise.
47129 * video/i386/pc/vbe.c: Likewise.
47131 * video/i386/pc/vbeblit.c: Likewise.
47133 * video/i386/pc/vbefill.c: Likewise.
47135 * video/video.c: Likewise. Also added more comments.
47137 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
47139 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
47140 (struct grub_biosdisk_dap): Likewise.
47142 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
47143 linkage settings for all functions.
47145 2006-07-12 Marco Gerards <marco@gnu.org>
47147 * configure.ac (--enable-mm-debug): Fix typo.
47149 * genkernsyms.sh.in: Use proper quoting for `CC'.
47151 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
47153 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
47154 (normal_mod_ASFLAGS): Remove "-m32".
47156 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
47158 * util/misc.c: Include config.h.
47159 [!HAVE_MEMALIGN]: Do not include malloc.h.
47160 (grub_memalign): Use posix_memalign, if present. Then, use
47161 memalign, if present. Otherwise, emit an error.
47163 * util/grub-emu.c: Do not include malloc.h.
47165 * include/grub/util/misc.h: Include unistd.h. This is required for
47166 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
47167 D. Eades III <hde@foobar-qux.org>.
47169 * configure.ac (AC_GNU_SOURCE): Added.
47170 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
47173 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
47175 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
47176 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
47178 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
47180 * include/grub/types.h (grub_host_addr_t): Rename to
47181 grub_target_addr_t.
47182 (grub_host_off_t): Rename to grub_target_off_t.
47183 (grub_host_size_t): Rename to grub_target_size_t.
47184 (grub_host_ssize_t): Rename to grub_target_ssize_t.
47185 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
47187 * include/grub/kernel.h (struct grub_module_header): Change type
47188 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
47189 (grub_module_info): Likewise.
47191 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47193 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
47194 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
47195 Velazquez <jesus.velazquez@gmail.com>.
47197 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
47199 Count partitions from 1 instead of 0 in the string representation
47200 of partitions. Still use 0-based internally.
47202 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
47203 (sun_partition_map_iterate): Use grub_partition_t instead of
47204 struct grub_partition *. Cast DESC->START_CYLINDER to
47205 grub_uint64_t after converting the endian.
47206 (sun_partition_map_probe): Subtract 1 for PARTNUM.
47207 (sun_partition_map_get_name): Add 1 to P->INDEX.
47209 * partmap/pc.c (grub_partition_parse): Subtract 1 for
47211 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
47213 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
47214 zero instead of one.
47215 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
47216 (gpt_partition_map_get_name): Add 1 into P->INDEX.
47218 * partmap/apple.c (apple_partition_map_iterate): Change the type
47219 of POS to unsigned.
47220 (apple_partition_map_probe): Subtract 1 for PARTNUM.
47221 (apple_partition_map_get_name): Add 1 into P->INDEX.
47223 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
47224 of POS to unsigned.
47225 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
47226 calculate the offset of a partition.
47227 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
47228 (amiga_partition_map_get_name): Add 1 into P->INDEX.
47230 * partmap/acorn.c (acorn_partition_map_find): Change the type of
47231 SECTOR to grub_disk_addr_t.
47232 (acorn_partition_map_iterate): Likewise.
47233 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
47234 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
47236 (acorn_partition_map_get_name): Add 1 into P->INDEX.
47238 * kern/i386/pc/init.c (make_install_device): Add 1 into
47239 GRUB_INSTALL_DOS_PART.
47241 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
47244 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47246 Clean up the code to support 64-bit addressing in disks and
47247 files. This change is not enough for filesystems yet.
47249 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
47250 type of "start" to grub_uint64_t.
47251 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
47252 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
47253 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
47256 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
47257 to grub_disk_addr_t.
47259 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
47262 * partmap/pc.c (pc_partition_map_iterate): Likewise.
47264 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
47267 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
47269 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
47271 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
47273 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
47274 to grub_off_t, to detect an error from grub_file_seek.
47275 (grub_multiboot_load_elf32): Likewise.
47277 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
47278 maximum unsigned long value when an overflow is detected.
47279 (grub_strtoull): New function.
47280 (grub_divmod64): Likewise.
47281 (grub_lltoa): use grub_divmod64.
47283 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
47285 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
47286 the pointer to next character. Use grub_strtoull instead of
47288 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
47289 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
47292 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
47293 return value is signed.
47294 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
47295 test if OFFSET is less than zero, as OFFSET is unsigned now.
47297 * kern/disk.c (struct grub_disk_cache): Change the type of
47298 "sector" to grub_disk_addr_t.
47299 (grub_disk_cache_get_index): Change the type of SECTOR to
47300 grub_disk_addr_t. Calculate the hash with SECTOR casted to
47301 unsigned after shifting.
47302 (grub_disk_cache_invalidate): Change the type of SECTOR to
47304 (grub_disk_cache_unlock): Likewise.
47305 (grub_disk_cache_store): Likewise.
47306 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
47307 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
47308 grub_disk_addr_t and grub_uint64_t, respectively.
47309 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
47310 body, as the value of OFFSET is tweaked by
47311 grub_disk_check_range. Change the types of START_SECTOR, LEN and
47312 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
47314 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
47315 body, as the value of OFFSET is tweaked by
47316 grub_disk_check_range. Change the types of LEN and N to
47319 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
47320 and "saved_offset" to grub_off_t.
47321 (test_header): Cast BUF to char *.
47322 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
47324 (grub_gzio_read): Change the types of OFFSET and SIZE to
47325 grub_off_t and grub_size_t, respectively.
47327 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
47329 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
47330 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
47331 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
47332 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
47333 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
47335 * include/grub/types.h (grub_off_t): Unconditionally set to
47337 (grub_disk_addr_t): Changed to grub_uint64_t.
47339 * include/grub/partition.h (struct grub_partition): Change the
47340 types of "start", "len" and "offset" to grub_disk_addr_t,
47341 grub_uint64_t and grub_disk_addr_t, respectively.
47342 (grub_partition_get_start): Return grub_disk_addr_t.
47343 (grub_partition_get_len): Return grub_uint64_t.
47345 * include/grub/misc.h (grub_strtoull): New prototype.
47346 (grub_divmod64): Likewise.
47348 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
47349 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
47350 grub_off_t, respectively.
47351 All callers and references changed.
47353 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
47354 grub_size_t in "read".
47355 All callers and references changed.
47357 * include/grub/file.h (struct grub_file): Change the types of
47358 "offset" and "size" to grub_off_t and grub_off_t,
47359 respectively. Change the type of SECTOR to grub_disk_addr_t in
47361 (grub_file_read): Change the type of LEN to grub_size_t.
47362 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
47364 (grub_file_size): Return grub_off_t.
47365 (grub_file_tell): Likewise.
47366 All callers and references changed.
47368 * include/grub/disk.h (struct grub_disk_dev): Change the types of
47369 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
47371 (struct grub_disk): Change the type of "total_sectors" to
47372 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
47374 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
47375 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
47376 (grub_disk_write): Likewise.
47377 All callers and references changed.
47379 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
47380 char * for grub_strncmp to silence gcc.
47381 (grub_iso9660_mount): Likewise.
47382 (grub_iso9660_mount): Likewise.
47383 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
47385 (grub_iso9660_iterate_dir): Likewise.
47386 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
47388 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
47389 LEN to grub_disk_addr_t and grub_size_t, respectively.
47391 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
47393 * fs/jfs.c (grub_jfs_read_file): Likewise.
47395 * fs/minix.c (grub_jfs_read_file): Likewise.
47397 * fs/sfs.c (grub_jfs_read_file): Likewise.
47399 * fs/ufs.c (grub_jfs_read_file): Likewise.
47401 * fs/xfs.c (grub_jfs_read_file): Likewise.
47403 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
47404 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
47407 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
47408 BLKNR to -1 instead of returning GRUB_ERRNO.
47409 (grub_ext2_read_file): Change the types of SECTOR and
47410 LEN to grub_disk_addr_t and grub_size_t, respectively.
47412 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
47413 LEN to grub_disk_addr_t and grub_size_t, respectively.
47415 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
47418 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
47419 string. Do not cast SECTOR explicitly.
47421 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
47422 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
47423 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
47424 grub_disk_addr_t and grub_size_t, respectively. If the sector is
47425 over 2TB and LBA mode is not supported, raise an error.
47426 (get_safe_sectors): New function.
47427 (grub_biosdisk_read): Use get_safe_sectors.
47428 (grub_biosdisk_write): Likewise.
47430 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
47431 (grub_efidisk_write): Likewise.
47433 * disk/loopback.c (delete_loopback): Cosmetic changes.
47434 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
47436 (grub_loopback_open): Likewise.
47437 (grub_loopback_read): Likewise. Also, change the type of POS to
47438 grub_off_t, and fix the usage of grub_memset.
47440 * commands/i386/pc/play.c: Include grub/machine/time.h.
47442 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
47445 * commands/configfile.c: Include grub/env.h.
47447 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
47448 GRUB_ERRNO directly instead. Change the type of POS to
47449 grub_off_t. Follow the coding standard.
47451 * commands/blocklist.c: Include grub/partition.h.
47452 (grub_cmd_blocklist): Return an error if the underlying device is
47453 not a disk. Take the starting sector of a partition into account,
47454 if a partition is used.
47456 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
47458 (lba_mode): Support 64-bit addresses.
47459 (chs_mode): Likewise.
47460 (copy_buffer): Adapted to the new offsets of a length field and a
47462 (blocklist_default_start): Allocate 64-bit space.
47464 * boot/i386/pc/boot.S (force_lba): Removed.
47465 (boot_drive): Moved to under KERNEL_SECTOR.
47466 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
47468 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
47470 (lba_mode): Refactored to support a 64-bit address. More size
47472 (setup_sectors): Likewise.
47474 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
47476 * DISTLIST: Added include/grub/i386/linux.h. Removed
47477 include/grub/i386/pc/linux.h
47479 * configure.ac (AC_INIT): Bumped to 1.94.
47481 * config.guess: Updated from gnulib.
47482 * config.sub: Likewise.
47483 * install-sh: Likewise.
47484 * mkinstalldirs: Likewise.
47486 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47488 * conf/common.rmk (grub_modules_init.lst): Depended on
47489 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
47492 * genmk.rb (PModule::rule): Reverted the previous change.
47494 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
47496 * conf/common.rmk (grub_modules_init.lst): Depends on
47497 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
47498 that the target does not exist before producing.
47499 (grub_modules_init.h): Remove the target before generating.
47500 (grub_emu_init.c): Likewise.
47502 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
47504 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
47506 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
47507 for the target-specific tests. Make sure that we also have the
47508 up-to-date target variables for those tests.
47510 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47512 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
47513 (PModule::rule): Likewise.
47515 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
47517 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
47518 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
47519 target-specific flags should be prefixed.
47520 (PModule::rule): Likewise.
47522 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
47524 * configure.ac (CMP): Check if cmp is available explicitly.
47526 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
47528 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
47529 (target_cpu): New variable.
47530 (pkglibdir): Use target_cpu instead of host_cpu.
47532 * util/i386/pc/grub-install.in (host_cpu): Removed.
47533 (target_cpu): New variable.
47534 (pkglibdir): Use target_cpu instead of host_cpu.
47536 * util/genmoddep.c: Removed.
47538 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
47539 instead of GRUB_HOST_SIZEOF_VOID_P.
47540 * kern/dl.c: Likewise.
47542 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
47544 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47545 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47546 (GRUB_TARGET_SIZEOF_LONG): ... this.
47547 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47548 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47549 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47551 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47552 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47553 (GRUB_TARGET_SIZEOF_LONG): ... this.
47554 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47555 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47556 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
47558 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
47559 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
47560 (GRUB_TARGET_SIZEOF_LONG): ... this.
47561 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
47562 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
47564 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
47565 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
47566 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
47567 instead of GRUB_HOST_SIZEOF_LONG.
47568 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
47569 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
47570 GRUB_CPU_WORDS_BIGENDIAN.
47571 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
47572 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
47575 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
47576 (genmoddep_SOURCES): Likewise.
47577 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
47578 (genmoddep_SOURCES): Likewise.
47579 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
47580 (genmoddep_SOURCES): Likewise.
47581 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
47583 (genmoddep_SOURCES): Likewise.
47585 * genmoddep.awk: New file.
47587 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
47588 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
47589 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
47590 (PModule::rule): Likewise.
47591 (Program::rule): Likewise.
47592 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
47593 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
47596 * configure.ac: Rewritten intensively to use host and target
47597 instead of build and host, respectively.
47599 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
47600 (host_cpu): Removed.
47601 (target_cpu): New variable.
47602 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
47603 (BUILD_CC): Removed.
47604 (BUILD_CFLAGS): Likewise.
47605 (BUILD_CPPFLAGS): Likewise.
47606 (TARGET_CC): New variable.
47607 (TARGET_CFLAGS): Likewise.
47608 (TARGET_CPPFLAGS): Likewise.
47609 (TARGET_LDFLAGS): Likewise.
47611 (include): Use target_cpu instead of host_cpu.
47612 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
47614 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
47616 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
47618 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
47619 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
47620 field 'false' to 'exec_on_false'.
47621 (grub_script_create_cmdif): Renamed argument names to reflect above
47624 * normal/execute.c (grub_script_execute_cmdif): Likewise.
47626 * normal/script.c (grub_script_create_cmdif): Likewise.
47628 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
47630 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
47632 (grub_hfsplus_btree_recptr): Likewise.
47633 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
47634 FILEBLOCK both to pass a block number and store next block
47636 (grub_hfsplus_read_block): Rewritten heavily to support an extent
47637 overflow file correctly. Specify errors appropriately, because
47638 fshelp expects that GRUB_ERRNO is set when fails. Reuse
47639 grub_hfsplus_btree_recptr to get the pointer to a found key.
47640 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
47643 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
47645 (_linux_mod_SOURCES): New variable.
47646 (_linux_mod_CFLAGS): Likewise.
47647 (_linux_mod_LDFLAGS): Likewise.
47648 (linux_mod_SOURCES): Likewise.
47649 (linux_mod_CFLAGS): Likewise.
47650 (linux_mod_LDFLAGS): Likewise.
47652 * DISTLIST: Added loader/i386/efi/linux.c,
47653 loader/i386/efi/linux_normal.c and
47654 include/grub/i386/efi/loader.h.
47656 * loader/i386/efi/linux.c: New file.
47657 * loader/i386/efi/linux_normal.c: Likewise.
47658 * include/grub/i386/efi/loader.h: Likewise.
47660 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
47662 * commands/blocklist.c: New file.
47664 * DISTLIST: Added commands/blocklist.c.
47666 * term/efi/console.c (grub_console_highlight_color): Use a lighter
47667 color for the background, and a darker color for the foreground.
47668 (grub_console_checkkey): Return READ_KEY.
47669 (grub_console_cls): Set the background to
47670 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
47672 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
47674 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
47675 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
47677 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
47680 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
47681 BG. The spec is wrong again.
47683 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
47685 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
47687 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
47688 commands/blocklist.c.
47689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
47691 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
47692 (blocklist_mod_SOURCES): New variable.
47693 (blocklist_mod_CFLAGS): Likewise.
47694 (blocklist_mod_LDFLAGS): Likewise.
47696 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
47698 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
47700 (lba_mode): Use %eax more intensively to reduce the code size.
47702 2006-05-20 Marco Gerards <marco@gnu.org>
47704 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
47706 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
47708 (script): Accept leading newlines.
47709 (newlines): New rule to describe 0 or more newlines.
47710 (commands): Accept `command' with trailing newline. Fixed the
47711 order in which arguments were passed to `grub_script_add_cmd'.
47712 Accept commands separated by newlines.
47713 (function): Changed to accept newlines.
47714 (menuentry) Rewritten.
47716 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
47717 front of the list, instead of to the end.
47719 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
47721 * util/i386/pc/grub-install.in (bindir): New variable.
47722 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
47723 Shaver <lbgwjl@gmail.com>.
47725 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
47727 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
47728 grub/machine/linux.h
47729 * loader/i386/pc/linux.c: Likewise.
47731 * include/grub/i386/pc/linux.h: Moved to ...
47732 * include/grub/i386/linux.h: ... here.
47734 * include/grub/i386/linux.h (struct linux_kernel_params): New
47737 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
47739 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
47741 (grub_video_vbe_blit_glyph): Likewise.
47742 (grub_video_vbe_blit_bitmap): Likewise.
47743 (grub_video_vbe_blit_render_target): Likewise.
47745 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
47747 * configure.ac (--with-platform): Properly quote the square
47750 2006-05-08 Marco Gerards <marco@gnu.org>
47752 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
47754 (kernel_elf_HEADERS): ...to this. Updated all users.
47755 (grubof_symlist.c): Renamed from this...
47756 (kernel_elf_symlist.c): ...to this. Updated all users.
47757 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47758 (grubof_SOURCES): Renamed from this...
47759 (kernel_elf_SOURCES): ...to this.
47760 (grubof_HEADERS): Renamed from this...
47761 (kernel_elf_HEADERS): ...to this.
47762 (grubof_CFLAGS): Renamed from this...
47763 (kernel_elf_CFLAGS): ...to this.
47764 (grubof_ASFLAGS): Renamed from this...
47765 (kernel_elf_ASFLAGS): ...to this.
47766 (grubof_LDFLAGS): Renamed from this...
47767 (kernel_elf_LDFLAGS): ...to this.
47769 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
47771 (kernel_elf_HEADERS): ...to this. Updated all users.
47772 (grubof_symlist.c): Renamed from this...
47773 (kernel_elf_symlist.c): ...to this. Updated all users.
47774 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
47775 (grubof_SOURCES): Renamed from this...
47776 (kernel_elf_SOURCES): ...to this.
47777 (grubof_HEADERS): Renamed from this...
47778 (kernel_elf_HEADERS): ...to this.
47779 (grubof_CFLAGS): Renamed from this...
47780 (kernel_elf_CFLAGS): ...to this.
47781 (grubof_ASFLAGS): Renamed from this...
47782 (kernel_elf_ASFLAGS): ...to this.
47783 (grubof_LDFLAGS): Renamed from this...
47784 (kernel_elf_LDFLAGS): ...to this.
47786 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
47787 `kernel.elf' instead of `grubof'.
47789 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
47791 Add --with-platform to configure. Use pkglibdir instead of
47792 pkgdatadir. This is reported by Roger Leigh.
47794 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
47795 (host_vendor): Likewise.
47796 (host_os): Likewise.
47797 (pkgdatadir): Likewise.
47798 (platform): New variable.
47799 (pkglibdir): Likewise.
47800 Use PKGLIBDIR instead of PKGDATADIR.
47802 * util/i386/pc/grub-install.in (datadir): Removed.
47803 (host_vendor): Likewise.
47804 (host_os): Likewise.
47805 (pkgdatadir): Likewise.
47806 (platform): New variable.
47807 (pkglibdir): Likewise.
47808 Use PKGLIBDIR instead of PKGDATADIR.
47810 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
47811 instead of GRUB_DATADIR.
47813 * util/i386/pc/grub-mkimage.c (usage): Likewise.
47815 * util/i386/efi/grub-mkimage.c (usage): Likewise.
47818 * configure.ac (--with-platform): New option.
47819 Use PLATFORM instead of HOST_VENDOR to specify a platform.
47821 * Makefile.in: Include a makefile based on PLATFORM instead of
47823 (pkgdatadir): Not appended by the machine type.
47824 (pkglibdir): Appended by the machine type.
47825 (host_vendor): Removed.
47826 (platform): New variable.
47827 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
47828 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
47829 (uninstall): Likewise.
47831 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
47833 Use the environment context in the menu. Remove the commands
47834 "default" and "timeout", and use variables instead.
47836 * normal/menu.c: Include grub/env.h.
47837 (print_entry): Cast TITLE to silence gcc.
47838 (get_timeout): New function.
47839 (set_timeout): Likewise.
47840 (get_entry_number): Likewise.
47841 (run_menu): Use a default entry, a fallback entry and a timeout
47842 in the environment variables "default", "fallback" and
47843 "timeout". Also, tweak the default entry if it is not within the
47844 current menu entries.
47845 (grub_menu_run): Use a fallback entry in the environment variable
47848 * normal/main.c (read_config_file): Do not initialize
47849 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
47851 (grub_normal_execute): Use a data slot to store the menu.
47853 * include/grub/normal.h (struct grub_menu): Removed default_entry,
47854 fallback_entry and timeout.
47855 (struct grub_menu_list): Removed.
47856 (grub_menu_list_t): Likewise.
47857 (struct grub_context): Likewise.
47858 (grub_context_t): Likewise.
47859 (grub_context_get): Likewise.
47860 (grub_context_get_current_menu): Likewise.
47861 (grub_context_push_menu): Likewise.
47862 (grub_context_pop_menu): Likewise.
47863 (grub_default_init): Likewise.
47864 (grub_default_fini): Likewise.
47865 (grub_timeout_init): Likewise.
47866 (grub_timeout_fini): Likewise.
47868 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
47870 (normal_mod_SOURCES): Removed normal/context.c.
47872 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
47873 commands/default.c, commands/timeout.c and normal/context.c.
47874 (normal_mod_SOURCES): Removed normal/context.c.
47876 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
47877 commands/timeout.c and normal/context.c.
47878 (normal_mod_SOURCES): Removed normal/context.c.
47880 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
47881 commands/default.c, commands/timeout.c and normal/context.c.
47882 (normal_mod_SOURCES): Removed normal/context.c.
47884 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
47886 (default_mod_SOURCES): Removed.
47887 (default_mod_CFLAGS): Likewise.
47888 (default_mod_LDFLAGS): Likewise.
47889 (timeout_mod_SOURCES): Removed.
47890 (timeout_mod_CFLAGS): Likewise.
47891 (timeout_mod_LDFLAGS): Likewise.
47893 * DISTLIST: Removed commands/default.c, commands/timeout.c and
47896 * commands/default.c: Removed.
47897 * commands/timeout.c: Likewise.
47898 * normal/context.c: Likewise.
47900 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
47902 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
47904 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
47906 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
47907 "next" to "prev" for readability.
47908 (struct grub_env_sorted_var): New struct.
47909 (grub_env_context): Renamed to ...
47910 (initial_context): ... this.
47911 (grub_env_var_context): Renamed to ...
47912 (current_context): ... this.
47913 (grub_env_find): Look only at CURRENT_CONTEXT.
47914 (grub_env_context_open): Rewritten to copy exported variables from
47916 (grub_env_context_close): Rewritten according to the new
47917 scheme. Also, add an assertion to prevent the initial context from
47919 (grub_env_insert): Removed the code for the sorted list.
47920 (grub_env_remove): Likewise.
47921 (grub_env_export): Simply mark the variable with
47922 GRUB_ENV_VAR_GLOBAL.
47923 (grub_env_set): A cosmetic change for naming consistency.
47924 (grub_env_get): Likewise.
47925 (grub_env_unset): Likewise.
47926 (grub_env_iterate): Rewritten to sort variables within this
47928 (grub_register_variable_hook): Fixed for naming consistency. Call
47929 grub_env_find again, only if NAME is not found at the first time.
47930 (mangle_data_slot_name): New function.
47931 (grub_env_set_data_slot): Likewise.
47932 (grub_env_get_data_slot): Likewise.
47933 (grub_env_unset_data_slot): Likewise.
47935 * include/grub/env.h (grub_env_var_type): New enum.
47936 (GRUB_ENV_VAR_LOCAL): New constant.
47937 (GRUB_ENV_VAR_GLOBAL): Likewise.
47938 (GRUB_ENV_VAR_DATA): Likewise.
47939 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
47941 (grub_env_set): Replace VAR with NAME for consistency.
47942 (grub_register_variable_hook): Likewise.
47943 (grub_env_export): Specify the name of the argument.
47944 (grub_env_set_data_slot): New prototype.
47945 (grub_env_get_data_slot): Likewise.
47946 (grub_env_unset_data_slot): Likewise.
47948 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
47950 Extend the loader so that GRUB can accept a loader which comes
47951 back to GRUB when a loaded image exits. Also, this change adds
47952 support for a chainloader on EFI.
47954 * term/efi/console.c: Include grub/misc.h.
47955 (grub_console_checkkey): Display a scan code on the top for
47956 debugging. This will be removed once the EFI port gets stable.
47957 Correct the scan code mapping.
47959 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
47960 allocate memory from larger regions, in order to reduce the number
47961 of allocated regions. Otherwise, the MacOSX loader panics.
47962 (filter_memory_map): Avoid less than 1MB for compatibility with
47964 (add_memory_regions): Allocate from the tail of a region, if
47965 possible, to avoid allocating a region near to 1MB, for the MacOSX
47968 * kern/efi/init.c (grub_efi_set_prefix): Specify
47969 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
47971 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
47972 argument IMAGE_HANDLE and specify it to get a loaded image.
47973 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
47974 grub_efi_get_loaded_image.
47975 (grub_efi_get_filename): Divide the length by the size of
47977 (grub_efi_get_device_path): New function.
47978 (grub_efi_print_device_path): Print End Device Path nodes. Divide
47979 the length by the size of grub_efi_char16_t for a file path device
47982 * kern/loader.c (grub_loader_noreturn): New variable.
47983 (grub_loader_set): Accept a new argument NORETURN. Set
47984 GRUB_LOADER_NORETURN to NORETURN.
47985 All callers changed.
47986 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
47989 * include/grub/efi/efi.h (grub_efi_get_device_path): New
47991 (grub_efi_get_loaded_image): Take an argument to specify an image
47994 * include/grub/loader.h (grub_loader_set): Added one more argument
47997 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
47998 instead of grub_efi_open_protocol.
47999 (grub_efidisk_get_device_name): Likewise.
48000 (grub_efidisk_close): Print a newline.
48001 (grub_efidisk_get_device_handle): Fixed to use
48002 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
48003 GRUB_EFI_DEVICE_PATH_TYPE.
48005 * disk/efi/efidisk.c (device_path_guid): Moved to ...
48006 * kern/efi/efi.c (device_path_guid): ... here.
48008 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
48010 (kernel_mod_HEADERS): Added efi/disk.h.
48011 (_chain_mod_SOURCES): New variable.
48012 (_chain_mod_CFLAGS): Likewise.
48013 (_chain_mod_LDFLAGS): Likewise.
48014 (chain_mod_SOURCES): Likewise.
48015 (chain_mod_CFLAGS): Likewise.
48016 (chain_mod_LDFLAGS): Likewise.
48018 * DISTLIST: Added include/grub/efi/chainloader.h,
48019 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
48021 * include/grub/efi/chainloader.h: New file.
48022 * loader/efi/chainloader.c: Likewise.
48023 * loader/efi/chainloader_normal.c: Likewise.
48025 2006-04-30 Marco Gerards <marco@gnu.org>
48027 * commands/configfile.c (grub_cmd_source): New function.
48028 (GRUB_MOD_INIT): Register the commands `source' and `.'.
48029 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
48031 2006-04-30 Marco Gerards <marco@gnu.org>
48033 * normal/execute.c (grub_script_execute_cmd): Change the return
48034 type to `grub_err_t'. Correctly return the error.
48035 (grub_script_execute_cmdline): In case a command line is not a
48036 command or a function, try to interpret it as an assignment.
48038 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
48040 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
48041 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
48042 skip a node whose name is obviously invalid as UTF-16,
48043 i.e. contains a NUL character. Stop the iteration when the last
48044 directory entry is found. Instead of using the return value of
48045 grub_hfsplus_btree_iterate_node, store the value in RET and use
48046 it, because the iterator can be stopped by the last directory
48049 2006-04-30 Marco Gerards <marco@gnu.org>
48051 * include/grub/env.h (grub_env_export): New prototype. Reported
48052 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
48054 2006-04-30 Marco Gerards <marco@gnu.org>
48056 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
48057 size of the extents in a catalog file record.
48059 2006-04-29 Marco Gerards <marco@gnu.org>
48061 * commands/configfile.c (grub_cmd_configfile): Execute the
48062 configfile within its own context.
48064 * include/grub/env.h (grub_env_context_open): New prototype.
48065 (grub_env_context_close): Likewise.
48067 * kern/env.c (grub_env): Removed.
48068 (grub_env_sorted): Likewise.
48069 (grub_env_context): New variable.
48070 (grub_env_var_context): Likewise.
48071 (grub_env_find): Search both the active context and the global
48073 (grub_env_context_open): New function.
48074 (grub_env_context_close): Likewise.
48075 (grub_env_insert): Likewise.
48076 (grub_env_remove): Likewise.
48077 (grub_env_export): Likewise.
48078 (grub_env_set): Changed to use helper functions to avoid code
48080 (grub_env_iterate): Rewritten so both the current context and the
48081 global context are being used.
48083 * normal/command.c (export_command): New function.
48084 (grub_command_init): Register the `export' function.
48086 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
48088 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
48089 explicitly to suppress gcc's warnings.
48090 * fs/fat.c (grub_fat_find_dir): Likewise.
48091 (grub_fat_label): Likewise.
48092 * fs/xfs.c (grub_xfs_read_inode): Likewise.
48093 (grub_xfs_mount): Likewise.
48094 (grub_xfs_label): Likewise.
48095 * fs/affs.c (grub_affs_mount): Likewise.
48096 (grub_affs_label): Likewise.
48097 (grub_affs_iterate_dir): Likewise.
48098 * fs/sfs.c (grub_sfs_mount): Likewise.
48099 (grub_sfs_iterate_dir): Likewise.
48100 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
48101 * fs/hfs.c (grub_hfs_mount): Likewise.
48102 (grub_hfs_cmp_catkeys): Likewise.
48103 (grub_hfs_find_dir): Likewise.
48104 (grub_hfs_dir): Likewise.
48105 (grub_hfs_label): Likewise.
48106 * fs/jfs.c (grub_jfs_mount): Likewise.
48107 (grub_jfs_opendir): Likewise.
48108 (grub_jfs_getent): Likewise.
48109 (grub_jfs_lookup_symlink): Likewise.
48110 (grub_jfs_label): Likewise.
48111 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
48112 (grub_hfsplus_iterate_dir): Likewise.
48113 (grub_hfsplus_btree_iterate_node): Made static.
48115 * util/grub-emu.c (prefix): New variable.
48116 (grub_machine_set_prefix): New function.
48117 (main): Do not set the environment variable "prefix" here. Only
48118 set PREFIX, which is used later by grub_machine_set_prefix.
48120 * include/grub/video.h: Do not include grub/symbol.h.
48121 (grub_video_register): Not exported. This symbol is not defined in
48123 (grub_video_unregister): Likewise.
48124 (grub_video_iterate): Likewise.
48125 (grub_video_setup): Likewise.
48126 (grub_video_restore): Likewise.
48127 (grub_video_get_info): Likewise.
48128 (grub_video_get_blit_format): Likewise.
48129 (grub_video_set_palette): Likewise.
48130 (grub_video_get_palette): Likewise.
48131 (grub_video_set_viewport): Likewise.
48132 (grub_video_get_viewport): Likewise.
48133 (grub_video_map_color): Likewise.
48134 (grub_video_map_rgb): Likewise.
48135 (grub_video_map_rgba): Likewise.
48136 (grub_video_fill_rect): Likewise.
48137 (grub_video_blit_glyph): Likewise.
48138 (grub_video_blit_bitmap): Likewise.
48139 (grub_video_blit_render_target): Likewise.
48140 (grub_video_scroll): Likewise.
48141 (grub_video_swap_buffers): Likewise.
48142 (grub_video_create_render_target): Likewise.
48143 (grub_video_delete_render_target): Likewise.
48144 (grub_video_set_active_render_target): Likewise.
48146 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
48148 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
48150 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
48151 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48152 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48153 instead of $(srcdir)/genkernsyms.sh.
48155 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
48156 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48157 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48158 instead of $(srcdir)/genkernsyms.sh.
48160 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
48161 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48162 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48163 instead of $(srcdir)/genkernsyms.sh.
48165 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
48166 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
48167 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
48168 instead of $(srcdir)/genkernsyms.sh.
48170 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
48173 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
48175 (gensymlist.sh): New target.
48176 (genkernsyms.sh): Likewise.
48178 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
48179 genkernsyms.sh.in and gensymlist.sh.in.
48181 * genkernsyms.sh: Removed.
48182 * gensymlist.sh: Likewise.
48184 * genkernsyms.sh.in: New file.
48185 * gensymlist.sh.in: Likewise.
48187 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48189 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
48190 clobber "prefix", since we may have already set it manually.
48192 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
48194 * kern/misc.c (abort): New alias for grub_abort.
48196 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
48198 A new machine-specific function "grub_machine_set_prefix" is
48199 defined. This is called after loading modules, so that a prefix
48200 initialization can use modules. Also, this change adds an
48201 intensive debugging feature for the memory manager via the
48202 configure option "--enable-mm-debug".
48204 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
48207 * kern/sparc64/ieee1275/init.c (abort): Removed.
48208 (grub_stop): Likewise.
48209 (grub_exit): New function.
48210 (grub_set_prefix): Renamed to ...
48211 (grub_machine_set_prefix): ... this.
48212 (grub_machine_init): Do not call grub_set_prefix.
48214 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
48215 (grub_machine_set_prefix): ... this.
48216 (grub_machine_init): Do not call grub_set_prefix.
48218 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
48219 (grub_machine_init): Do not set the prefix here.
48221 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
48223 * kern/efi/init.c: Include grub/mm.h.
48224 (grub_efi_set_prefix): New function.
48226 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
48227 (grub_efi_get_filename): New function.
48228 (grub_print_device_path): Renamed to ...
48229 (grub_efi_print_device_path): ... this.
48231 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
48232 [MM_DEBUG] (grub_realloc): Likewise.
48233 [MM_DEBUG] (grub_free): Likewise.
48234 [MM_DEBUG] (grub_memalign): Likewise.
48235 [MM_DEBUG] (grub_mm_debug): New variable.
48236 [MM_DEBUG] (grub_debug_malloc): New function.
48237 [MM_DEBUG] (grub_debug_free): New function.
48238 [MM_DEBUG] (grub_debug_realloc): New function.
48239 [MM_DEBUG] (grub_debug_memalign): New function.
48241 * kern/misc.c (grub_abort): Print a newline to distinguish
48244 * kern/main.c (grub_main): Call grub_machine_set_prefix and
48245 grub_set_root_dev after loading modules. This is necessary when
48246 setting a prefix depends on modules.
48248 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
48249 (grub_efi_print_device_path): ... this.
48250 (grub_efi_get_filename): New prototype.
48251 (grub_efi_set_prefix): Likewise.
48253 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
48255 (grub_efidisk_get_device_handle): New prototype.
48256 (grub_efidisk_get_device_name): Likewise.
48258 * include/grub/mm.h: Include config.h.
48259 (MM_DEBUG): Removed.
48260 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
48261 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
48262 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
48263 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
48264 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
48265 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
48266 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
48267 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
48268 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
48270 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
48272 * disk/efi/efidisk.c: Include grub/partition.h.
48273 (iterate_child_devices): New function.
48274 (add_device): First, compare only last device path nodes, so that
48275 devices are sorted by the types.
48276 (grub_efidisk_get_device_handle): New function.
48277 (grub_efidisk_get_device_name): Likewise.
48279 * configure.ac (--enable-mm-debug): New option to enable the
48280 memory manager debugging feature. This makes the binary much
48281 bigger, so is disabled by default.
48283 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
48285 Use grub_abort instead of grub_stop, and grub_exit must be
48286 define in each architecture now. Also, this change adds support
48289 * util/i386/pc/grub-probefs.c: Include grub/term.h.
48290 (grub_getkey): New function.
48291 (grub_term_get_current): Likewise.
48293 * util/i386/pc/grub-setup.c: Include grub/term.h.
48294 (grub_getkey): New function.
48295 (grub_term_get_current): Likewise.
48297 * util/misc.c (grub_stop): Renamed to ...
48298 (grub_exit): ... this.
48300 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
48301 (grub_exit): ... this.
48302 (grub_machine_init): Use grub_abort instead of abort.
48303 (grub_stop): Removed.
48305 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
48308 * kern/i386/pc/startup.S (grub_exit): New function.
48309 (cold_reboot): New label.
48311 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
48312 (grub_efi_init): Call grub_efidisk_init.
48313 (grub_efi_fini): Call grub_efidisk_fini.
48315 * kern/efi/efi.c: Include grub/mm.h.
48316 (grub_efi_console_control_guid): Renamed to ...
48317 (console_control_guid): ... this.
48318 (grub_efi_loaded_image_guid): Renamed to ...
48319 (loaded_image_guid): ... this.
48320 (grub_efi_locate_handle): New function.
48321 (grub_efi_open_protocol): Likewise.
48322 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
48323 GRUB_EFI_CONSOLE_CONTROL_GUID.
48324 (grub_efi_exit): Removed.
48325 (grub_stop): Likewise.
48326 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
48327 (grub_exit): New function.
48328 (grub_print_device_path): Likewise.
48330 * kern/rescue.c (grub_rescue_cmd_exit): New function.
48331 (grub_enter_rescue_mode): Register "exit".
48333 * kern/misc.c (grub_real_dprintf): A cosmetic change.
48334 (grub_abort): New function.
48336 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
48338 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
48340 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
48342 * include/grub/efi/efi.h (grub_efi_exit): Removed.
48343 (grub_print_device_path): New prototype.
48344 (grub_efi_locate_handle): Likewise.
48345 (grub_efi_open_protocol): Likewise.
48347 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
48348 * disk/efi/efidisk.c: Likewise.
48350 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
48352 * include/grub/efi/console_control.h
48353 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
48355 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
48356 last 8 bytes as an array.
48357 (GRUB_EFI_DISK_IO_GUID): New macro.
48358 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
48359 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
48360 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
48362 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
48363 (struct grub_efi_device_path): Rename the member "sub_type" to
48365 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
48366 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
48367 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
48368 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
48369 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
48370 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
48371 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
48372 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
48373 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
48374 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
48375 (struct grub_efi_pci_device_path): New structure.
48376 (grub_efi_pci_device_path_t): New type.
48377 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
48378 (struct grub_efi_pccard_device_path): New structure.
48379 (grub_efi_pccard_device_path_t): New type.
48380 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
48381 (struct grub_efi_memory_mapped_device_path): New structure.
48382 (grub_efi_memory_mapped_device_path_t): New type.
48383 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
48384 (struct grub_efi_vendor_device_path): New structure.
48385 (grub_efi_vendor_device_path_t): New type.
48386 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
48387 (struct grub_efi_controller_device_path): New structure.
48388 (grub_efi_controller_device_path_t): New type.
48389 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
48390 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
48391 (struct grub_efi_acpi_device_path): New structure.
48392 (grub_efi_acpi_device_path_t): New type.
48393 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
48394 (struct grub_efi_expanded_acpi_device_path): New structure.
48395 (grub_efi_expanded_acpi_device_path_t): New type.
48396 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
48397 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
48398 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
48399 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
48400 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
48401 (struct grub_efi_atapi_device_path): New structure.
48402 (grub_efi_atapi_device_path_t): New type.
48403 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
48404 (struct grub_efi_fibre_channel_device_path): New structure.
48405 (grub_efi_fibre_channel_device_path_t): New type.
48406 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
48407 (struct grub_efi_1394_device_path): New structure.
48408 (grub_efi_1394_device_path_t): New type.
48409 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
48410 (struct grub_efi_usb_device_path): New structure.
48411 (grub_efi_usb_device_path_t): New type.
48412 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
48413 (struct grub_efi_usb_class_device_path): New structure.
48414 (grub_efi_usb_class_device_path_t): New type.
48415 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
48416 (struct grub_efi_i2o_device_path): New structure.
48417 (grub_efi_i2o_device_path_t): New type.
48418 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
48419 (struct grub_efi_mac_address_device_path): New structure.
48420 (grub_efi_mac_address_device_path_t): New type.
48421 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
48422 (struct grub_efi_ipv4_device_path): New structure.
48423 (grub_efi_ipv4_device_path_t): New type.
48424 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
48425 (struct grub_efi_ipv6_device_path): New structure.
48426 (grub_efi_ipv6_device_path_t): New type.
48427 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
48428 (struct grub_efi_infiniband_device_path): New structure.
48429 (grub_efi_infiniband_device_path_t): New type.
48430 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
48431 (struct grub_efi_uart_device_path): New structure.
48432 (grub_efi_uart_device_path_t): New type.
48433 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
48434 (struct grub_efi_vendor_messaging_device_path): New structure.
48435 (grub_efi_vendor_messaging_device_path_t): New type.
48436 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
48437 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
48438 (struct grub_efi_hard_drive_device_path): New structure.
48439 (grub_efi_hard_drive_device_path_t): New type.
48440 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
48441 (struct grub_efi_cdrom_device_path): New structure.
48442 (grub_efi_cdrom_device_path_t): New type.
48443 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
48444 (struct grub_efi_vendor_media_device_path): New structure.
48445 (grub_efi_vendor_media_device_path_t): New type.
48446 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
48447 (struct grub_efi_file_path_device_path): New structure.
48448 (grub_efi_file_path_device_path_t): New type.
48449 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
48450 (struct grub_efi_protocol_device_path): New structure.
48451 (grub_efi_protocol_device_path_t): New type.
48452 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
48453 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
48454 (struct grub_efi_bios_device_path): New structure.
48455 (grub_efi_bios_device_path_t): New type.
48456 (struct grub_efi_disk_io): New structure.
48457 (grub_efi_disk_io_t): New type.
48458 (struct grub_efi_block_io_media): New structure.
48459 (grub_efi_block_io_media_t): New type.
48460 (struct grub_efi_block_io): New structure.
48461 (grub_efi_block_io_t): New type.
48463 * include/grub/misc.h (grub_stop): Removed.
48464 (grub_exit): New prototype.
48465 (grub_abort): Likewise.
48467 * include/grub/disk.h (enum grub_disk_dev_id): Added
48468 GRUB_DISK_DEVICE_EFIDISK_ID.
48470 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
48471 disk/efi/efidisk.c.
48472 (kernel_syms.lst): Remove the target if an error occurs.
48474 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
48476 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
48477 as it was simply too buggy.
48479 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
48481 * kern/misc.c (grub_lltoa): New function.
48482 (grub_vsprintf): Added support for the long long suffix,
48485 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
48487 * Makefile.in (LDFLAGS): Add variable.
48488 (LD): Remove variable.
48489 * configure.ac: Add -m32 to LDFLAGS.
48490 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
48491 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
48492 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
48493 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
48494 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
48496 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
48497 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
48498 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
48500 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
48502 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
48503 length for unknown glyph.
48505 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48507 Add support for pre-loaded modules into the EFI port.
48509 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
48510 completely. Accept one more argument DIR. The caller has changed.
48512 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
48514 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
48515 (grub_efi_loaded_image_guid): New variable.
48516 (grub_efi_get_loaded_image): New function.
48517 (grub_arch_modules_addr): Likewise.
48519 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
48522 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
48523 (struct grub_efi_loaded_image): New structure.
48524 (grub_efi_loaded_image_t): New type.
48526 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
48528 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
48529 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
48530 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
48532 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
48534 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
48536 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
48538 * DISTLIST: Added include/grub/efi/console.h,
48539 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
48540 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48542 * include/grub/efi/console.h: New file.
48543 * include/grub/efi/time.h: Likewise.
48544 * include/grub/i386/efi/kernel.h: Likewise.
48545 * kern/efi/init.c: Likewise.
48546 * kern/efi/mm.c: Likewise.
48547 * term/efi/console.c: Likewise.
48549 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
48550 (grub_stop): Removed.
48551 (grub_get_rtc): Likewise.
48552 (grub_machine_init): Simply call grub_efi_init.
48553 (grub_machine_fini): Call grub_efi_fini.
48555 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
48556 (grub_efi_output_string): Removed.
48557 (grub_efi_stall): New function.
48558 (grub_stop): Likewise.
48559 (grub_get_rtc): Likewise.
48561 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
48562 (grub_efi_stall): New prototype.
48563 (grub_efi_allocate_pages): Likewise.
48564 (grub_efi_free_pages): Likewise.
48565 (grub_efi_get_memory_map): Likewise.
48566 (grub_efi_mm_init): Likewise.
48567 (grub_efi_mm_fini): Likewise.
48568 (grub_efi_init): Likewise.
48569 (grub_efi_fini): Likewise.
48571 * include/grub/i386/efi/time.h: Do not include
48572 grub/symbol.h. Include grub/efi/time.h.
48573 (GRUB_TICKS_PER_SECOND): Removed.
48574 (grub_get_rtc): Likewise.
48576 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
48577 Added padding. The EFI spec is buggy.
48578 (GRUB_EFI_BLACK): New macro.
48579 (GRUB_EFI_BLUE): Likewise.
48580 (GRUB_EFI_GREEN): Likewise.
48581 (GRUB_EFI_CYAN): Likewise.
48582 (GRUB_EFI_RED): Likewise.
48583 (GRUB_EFI_MAGENTA): Likewise.
48584 (GRUB_EFI_BROWN): Likewise.
48585 (GRUB_EFI_LIGHTGRAY): Likewise.
48586 (GRUB_EFI_BRIGHT): Likewise.
48587 (GRUB_EFI_DARKGRAY): Likewise.
48588 (GRUB_EFI_LIGHTBLUE): Likewise.
48589 (GRUB_EFI_LIGHTGREEN): Likewise.
48590 (GRUB_EFI_LIGHTCYAN): Likewise.
48591 (GRUB_EFI_LIGHTRED): Likewise.
48592 (GRUB_EFI_LIGHTMAGENTA): Likewise.
48593 (GRUB_EFI_YELLOW): Likewise.
48594 (GRUB_EFI_WHITE): Likewise.
48595 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
48596 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
48597 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
48598 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
48599 (GRUB_EFI_BACKGROUND_RED): Likewise.
48600 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
48601 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
48602 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
48603 (GRUB_EFI_TEXT_ATTR): Likewise.
48605 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
48606 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
48607 (kernel_mod_HEADERS): Added efi/time.h.
48609 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
48611 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
48612 include/grub/efi/api.h, include/grub/efi/console_control.h,
48613 include/grub/efi/efi.h, include/grub/efi/pe32.h,
48614 include/grub/i386/efi/time.h, kern/efi/efi.c,
48615 kern/i386/efi/init.c, kern/i386/efi/startup.S,
48616 and util/i386/efi/grub-mkimage.c.
48618 * Makefile.in (RMKFILES): Added i386-efi.rmk.
48620 * genmk.rb (PModule#rule): Do not export symbols if
48621 #{prefix}_EXPORTS is set to "no".
48623 * conf/i386-efi.mk: New file.
48624 * conf/i386-efi.rmk: Likewise.
48625 * include/grub/efi/api.h: Likewise.
48626 * include/grub/efi/console_control.h: Likewise.
48627 * include/grub/efi/efi.h: Likewise.
48628 * include/grub/efi/pe32.h: Likewise.
48629 * include/grub/i386/efi/time.h: Likewise.
48630 * kern/efi/efi.c: Likewise.
48631 * kern/i386/efi/init.c: Likewise.
48632 * kern/i386/efi/startup.S: Likewise.
48633 * util/i386/efi/grub-mkimage.c: Likewise.
48635 2006-04-17 Marco Gerards <marco@gnu.org>
48637 * include/grub/script.h: Include <grub/parser.h> and
48638 "grub_script.tab.h".
48639 (struct grub_lexer_param): New struct.
48640 (struct grub_parser_param): Likewise.
48641 (grub_script_create_arglist): Pass the state in an argument.
48642 (grub_script_add_arglist): Likewise.
48643 (grub_script_create_cmdline): Likewise.
48644 (grub_script_create_cmdblock): Likewise.
48645 (grub_script_create_cmdif): Likewise.
48646 (grub_script_create_cmdmenu): Likewise.
48647 (grub_script_add_cmd): Likewise.
48648 (grub_script_arg_add): Likewise.
48649 (grub_script_lexer_ref): Likewise.
48650 (grub_script_lexer_deref): Likewise.
48651 (grub_script_lexer_record_start): Likewise.
48652 (grub_script_lexer_record_stop): Likewise.
48653 (grub_script_mem_record): Likewise.
48654 (grub_script_mem_record_stop): Likewise.
48655 (grub_script_malloc): Likewise.
48656 (grub_script_yylex): Likewise.
48657 (grub_script_yyparse): Likewise.
48658 (grub_script_yyerror): Likewise.
48659 (grub_script_yylex): Likewise.
48660 (grub_script_lexer_init): Return the state.
48662 * normal/lexer.c (grub_script_lexer_state): Removed variable.
48663 (grub_script_lexer_done): Likewise.
48664 (grub_script_lexer_getline): Likewise.
48665 (grub_script_lexer_refs): Likewise.
48666 (script): Likewise.
48667 (newscript): Likewise.
48668 (record): Likewise.
48669 (recording): Likewise.
48670 (recordpos): Likewise.
48671 (recordlen): Likewise.
48672 (grub_script_lexer_init): Return the state instead of setting
48674 (grub_script_lexer_ref): Use the newly added argument for state
48675 instead of globals.
48676 (grub_script_lexer_deref): Likewise.
48677 (grub_script_lexer_record_start): Likewise.
48678 (grub_script_lexer_record_stop): Likewise.
48679 (recordchar): Likewise.
48680 (nextchar): Likewise.
48681 (grub_script_yylex2): Likewise.
48682 (grub_script_yylex): Likewise.
48683 (grub_script_yyerror): Likewise.
48685 * normal/parser.y (func_mem): Removed variable.
48686 (menu_entry): Likewise.
48688 (%lex-param): New parser option.
48689 (%parse-param): Likewise.
48690 (script): Always return the AST.
48691 (argument): Pass the state around.
48692 (arguments): Likewise.
48693 (grubcmd): Likewise.
48694 (commands): Likewise.
48695 (function): Likewise.
48696 (menuentry): Likewise.
48697 (if_statement): Likewise.
48700 * normal/script.c (grub_script_memused): Removed variable.
48701 (grub_script_parsed): Likewise.
48702 (grub_script_malloc): Added a state argument. Use that instead of
48704 (grub_script_mem_record): Likewise.
48705 (grub_script_mem_record_stop): Likewise.
48706 (grub_script_arg_add): Likewise.
48707 (grub_script_add_arglist): Likewise.
48708 (grub_script_create_cmdline): Likewise.
48709 (grub_script_create_cmdif): Likewise.
48710 (grub_script_create_cmdmenu): Likewise.
48711 (grub_script_add_cmd): Likewise.
48712 (grub_script_parse): Setup the state before calling the parser.
48714 2006-04-16 Marco Gerards <marco@gnu.org>
48716 * normal/command.c (grub_command_init): Remove the title command.
48718 * normal/lexer.c (grub_script_yylex): Renamed from this...
48719 (grub_script_yylex2): ... to this.
48720 (grub_script_yylex): New function. Temporary
48721 introduced to filter some tokens.
48722 (grub_script_yyerror): Print a newline.
48724 * normal/main.c (read_config_file): Output information about the
48725 lines that contain errors. Wait for a key after all lines have
48726 been processed. Don't return an empty menu.
48728 * normal/parser.y (func_mem): Don't initialize.
48729 (menu_entry): Likewise.
48730 (err): New variable.
48731 (script): Don't return anything when an error was encountered.
48732 (ws, returns): Removed rules.
48733 (argument): Disabled concatenated variable support.
48734 (arguments): Remove explicit separators.
48735 (grubcmd): Likewise.
48736 (function): Likewise.
48737 (menuentry): Likewise.
48739 (commands): Likewise. Add error handling.
48741 * normal/script.c (grub_script_create_cmdline): If
48742 `grub_script_parsed' is 0, assume the parser encountered an error.
48744 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
48746 * configure.ac: Add support for EFI. Fix the typo
48747 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
48749 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48751 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
48752 foreign multibyte characters should be shown correctly.
48754 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
48756 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
48758 (read_config_file): Made it to close file before returning.
48760 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
48762 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
48763 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
48764 video/i386/pc/vbefill.c.
48766 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
48767 video/i386/pc/vbefill.c.
48769 * include/grub/video.h (grub_video_blit_format): New enum.
48770 (grub_video_mode_info): Added new member blit_format.
48771 (grub_video_get_blit_format): New function prototype.
48773 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
48774 function prototype.
48775 (grub_video_vbe_map_rgb): Likewise.
48776 (grub_video_vbe_unmap_color): Likewise.
48778 * include/grub/i386/pc/vbeblit.h: New file.
48780 * include/grub/i386/pc/vbefill.h: New file.
48782 * video/video.c (grub_video_get_blit_format): New function.
48783 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
48784 (grub_video_vbe_map_rgb): Likewise.
48785 (grub_video_vbe_unmap_color): Likewise.
48787 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
48789 (grub_video_vbe_blit_render_target): Changed to use more optimized
48791 (grub_video_vbe_setup): Added detection for optimized settings.
48792 (grub_video_vbe_create_render_target): Likewise.
48794 * video/i386/pc/vbeblit.c: New file.
48796 * video/i386/pc/vbefill.c: New file.
48798 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
48800 * font/manager.c (grub_font_get_glyph): Removed font fixup from
48803 * util/unifont2pff.rb: ... and moved it to here. Improved argument
48804 parsing to support both hex and dec ranges. If filename was missing
48805 show usage information.
48807 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
48809 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
48810 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
48812 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
48813 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
48814 (video_mod_SOURCES): Added.
48815 (video_mod_CFLAGS): Likewise.
48816 (video_mod_LDFLAGS): Likewise.
48817 (gfxterm_mod_SOURCES): Likewise.
48818 (gfxterm_mod_CFLAGS): Likewise.
48819 (gfxterm_mod_LDFLAGS): Likewise.
48820 (videotest_mod_SOURCES): Likewise.
48821 (videotest_mod_CFLAGS): Likewise.
48822 (videotest_mod_LDFLAGS): Likewise.
48823 (vesafb_mod_SOURCES): Removed.
48824 (vesafb_mod_CFLAGS): Likewise.
48825 (vesafb_mod_LDFLAGS): Likewise.
48826 (vga_mod_SOURCES): Likewise.
48827 (vga_mod_CFLAGS): Likewise.
48828 (vga_mod_LDFLAGS): Likewise.
48830 * commands/videotest.c: New file.
48832 * font/manager.c (fill_with_default_glyph): Modified to use
48834 (grub_font_get_glyph): Likewise.
48835 (fontmanager): Renamed from this...
48836 (font_manager): ... to this.
48838 * include/grub/font.h (grub_font_glyph): Added new structure.
48839 (grub_font_get_glyph): Modified to use grub_font_glyph.
48841 * include/grub/misc.h (grub_abs): Added as inline function.
48843 * include/grub/video.h: New file.
48845 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
48846 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
48847 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
48848 (grub_vbe_get_controller_info): Renamed from this...
48849 (grub_vbe_bios_get_controller_info): ... to this.
48850 (grub_vbe_get_mode_info): Renamed from this...
48851 (grub_vbe_bios_get_mode_info): ... to this.
48852 (grub_vbe_set_mode): Renamed from this...
48853 (grub_vbe_bios_set_mode): ... to this.
48854 (grub_vbe_get_mode): Renamed from this...
48855 (grub_vbe_bios_get_mode): ... to this.
48856 (grub_vbe_set_memory_window): Renamed from this...
48857 (grub_vbe_bios_set_memory_window): ... to this.
48858 (grub_vbe_get_memory_window): Renamed from this...
48859 (grub_vbe_bios_get_memory_window): ... to this.
48860 (grub_vbe_set_scanline_length): Renamed from this...
48861 (grub_vbe_set_scanline_length): ... to this.
48862 (grub_vbe_get_scanline_length): Renamed from this...
48863 (grub_vbe_bios_get_scanline_length): ... to this.
48864 (grub_vbe_set_display_start): Renamed from this...
48865 (grub_vbe_bios_set_display_start): ... to this.
48866 (grub_vbe_get_display_start): Renamed from this...
48867 (grub_vbe_bios_get_display_start): ... to this.
48868 (grub_vbe_set_palette_data): Renamed from this...
48869 (grub_vbe_bios_set_palette_data): ... to this.
48870 (grub_vbe_set_pixel_rgb): Removed.
48871 (grub_vbe_set_pixel_index): Likewise.
48873 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
48875 (grub_vbe_bios_get_controller_info): ... to this.
48876 (grub_vbe_get_mode_info): Renamed from this...
48877 (grub_vbe_bios_get_mode_info): ... to this.
48878 (grub_vbe_set_mode): Renamed from this...
48879 (grub_vbe_bios_set_mode): ... to this.
48880 (grub_vbe_get_mode): Renamed from this...
48881 (grub_vbe_bios_get_mode): ... to this.
48882 (grub_vbe_set_memory_window): Renamed from this...
48883 (grub_vbe_bios_set_memory_window): ... to this.
48884 (grub_vbe_get_memory_window): Renamed from this...
48885 (grub_vbe_bios_get_memory_window): ... to this.
48886 (grub_vbe_set_scanline_length): Renamed from this...
48887 (grub_vbe_set_scanline_length): ... to this.
48888 (grub_vbe_get_scanline_length): Renamed from this...
48889 (grub_vbe_bios_get_scanline_length): ... to this.
48890 (grub_vbe_set_display_start): Renamed from this...
48891 (grub_vbe_bios_set_display_start): ... to this.
48892 (grub_vbe_get_display_start): Renamed from this...
48893 (grub_vbe_bios_get_display_start): ... to this.
48894 (grub_vbe_set_palette_data): Renamed from this...
48895 (grub_vbe_bios_set_palette_data): ... to this.
48896 (grub_vbe_bios_get_controller_info): Fixed problem with registers
48897 getting corrupted after calling it. Added more pushes and pops.
48898 (grub_vbe_bios_set_mode): Likewise.
48899 (grub_vbe_bios_get_mode): Likewise.
48900 (grub_vbe_bios_get_memory_window): Likewise.
48901 (grub_vbe_bios_set_scanline_length): Likewise.
48902 (grub_vbe_bios_get_scanline_length): Likewise.
48903 (grub_vbe_bios_get_display_start): Likewise.
48904 (grub_vbe_bios_set_palette_data): Likewise.
48906 * normal/cmdline.c (cl_set_pos): Refresh the screen.
48907 (cl_insert): Likewise.
48908 (cl_delete): Likewise.
48910 * term/gfxterm.c: New file.
48912 * term/i386/pc/vesafb.c: Removed file.
48914 * video/video.c: New file.
48916 * video/i386/pc/vbe.c (real2pm): Added new function.
48917 (grub_video_vbe_draw_pixel): Likewise.
48918 (grub_video_vbe_get_video_ptr): Likewise.
48919 (grub_video_vbe_get_pixel): Likewise
48920 (grub_video_vbe_init): Likewise.
48921 (grub_video_vbe_fini): Likewise.
48922 (grub_video_vbe_setup): Likewise.
48923 (grub_video_vbe_get_info): Likewise.
48924 (grub_video_vbe_set_palette): Likewise.
48925 (grub_video_vbe_get_palette): Likewise.
48926 (grub_video_vbe_set_viewport): Likewise.
48927 (grub_video_vbe_get_viewport): Likewise.
48928 (grub_video_vbe_map_color): Likewise.
48929 (grub_video_vbe_map_rgb): Likewise.
48930 (grub_video_vbe_map_rgba): Likewise.
48931 (grub_video_vbe_unmap_color): Likewise.
48932 (grub_video_vbe_fill_rect): Likewise.
48933 (grub_video_vbe_blit_glyph): Likewise.
48934 (grub_video_vbe_blit_bitmap): Likewise.
48935 (grub_video_vbe_blit_render_target): Likewise.
48936 (grub_video_vbe_scroll): Likewise.
48937 (grub_video_vbe_swap_buffers): Likewise.
48938 (grub_video_vbe_create_render_target): Likewise.
48939 (grub_video_vbe_delete_render_target): Likewise.
48940 (grub_video_vbe_set_active_render_target): Likewise.
48941 (grub_vbe_set_pixel_rgb): Remove function.
48942 (grub_vbe_set_pixel_index): Likewise.
48943 (index_color_mode): Remove static variable.
48944 (active_mode): Likewise.
48945 (framebuffer): Likewise.
48946 (bytes_per_scan_line): Likewise.
48947 (grub_video_vbe_adapter): Added new static variable.
48948 (framebuffer): Likewise.
48949 (render_target): Likewise.
48950 (initial_mode): Likewise.
48951 (mode_in_use): Likewise.
48952 (mode_list): Likewise.
48954 2006-03-10 Marco Gerards <marco@gnu.org>
48956 * configure.ac (AC_INIT): Bumped to 1.93.
48958 * DISTLIST: Added `include/grub/hfs.h'.
48960 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
48962 * boot/i386/pc/boot.S (general_error): Before looping, try INT
48963 18H, which might help the BIOS falling back to next boot media.
48965 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
48967 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
48968 Poe Chen <poe.poechen@gmail.com>.
48970 2006-01-17 Marco Gerards <marco@gnu.org>
48972 * include/grub/normal.h: Include <grub/script.h>.
48973 (grub_command_list): Removed struct.
48974 (grub_command_list_t): Removed type.
48975 (grub_menu_entry): Remove members `num' and `command_list'. Add
48976 members `commands' and `sourcecode'.
48977 * include/grub/script.h: Add inclusion guards.
48978 (grub_script_cmd_menuentry): New struct.
48979 (grub_script_execute_menuentry): New prototype.
48980 (grub_script_lexer_record_start): Likewise.
48981 (grub_script_lexer_record_stop): Likewise.
48982 * normal/execute.c (grub_script_execute_menuentry): New function.
48983 * normal/lexer.c (record, recording, recordpos, recordlen): New
48985 (grub_script_lexer_record_start): New function.
48986 (grub_script_lexer_record_stop): Likewise.
48987 (recordchar): Likewise.
48988 (nextchar): Likewise.
48989 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
48990 2048 as the buffer size. Add the tokens `menuentry' and `@'.
48991 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
48992 (current_menu): New variable.
48993 (free_menu): Mainly rewritten.
48994 (grub_normal_menu_addentry): New function.
48995 (read_config_file): Rewritten.
48996 * normal/menu.c (run_menu_entry): Mainly rewritten.
48997 * normal/menu_entry.c (make_screen): Rewritten the code to insert
48999 (run): Mainly rewritten.
49000 * normal/parser.y (menu_entry): New variable.
49001 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
49002 (menuentry): New rule.
49003 (command): Add `menuentry'.
49004 (if_statement): Allow additional returns before `fi'.
49005 * normal/script.c (grub_script_create_cmdmenu): New function.
49007 2006-01-03 Marco Gerards <marco@gnu.org>
49009 * INSTALL: GNU Bison is required.
49010 * configure.ac: Rewritten the test to detect Bison.
49011 * Makefile.in (YACC): New variable. Reported by Xun Sun
49012 <xun.sun.cn@gmail.com>.
49014 2006-01-03 Marco Gerards <marco@gnu.org>
49016 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
49017 the HFS+ filesystem to filesystem blocks.
49018 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
49019 GCC warning is silenced.
49021 2006-01-03 Marco Gerards <marco@gnu.org>
49023 * partmap/apple.c (apple_partition_map_iterate): Convert the data
49024 read from disk from big endian to host byte order.
49026 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
49028 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
49030 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
49031 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
49032 embedded HFS+ filesystem.
49033 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
49034 (grub_hfs_sblock): Move from here...
49035 * include/grub/hfs.h: To here... New file.
49036 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
49038 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
49040 (grub_hfsplus_volheader): Change type of member `magic' to
49042 (grub_hfsplus_data): Add new member `embedded_offset'.
49043 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
49045 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
49046 Calculate the offset.
49048 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49050 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
49052 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
49054 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49056 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
49057 ENV->NAME is NULL after allocating ENV->VALUE.
49059 2005-12-25 Marco Gerards <marco@gnu.org>
49061 * kern/env.c (grub_env_set): Rewritten the error handling code.
49063 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49065 * geninit.sh: Made more robust, and more portable.
49067 2005-12-25 Marco Gerards <marco@gnu.org>
49069 Add support for Apple HFS+ filesystems.
49071 * fs/hfsplus.c: New file.
49073 * DISTLIST: Added `fs/hfsplus.c'.
49075 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
49076 (hfsplus_mod_SOURCES): New variable.
49077 (hfsplus_mod_CFLAGS): Likewise.
49078 (hfsplus_mod_LDFLAGS): Likewise.
49079 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
49080 (grub_setup_SOURCES): Likewise.
49081 (grub_mkdevicemap_SOURCES): Likewise.
49082 (grub_emu_SOURCES): Likewise.
49083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
49085 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
49087 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
49089 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
49091 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
49092 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
49093 include/grub/parser.h, include/grub/script.h, kern/parser.c,
49094 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
49095 normal/lexer.c, normal/parser.y, normal/script.c, and
49097 Removed kern/sparc64/cache.c.
49099 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
49100 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
49103 * configure.ac (AC_INIT): Bumped to 1.92.
49105 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
49107 * kern/err.c (grub_error_push): Added new function to support error
49109 (grub_error_pop): Likewise.
49110 (grub_error_stack_items): New local variable to support error stacks.
49111 (grub_error_stack_pos): Likewise.
49112 (grub_error_stack_assert): Likewise.
49113 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
49115 (grub_print_error): Added support to print errors from error stack.
49117 * include/grub/err.h (grub_error_push): Added function prototype.
49118 (grub_error_pop): Likewise.
49120 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
49122 * configure.ac: Accept `powerpc64' as host_cpu.
49123 (amd64): Rename to `biarch32'.
49125 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
49126 non-cacheline-aligned addresses.
49128 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
49129 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
49130 if `size' is non-zero.
49132 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
49134 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
49135 and `cd' to make sure the filename is not prefixed with a
49137 (pkgdata_MODULES): Add `gpt.mod'.
49138 (gpt_mod_SOURCES): New variable.
49139 (gpt_mod_CFLAGS): Likewise.
49140 (gpt_mod_LDFLAGS): Likewise.
49142 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
49144 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
49147 * partmap/gpt.c: New file.
49149 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
49150 GPT partition map is detected.
49152 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
49154 * commands/i386/pc/play.c: New file.
49155 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
49156 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
49159 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
49161 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
49162 ((unused))' to silence gcc warning.
49164 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
49166 * configure.ac: Correct `AC_PROG_YACC' test.
49168 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49170 * util/powerpc/ieee1275/grub-install.in: Run the mount point
49171 check before installing files.
49173 2005-11-22 Mike Small <smallm@panix.com>
49175 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
49176 number regex so multidigit numbers are recognized correctly.
49178 2005-11-22 Mike Small <smallm@panix.com>
49180 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
49181 debugging message before attempting to claim memory.
49182 (grub_rescue_cmd_initrd): Add a claim debugging message and try
49183 multiple addresses in case of failure.
49185 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49187 * term/tparm.c (get_space): Remove empty `if' statement.
49189 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
49191 * kern/parser.c (check_varstate): Rename `state' to 's'.
49193 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49195 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
49196 variable definitions to the beginning of each function. Sort stack
49198 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
49199 `buf' argument to `char *'.
49201 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
49203 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
49204 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49205 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49206 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49207 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49208 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49209 configfile.mod, search.mod, gzio.mod and test.mod.
49210 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49211 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49212 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49213 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49214 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49215 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49216 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49217 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49218 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49219 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49220 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49221 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49222 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49223 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49224 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49225 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49226 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49227 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49228 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49229 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49230 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49231 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49232 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
49234 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
49236 (pkgdata_MODULES): Add test.mod.
49238 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49240 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
49241 appending to variables with "+=".
49242 (PModule): Use full pathname to generate *.lst filenames.
49244 * Makefile.in: Fixed list rules moved from genmk.rb.
49245 (.DELETE_ON_ERROR): New special target.
49246 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
49248 * conf/i386-pc.rmk: Include conf/common.mk.
49249 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
49250 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
49251 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
49252 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
49253 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
49254 configfile.mod, search.mod, gzio.mod and test.mod.
49255 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
49256 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
49257 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
49258 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
49259 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
49260 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
49261 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
49262 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
49263 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
49264 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
49265 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49266 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49267 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
49268 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
49269 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
49270 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
49271 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
49272 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
49273 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
49274 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
49275 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
49276 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
49277 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
49279 * conf/common.rmk: ... to here. New file.
49281 * conf/common.mk: New file.
49283 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
49285 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
49286 (grub_script.tab.c): ... here.
49288 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
49289 (grub_script.tab.c): ... here.
49291 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
49292 (grub_script.tab.c): ... here.
49294 * normal/command.c (grub_command_find): Fixed a memory leak of
49295 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
49297 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49299 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
49300 "@" which marks the start of a comment on ARM.
49301 (VARIABLE): Likewise.
49303 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49305 Add support for Linux/ADFS partition tables.
49307 * partmap/acorn.c: New file.
49309 * include/grub/acorn_filecore.h: Likewise.
49311 * DISTLIST: Added `partmap/acorn.c' and
49312 `include/grub/acorn_filecore.h'.
49314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49316 (pkgdata_MODULES): Add `acorn.mod'.
49317 (acorn_mod_SOURCES): New variable.
49318 (acorn_mod_CFLAGS): Likewise.
49320 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49322 (pkgdata_MODULES): Add `acorn.mod'.
49323 (acorn_mod_SOURCES): New variable.
49324 (acorn_mod_CFLAGS): Likewise.
49326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
49327 (pkgdata_MODULES): Add `acorn.mod'.
49328 (acorn_mod_SOURCES): New variable.
49329 (acorn_mod_CFLAGS): Likewise.
49330 (acorn_mod_LDFLAGS): Likewise.
49332 * include/types.h (grub_disk_addr_t): New typedef.
49334 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
49336 * geninit.sh: New file.
49338 * geninitheader.sh: Likewise.
49340 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
49341 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
49342 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
49343 * commands/configfile.c (grub_configfile_init)
49344 (grub_configfile_fini): Likewise.
49345 * commands/default.c (grub_default_init, grub_default_fini):
49347 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
49348 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
49349 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
49350 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
49352 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
49353 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
49355 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
49356 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
49358 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
49360 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
49362 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
49363 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
49364 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
49365 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
49366 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
49367 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
49368 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
49369 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
49370 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
49371 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
49372 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
49373 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
49374 * partmap/amiga.c (grub_amiga_partition_map_init)
49375 (grub_amiga_partition_map_fini): Likewise.
49376 * partmap/apple.c (grub_apple_partition_map_init)
49377 (grub_apple_partition_map_fini): Likewise.
49378 * partmap/pc.c (grub_pc_partition_map_init)
49379 (grub_pc_partition_map_fini): Likewise.
49380 * partmap/sun.c (grub_sun_partition_map_init,
49381 grub_sun_partition_map_fini): Likewise.
49382 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
49385 * util/grub-emu.c: Include <grub_modules_init.h>.
49386 (main): Don't initialize and de-initialize any modules directly,
49387 use `grub_init_all' and `grub_fini_all' instead.
49389 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
49390 `grub_vesafb_mod_init'.
49391 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
49393 * term/i386/pc/vga.c (grub_vga_init): Renamed to
49394 `grub_vga_mod_init'. Updated all users.
49395 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
49397 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
49398 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
49401 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
49402 Generate a function to initialize the module in utilities.
49403 Updated all callers.
49404 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
49405 initialize the module in utilities. Updated all callers.
49407 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49409 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
49410 escape sequence and a literal ^L to clear the screen.
49412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
49413 when returning from Open Firmware.
49415 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
49417 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
49418 (grub_ofconsole_height): Likewise.
49419 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
49420 manually insert a '\n'.
49421 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
49422 `grub_ofconsole_height'. Return early if these are already set.
49424 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
49426 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
49427 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
49428 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
49429 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
49430 and `normal/script.c'.
49431 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49432 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49433 (test_mod_SOURCES): New variable.
49434 (test_mod_CFLAGS): Likewise.
49435 (test_mod_LDFLAGS): Likewise.
49436 (pkgdata_MODULES): Add `test.mod'.
49437 (grub_script.tab.c): New rule.
49438 (grub_script.tab.h): Likewise.
49440 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
49442 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
49443 `commands/test.c', `normal/execute.c', `normal/lexer.c',
49444 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49445 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49446 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49447 (test_mod_SOURCES): New variable.
49448 (test_mod_CFLAGS): Likewise.
49449 (pkgdata_MODULES): Add `test.mod'.
49450 (grub_script.tab.c): New rule.
49451 (grub_script.tab.h): Likewise.
49453 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
49455 Add initial scripting support.
49457 * commands/test.c: New file.
49458 * include/grub/script.h: Likewise.
49459 * normal/execute.c: Likewise.
49460 * normal/function.c: Likewise.
49461 * normal/lexer.c: Likewise.
49462 * normal/parser.y: Likewise.
49463 * normal/script.c: Likewise.
49465 * configure.ac: Add `AC_PROG_YACC' test.
49467 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
49468 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
49469 `normal/function.c' and `normal/script.c'.
49470 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
49471 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
49472 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
49474 (pkgdata_MODULES): Add `test.mod'.
49475 (grub_script.tab.c): New rule.
49476 (grub_script.tab.h): Likewise.
49478 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
49480 * include/grub/normal.h (grub_test_init): New prototype.
49481 (grub_test_fini): Likewise.
49483 * normal/command.c: Include <grub/script.h>.
49484 (grub_command_execute): Rewritten.
49486 * util/grub-emu.c (main): Call `grub_test_init' and
49489 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49491 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
49493 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
49494 there are no pending characters.
49496 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49498 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
49499 `grub_strndup' to drop device arguments. Replace unnecessary
49500 `grub_strndup' with `grub_strdup'.
49502 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
49504 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
49505 `debug' environment variable has been set.
49507 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
49509 * Makefile.in (install-local): Use $(DATA).
49510 (uninstall): Likewise.
49511 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
49512 (sbin_UTILITIES): ... to here.
49513 (sbin_SCRIPTS): New variable.
49514 (grub_install_SOURCES): New variable.
49515 * util/powerpc/ieee1275/grub-install.in: New file.
49516 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
49518 (add_segments): Call `grub_util_get_path'.
49520 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
49522 From Timothy Baldwin:
49523 * commands/ls.c (grub_ls_list_files): Close FILE with
49525 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
49527 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
49529 * include/grub/parser.h: New file.
49531 * kern/parser.c: Likewise.
49533 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
49534 (grub_setup_SOURCES): Likewise.
49535 (grub_probefs_SOURCES): Likewise.
49536 (grub_emu_SOURCES): Likewise.
49537 (kernel_img_HEADERS): Add `parser.h'.
49539 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49540 (grub_emu_SOURCES): Add `kern/parser.c'.
49541 (grubof_SOURCES): Likewise.
49543 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
49544 (grubof_SOURCES): Add `kern/parser.c'.
49546 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
49548 * kern/misc.c (grub_split_cmdline): Removed function.
49550 * kern/rescue.c: Include <grub/parser.h>.
49551 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
49552 of `grub_split_cmdline'.
49554 * normal/command.c: Include <grub/parser.h>.
49555 (grub_command_execute): Use `grub_parser_split_cmdline' instead
49556 of `grub_split_cmdline'.
49558 * normal/completion.c: Include <grub/parser.h>.
49559 (cmdline_state): New variable.
49560 (iterate_dir): End the filename with a quote depending on the
49561 command line state.
49562 (get_state): new function.
49563 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
49564 split the arguments and determine the current argument. When the
49565 argument string is not quoted, escape all spaces.
49567 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49569 * normal/sparc64/setjmp.S: New file.
49571 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49573 * include/grub/sparc64/libgcc.h: New file.
49574 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
49575 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
49576 normal/sparc64/setjmp.c.
49578 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
49580 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
49581 * kern/sparc64/cache.S: New file.
49582 * kern/sparc64/cache.c: Removed.
49583 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
49584 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
49586 (COMMON_LDFLAGS): Add -melf64_sparc.
49587 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
49588 (grubof_SOURCES): Use cache.S instead of cache.c.
49589 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
49590 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
49591 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
49593 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
49594 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
49595 (linux_mod_CFLAGS): Commented out.
49596 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
49597 out because module isn't built.
49598 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
49599 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
49600 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
49601 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
49602 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
49603 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49604 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49605 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
49606 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
49607 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
49608 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
49609 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
49610 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
49611 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
49613 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
49615 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
49616 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
49617 longer, because HFS should not be used on PC.
49619 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
49621 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
49622 consistently within the loop.
49624 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
49626 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
49627 directory can not be read.
49629 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49631 * configure.ac (AC_INIT): Increase the version number to 1.91.
49633 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
49634 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
49635 term/i386/pc/serial.c.
49637 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49639 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
49640 file size must be permitted.
49642 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
49643 between %ah and %al.
49645 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
49647 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
49649 Call the hook with a NUL-terminated filename.
49650 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
49653 * kern/term.c (cursor_state): New variable.
49654 (grub_term_set_current): Reset the cursor state on a new
49656 (grub_setcursor): Rewritten to use CURSOR_STATE.
49657 (grub_getcursor): New function.
49659 * include/grub/term.h (grub_getcursor): New prototype.
49661 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
49662 integers on ARM. Reported by Timothy Baldwin
49663 <T.E.Baldwin99@members.leeds.ac.uk>.
49665 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
49667 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
49669 (grub_sfs_dir): Likewise.
49671 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
49673 Add support for the SFS filesystem.
49675 * fs/sfs.c: New file.
49677 * DISTLIST: Added `fs/sfs.c'.
49679 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
49680 (grub_probefs_SOURCES): Likewise.
49681 (grub_emu_SOURCES): Likewise.
49682 (pkgdata_MODULES): Add `sfs.mod'.
49683 (sfs_mod_SOURCES): New variable.
49684 (sfs_mod_CFLAGS): Likewise.
49685 (sfs_mod_LDFLAGS): Likewise.
49687 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
49688 (pkgdata_MODULES): Add `sfs.mod'.
49689 (sfs_mod_SOURCES): New variable.
49690 (sfs_mod_CFLAGS): Likewise.
49692 * util/grub-emu.c (main): Call `grub_sfs_init' and
49695 * include/grub/fs.h (grub_sfs_init): New prototype.
49696 (grub_sfs_fini): Likewise.
49698 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
49700 Add support for the AFFS filesystem.
49702 * fs/affs.c: New file.
49704 * DISTLIST: Added `fs/affs.c'.
49706 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
49707 (grub_probefs_SOURCES): Likewise.
49708 (grub_emu_SOURCES): Likewise.
49709 (pkgdata_MODULES): Add `affs.mod'.
49710 (affs_mod_SOURCES): New variable.
49711 (affs_mod_CFLAGS): Likewise.
49712 (affs_mod_LDFLAGS): Likewise.
49714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
49715 (pkgdata_MODULES): Add `affs.mod'.
49716 (affs_mod_SOURCES): New variable.
49717 (affs_mod_CFLAGS): Likewise.
49719 * util/grub-emu.c (main): Call `grub_affs_init' and
49722 * include/grub/fs.h (grub_affs_init): New prototype.
49723 (grub_affs_fini): Likewise.
49725 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49727 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
49729 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
49731 * configure.ac: Accept `x86_64' as host_cpu. In that case add
49734 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
49737 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
49738 (COMMON_LDFLAGS): New variable.
49739 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
49740 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
49741 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
49742 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
49743 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
49744 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
49745 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
49746 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
49747 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
49748 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
49749 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
49750 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
49751 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
49752 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
49753 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
49755 (normal_mod_ASFLAGS): Add `-m32'.
49757 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
49758 (grub_host_size_t, grub_host_ssize_t): New types.
49759 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
49760 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
49761 `GRUB_HOST_SIZEOF_VOID_P'.
49763 * include/grub/kernel.h (struct grub_module_header): Type of
49764 member offset changed to `grub_host_off_t'. Type of member size
49765 changed to `grub_host_size_t'.
49766 (struct grub_module_info): Type of member offset changed to
49767 `grub_host_off_t'. Type of member size changed to
49768 `grub_host_size_t'.
49770 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
49772 Make GRUB's kernel compliant to Multiboot Specification.
49774 * kern/i386/pc/startup.S (multiboot_header): New label.
49775 (multiboot_entry): Likewise.
49776 (multiboot_trampoline): Likewise.
49778 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
49779 Increased to 0x4A0.
49781 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
49782 put parentheses after a question mark.
49783 [!GRUB_UTIL] (my_mod): New variable.
49785 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
49787 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
49789 Adds support for the XFS filesystem. Btrees are not supported
49792 * fs/xfs.c: New file.
49794 * DISTLIST: Added `fs/xfs.c'.
49796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
49797 (grub_probefs_SOURCES): Likewise.
49798 (grub_emu_SOURCES): Likewise.
49799 (pkgdata_MODULES): Add `xfs.mod'.
49800 (xfs_mod_SOURCES): New variable.
49801 (xfs_mod_CFLAGS): Likewise.
49803 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
49804 (pkgdata_MODULES): Add `xfs.mod'.
49805 (xfs_mod_SOURCES): New variable.
49806 (xfs_mod_CFLAGS): Likewise.
49808 * util/grub-emu.c (main): Call `grub_xfs_init' and
49811 * include/grub/fs.h (grub_xfs_init): New prototype.
49812 (grub_xfs_fini): Likewise.
49815 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
49817 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
49818 color modes, allow greater than 16 colors to be configured as
49821 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
49823 * normal/completion.c (complete_arguments): Add the qualifier
49824 const into OPTIONS.
49826 From Omniflux <omniflux+lists@omniflux.com>:
49827 * include/grub/terminfo.h: New file.
49828 * include/grub/tparm.h: Likewise.
49829 * include/grub/i386/pc/serial.h: Likewise.
49830 * term/terminfo.c: Likewise.
49831 * term/tparm.c: Likewise.
49832 * term/i386/pc/serial.c: Likewise.
49833 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
49835 (terminfo_mod_SOURCES): New variable.
49836 (terminfo_mod_CFLAGS): Likewise.
49837 (serial_mod_SOURCES): Likewise.
49838 (serial_mod_CFLAGS): Likewise.
49840 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
49842 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
49843 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
49844 and kern/powerpc/ieee1275/cmain.c, respectively.
49846 * boot/powerpc/ieee1275/crt0.S: Moved to ...
49847 * kern/powerpc/ieee1275/crt0.S: ... here.
49849 * boot/powerpc/ieee1275/cmain.c: Moved to ...
49850 * kern/powerpc/ieee1275/cmain.c: ... here.
49852 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
49853 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
49854 instead of boot/powerpc/ieee1275/crt0.S and
49855 boot/powerpc/ieee1275/cmain.c, respectively.
49857 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
49858 sectors. It was not used anyway.
49860 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49862 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
49863 `unused parameter' warning.
49865 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
49867 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
49869 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
49872 2005-08-28 Marco Gerards <metgerards@student.han.nl>
49874 * include/grub/normal.h (enum grub_completion_type): Added
49875 `GRUB_COMPLETION_TYPE_ARGUMENT'.
49877 * normal/cmdline.c (print_completion): Handle
49878 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
49879 * normal/menu_entry.c (store_completion): Likewise.
49881 * normal/completion.c (complete_arguments): New function.
49882 (grub_normal_do_completion): Call `complete_arguments' when the
49883 current words start with a dash.
49885 2005-08-27 Marco Gerards <metgerards@student.han.nl>
49887 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
49888 `gzio.mod' instead of `io.mod').
49890 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
49892 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
49893 (DISTDIRS): Added io and video.
49894 Rewrite the search routine to make an output consistently.
49896 * DISTLIST: Added conf/sparc64-ieee1275.mk,
49897 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
49898 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
49899 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
49900 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
49901 util/powerpc/ieee1275/misc.c.
49903 * include/grub/gzio.h: New file.
49904 * io/gzio.c: Likewise.
49906 * kern/file.c (grub_file_close): Call grub_device_close only if
49907 FILE->DEVICE is not NULL.
49909 * include/grub/mm.h [!NULL] (NULL): New macro.
49911 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
49913 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
49914 (pkgdata_MODULES): Added gzio.mod.
49915 (gzio_mod_SOURCES): New variable.
49916 (gzio_mod_CFLAGS): Likewise.
49918 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
49919 (pkgdata_MODULES): Added gzio.mod.
49920 (gzio_mod_SOURCES): New variable.
49921 (gzio_mod_CFLAGS): Likewise.
49923 * commands/cat.c: Include grub/gzio.h.
49924 (grub_cmd_cat): Use grub_gzfile_open instead of
49927 * commands/cmp.c: Include grub/gzio.h.
49928 (grub_cmd_cmp): Use grub_gzfile_open instead of
49931 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
49932 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
49934 (grub_rescue_cmd_module): Likewise.
49936 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49938 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
49939 kern/sparc64/ieee1275/init.c because it contains _start.
49940 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
49942 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
49944 * configure.ac: Add support for sparc64 host with ieee1275
49946 * configure: Generated from configure.ac.
49947 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
49949 (grub_ofdisk_read): Likewise.
49950 (grub_ofdisk_open): Use %p to print pointer values, and cast the
49951 pointers as (void *) to remove a warning.
49952 (grub_ofdisk_close): Likewise.
49953 (grub_ofdisk_read): Likewise.
49954 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
49955 returns, so make it return void to remove a warning.
49956 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
49957 Corresponding prototype change.
49958 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
49959 values, and cast the pointers as (void *) to remove a warning.
49960 (grub_mm_dump): Likewise.
49961 * conf/sparc64-ieee1275.mk: New file.
49962 * conf/sparc64-ieee1275.rmk: Likewise.
49963 * include/grub/sparc64/setjmp.h: Likewise.
49964 * include/grub/sparc64/types.h: Likewise.
49965 * include/grub/sparc64/ieee1275/console.h: Likewise.
49966 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
49967 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
49968 * include/grub/sparc64/ieee1275/time.h: Likewise.
49969 * kern/sparc64/cache.c: Likewise.
49970 * kern/sparc64/dl.c: Likewise.
49971 * kern/sparc64/ieee1275/init.c: Likewise.
49972 * kern/sparc64/ieee1275/openfw.c: Likewise.
49974 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
49976 * util/console.c (grub_ncurses_putchar): If C is greater than
49977 0x7f, set C to a question mark.
49978 (grub_ncurses_getcharwidth): New function.
49979 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
49982 * normal/menu.c (print_entry): Made aware of Unicode. First,
49983 convert TITLE to UCS-4, and predict the cursor position by
49986 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
49988 * kern/misc.c (grub_utf16_to_utf8): Likewise.
49990 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
49992 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
49993 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49996 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
49997 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
49998 grub_strcpy and grub_strlen. Take it into account that a space
49999 character is inserted as a delimiter.
50001 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50003 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
50004 invalid magic in the error.
50006 * commands/search.c: New file.
50008 * util/grub-emu.c (main): Call grub_search_init and
50011 * kern/rescue.c (grub_rescue_print_disks): Removed.
50012 (grub_rescue_print_devices): New function.
50013 (grub_rescue_cmd_ls): Use grub_device_iterate with
50014 grub_rescue_print_devices instead of grub_disk_dev_iterate with
50015 grub_rescue_print_disks.
50017 * kern/partition.c (grub_partition_iterate): Return the result of
50018 PARTMAP->ITERATE instead of GRUB_ERRNO.
50020 * kern/device.c: Include grub/partition.h.
50021 (grub_device_iterate): New function.
50023 * include/grub/partition.h (grub_partition_iterate): Return int
50024 instead of grub_err_t.
50026 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
50028 [GRUB_UTIL] (grub_search_fini): Likewise.
50030 * include/grub/device.h (grub_device_iterate): New prototype.
50032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50034 (pkgdata_MODULES): Added search.mod.
50035 (search_mod_SOURCES): New variable.
50036 (search_mod_CFLAGS): Likewise.
50038 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
50039 (pkgdata_MODULES): Added search.mod.
50040 (search_mod_SOURCES): New variable.
50041 (search_mod_CFLAGS): Likewise.
50043 * commands/ls.c (grub_ls_list_disks): Renamed to ...
50044 (grub_ls_list_devices): ... this, and use grub_device_iterate.
50045 All callers changed.
50047 * DISTLIST: Added commands/search.c.
50049 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
50051 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
50053 (grub_getcharwidth): New function.
50055 * kern/misc.c (grub_utf8_to_ucs4): New function.
50057 * include/grub/term.h (struct grub_term): Added a new member
50059 (grub_getcharwidth): New prototype.
50061 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
50063 * term/i386/pc/console.c (map_char): New function. Segregated from
50064 grub_console_putchar.
50065 (grub_console_putchar): Use map_char.
50066 (grub_console_getcharwidth): New function.
50067 (grub_console_term): Specified grub_console_getcharwidth as
50070 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
50071 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
50073 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
50075 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
50076 on grub_strtoul completely.
50077 (write_char): Declare local variables in the beginning of the
50079 (grub_vesafb_getcharwidth): New function.
50080 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
50083 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
50085 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
50086 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
50087 commands/i386/pc/vbetest.c.
50089 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
50090 call grub_vbe_get_controller_info again, because the returned
50091 information is volatile.
50092 (grub_vbe_set_video_mode): Mostly rewritten.
50093 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
50094 grub_vbe_status_t correctly.
50095 (grub_vbe_get_video_mode_info): Likewise.
50096 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
50097 several if statements.
50099 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
50100 * commands/i386/pc/vbeinfo.c: ... this.
50102 * commands/i386/pc/vbe_test.c: Renamed to ...
50103 * commands/i386/pc/vbetest.c: ... this.
50105 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
50107 (grub_cmd_vbeinfo): ... this. Save video modes before
50108 iterating. Skip a video mode, if it is not available, not enough
50109 information is given or it is monochrome. Show the memory
50110 model. Leave the interpretation of MODEVAR to grub_strtoul
50112 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
50113 (GRUB_MOD_FINI): Likewise.
50115 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
50116 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
50117 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
50118 duplicated grub_env_get. Leave the interpretation of MODEVAR to
50119 grub_strtoul completely.
50120 (real2pm): Removed.
50121 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
50122 (GRUB_MOD_FINI): Likewise.
50124 * normal/misc.c: Include grub/mm.h.
50126 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
50127 vbe_list_modes with vbetest.mod and vbeinfo.mod.
50128 (vbe_list_modes_mod_SOURCES): Removed.
50129 (vbe_list_modes_mod_CFLAGS): Likewise.
50130 (vbe_test_mod_SOURCES): Likewise.
50131 (vbe_test_mod_CFLAGS): Likewise.
50132 (vbeinfo_mod_SOURCES): New variable.
50133 (vbeinfo_mod_CFLAGS): Likewise.
50134 (vbetest_mod_SOURCES): Likewise.
50135 (vbetest_mod_CFLAGS): Likewise.
50137 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
50139 * normal/misc.c: New file.
50141 * DISTLIST: Added normal/misc.c.
50143 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
50144 DISK to HOOK. Call HOOK with DISK.
50145 * partmap/apple.c (apple_partition_map_iterate): Likewise.
50146 * partmap/pc.c (pc_partition_map_iterate): Likewise.
50147 * partmap/sun.c (sun_partition_map_iterate): Likewise.
50149 * normal/menu_entry.c (struct screen): Added a new member
50150 "completion_shown".
50151 (completion_buffer): New global variable.
50152 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
50153 (store_completion): New function.
50154 (complete): Likewise.
50155 (clear_completions): Likewise.
50156 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
50157 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
50158 a tab, call complete.
50160 * normal/completion.c (disk_dev): Removed.
50161 (print_simple_completion): Likewise.
50162 (print_partition_completion): Likewise.
50163 (print_func): New global variable.
50164 (add_completion): Do not take the arguments WHAT or PRINT any
50165 longer. Added a new argument TYPE. Instead of printing directly,
50166 call PRINT_FUNC if not NULL.
50167 All callers changed.
50168 (complete_device): Use a local variable DEV instead of
50169 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
50170 (grub_normal_do_completion): Take a new argument HOOK. Do not
50171 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
50172 empty string, return NULL instead.
50173 All callers changed.
50175 * normal/cmdline.c (print_completion): New function.
50177 * kern/partition.c (grub_partition_iterate): Add an argument DISK
50179 All callers changed.
50181 * kern/disk.c (grub_print_partinfo): Removed.
50183 * include/grub/partition.h (struct grub_partition_map): Add a new
50184 argument DISK into HOOK of ITERATE.
50185 (grub_partition_iterate): Add a new argument DISK to HOOK.
50187 * include/grub/normal.h (enum grub_completion_type): New enum.
50188 (grub_completion_type_t): New type.
50189 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
50190 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
50191 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
50192 (GRUB_COMPLETION_TYPE_FILE): Likewise.
50193 (grub_normal_do_completion): Added a new argument HOOK.
50194 (grub_normal_print_device_info): New prototype.
50196 * include/grub/disk.h (grub_print_partinfo): Removed.
50198 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
50199 (normal_mod_SOURCES): Likewise.
50200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
50201 (normal_mod_SOURCES): Likewise.
50203 * commands/ls.c (grub_ls_list_disks): Use
50204 grub_normal_print_device_info instead of grub_print_partinfo. Free
50206 (grub_ls_list_files): Use grub_normal_print_device_info instead of
50207 duplicating the code.
50209 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50211 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
50212 follow GCS more precisely.
50213 * commands/i386/pc/vbe_test.c: Likewise.
50214 * include/grub/i386/pc/vbe.h: Likewise.
50215 * term/i386/pc/vesafb.c: Likewise.
50216 * video/i386/pc/vbe.c: Likewise.
50218 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
50220 * DISTLIST: Added term/i386/pc/vesafb.c
50221 DISTLIST: Added video/i386/pc/vbe.c
50222 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
50223 DISTLIST: Added commands/i386/pc/vbe_test.c.
50224 * commands/i386/pc/vbe_list_modes.c: New file.
50225 * commands/i386/pc/vbe_test.c: Likewise.
50226 * term/i386/pc/vesafb.c: Likewise.
50227 * video/i386/pc/vbe.c: Likewise.
50228 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
50229 (grub_vbe_probe) Added prototype.
50230 (grub_vbe_set_video_mode) Likewise.
50231 (grub_vbe_get_video_mode) Likewise.
50232 (grub_vbe_get_video_mode_info) Likewise.
50233 (grub_vbe_set_pixel_rgb) Likewise.
50234 (grub_vbe_set_pixel_index) Likewise.
50235 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
50236 (pkgdata_MODULES): Added vesafb.mod.
50237 (pkgdata_MODULES): Added vbe_list_modes.mod.
50238 (pkgdata_MODULES): Added vbe_test.mod.
50239 (vbe_mod_SOURCES): Added.
50240 (vbe_mod_CFLAGS): Likewise.
50241 (vesafb_mod_SOURCES): Likewise.
50242 (vesafb_mod_CFLAGS): Likewise.
50243 (vbe_list_modes_mod_SOURCES): Likewise.
50244 (vbe_list_modes_mod_CFLAGS): Likewise.
50245 (vbe_test_mod_SOURCES): Likewise.
50246 (vbe_test_mod_CFLAGS): Likewise.
50248 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
50250 * normal/command.c (grub_command_execute): If INTERACTIVE is
50251 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
50252 CMDLINE. Disable the pager if INTERACTIVE is true.
50253 All callers are changed.
50255 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
50256 before reading a config file.
50257 * normal/main.c (read_config_file): Even if a command is not
50258 found, register it if it is within an entry.
50260 * util/grub-emu.c: Include sys/types.h and unistd.h.
50261 (options): Added --hold.
50262 (struct arguments): Added a new member "hold".
50263 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
50265 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
50266 cleared by a debugger, if it is not zero.
50268 * include/grub/normal.h (grub_command_execute): Add an argument
50271 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
50273 * DISTLIST: Added include/grub/i386/pc/vbe.h.
50275 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
50277 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
50278 program with another one, because the old one didn't detect a bug
50279 in gcc-3.4. Always use regparm 2, because the new test is still
50280 not enough for gcc-4.0. Someone must investigate a simple test
50281 case which detects a bug in gcc-4.0.
50283 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
50285 * DISTLIST: Added normal/completion.c.
50287 * normal/completion.c: New file.
50289 * term/i386/pc/console.c (grub_console_getwh): New function.
50290 (grub_console_term): Assign grub_console_getwh to getwh.
50292 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
50293 function is defined in normal/completion.c as
50294 grub_normal_do_completion.
50295 (grub_cmdline_get): Use grub_normal_do_completion instead of
50298 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
50299 returns non-zero, otherwise return 0.
50300 (grub_partition_iterate): First, probe the partition map. Then,
50301 call ITERATE only for this partition map.
50303 * kern/misc.c (grub_strncmp): Rewritten.
50305 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
50306 returns non-zero. Otherwise return 0.
50308 * include/grub/partition.h (grub_partition_map_iterate): Return
50309 int instead of void.
50311 * include/grub/normal.h (grub_normal_do_completion): New prototype.
50313 * include/grub/misc.h (grub_strncmp): Change the type of N to
50316 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
50319 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
50320 unsigned explicitly before comparing it with I.
50322 * kern/main.c (grub_env_write_root): Add the attribute unused into
50325 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
50326 normal/completion.c.
50327 (normal_mod_SOURCES): Likewise.
50328 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
50329 (normal_mod_SOURCES): Likewise.
50331 * normal/command.c (grub_iterate_commands): If ITERATE returns
50332 non-zero, return one immediately.
50334 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
50336 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
50337 * kern/i386/pc/startup.S: Updated Global Descriptor table's
50339 (grub_vbe_get_controller_info): New function.
50340 (grub_vbe_get_mode_info): Likewise.
50341 (grub_vbe_set_mode): Likewise.
50342 (grub_vbe_get_mode): Likewise.
50343 (grub_vbe_set_memory_window): Likewise.
50344 (grub_vbe_get_memory_window): Likewise.
50345 (grub_vbe_set_scanline_length): Likewise.
50346 (grub_vbe_get_scanline_length): Likewise.
50347 (grub_vbe_set_display_start): Likewise.
50348 (grub_vbe_get_display_start): Likewise.
50349 (grub_vbe_set_palette_data): Likewise.
50350 * include/grub/i386/pc/vbe.h: New file.
50352 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50354 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50355 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
50356 * DISTLIST: Likewise.
50357 * kern/ieee1275/of.c: Moved to ...
50358 * kern/ieee1275/ieee1275.c: ... here.
50360 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50362 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
50363 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
50364 Pass 0 as `end' parameter to grub_strtoul().
50366 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
50368 * include/grub/powerpc/ieee1275/console.h: Do not include
50369 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
50371 (grub_console_cur_color): Remove i386-specific prototype.
50372 (grub_console_real_putchar): Likewise.
50373 (grub_console_checkkey): Likewise.
50374 (grub_console_getkey): Likewise.
50375 (grub_console_getxy): Likewise.
50376 (grub_console_gotoxy): Likewise.
50377 (grub_console_cls): Likewise.
50378 (grub_console_setcursor): Likewise.
50379 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
50380 Include <grub/machine/console.h>.
50381 * term/ieee1275/ofconsole.c: Likewise.
50383 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
50385 * Makefile.in (LIBLZO): New variable.
50387 * configure.ac: Check for LZO version 2.
50389 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
50390 lzo/lzo1x.h instead of lzo1x.h.
50392 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
50395 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
50396 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
50398 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
50399 copying the data from PARTITION to P.
50401 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50403 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
50404 negative, unload the module.
50406 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
50407 map is "pc_partition_map" but not "pc".
50408 (usage): Fix the description. The options are --boot-image and
50409 --core-image but not --boot-file or --core-file.
50410 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
50411 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
50414 * util/i386/pc/grub-install.in: Do not specify --boot-file or
50415 --core-file. Specify INSTALL_DEVICE as an argument.
50417 * util/console.c: Include config.h.
50418 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
50419 [HAVE_NCURSES_H]: Include ncurses.h.
50420 [HAVE_CURSES_H]: Include curses.h.
50421 [!A_NORMAL] (A_NORMAL): Defined as zero.
50422 [!A_STANDOUT] (A_STANDOUT): Likewise.
50424 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
50426 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
50428 * configure.ac: Check for curses libraries and headers.
50430 * Makefile.in (LIBCURSES): New variable.
50432 * genmk.rb (Script::rule): Set the executable bits.
50434 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
50435 name of the PC partition map is "pc_partition_map" but not "pc".
50437 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50439 * util/i386/pc/grub-install.in (grub_probefs): New variable.
50440 (modules): Likewise.
50441 (usage): Added descriptions for --modules and --grub-probefs.
50442 Handle --modules and --grub-probefs. Save the arguments in MODULES
50443 and GRUB_PROBEFS, respectively.
50444 Auto-detect a filesystem module against GRUBDIR. If the result is
50445 empty and modules are not specified explicitly, abort the
50446 installation. Add the result to MODULES.
50448 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
50449 disk/powerpc/ieee1275/ofdisk.c,
50450 include/grub/powerpc/ieee1275/init.h and
50451 term/powerpc/ieee1275/ofconsole.c.
50452 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
50453 term/ieee1275/ofconsole.c.
50455 * include/grub/powerpc/ieee1275/console.h: Resurrected.
50457 * COPYING: Upgraded to the latest version. Only the address of the
50458 FSF office has changed.
50460 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
50462 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
50463 kern/ieee1275.c with kern/ieee1275/of.c.
50465 * kern/ieee1275.c: Moved to ...
50466 * kern/ieee1275/of.c: ... here.
50468 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
50470 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
50473 * config.guess: Updated to the latest version from gnulib.
50474 * config.sub: Likewise.
50475 * install.sh: Likewise.
50476 * mkinstalldirs: Likewise.
50478 * include/grub/console.h: Removed. This file is arch-specific. Do
50479 not put this in include/grub.
50481 * include/grub/i386/pc/console.h: Resurrected.
50483 * util/console.c: Include grub/machine/console.h instead of
50485 * util/grub-emu.c: Likewise.
50487 2005-08-04 Marco Gerards <metgerards@student.han.nl>
50489 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
50492 From Vincent Pelletier <subdino2004@yahoo.fr>
50493 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
50494 Redefined to use grub_getwh.
50495 (grub_term): New member named getwh.
50496 (grub_getwh): New prototype.
50497 * kern/term.c (grub_getwh): New function.
50498 * term/i386/pc/console.c (grub_console_getwh): New function.
50499 (grub_console_term): New member `getwh'.
50500 * term/i386/pc/vga.c (grub_vga_getwh): New function.
50501 (grub_vga_term): New member `getwh'.
50502 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
50504 (grub_ofconsole_getw): New function.
50505 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
50506 (grub_ofconsole_term): New field named getwh and new initial
50509 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
50511 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
50512 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
50513 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
50514 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
50515 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
50516 of <grub/machine/ieee1275.h>.
50517 * commands/ieee1275/reboot.c: Likewise.
50518 * boot/powerpc/ieee1275/ieee1275.c: Move ...
50519 * kern/ieee1275.c: ... to here. All users updated. Change all
50520 parameter structs to use new type `grub_ieee1275_cell_t'.
50521 * term/powerpc/ieee1275/ofconsole.c: Move ...
50522 * term/ieee1275/ofconsole.c: ... to here. All users updated.
50523 * disk/powerpc/ieee1275/ofdisk.c: Move ...
50524 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
50525 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
50527 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
50528 Remove unused prototypes. All users updated.
50529 * include/grub/powerpc/ieee1275/console.h: Removed.
50530 * include/grub/powerpc/ieee1275/ieee1275.h: Define
50531 `grub_ieee1275_cell_t'.
50532 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
50533 Cast comparisons with -1 to the correct type.
50534 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
50535 type to match `grub_ieee1275_entry_fn'.
50537 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
50539 * DISTLIST: Added util/i386/pc/grub-probefs.c.
50541 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
50542 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
50544 (grub_probefs_SOURCES): New variable.
50546 * util/i386/pc/grub-probefs.c: New file.
50548 * util/i386/pc/grub-setup.c (main): Call
50549 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
50550 grub_hfs_init and grub_jfs_init to initialize the system. Call
50551 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
50552 grub_pc_partition_map_fini to finish the system.
50554 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
50556 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
50558 (grub_multiboot_load_elf32): Likewise.
50559 (grub_multiboot_is_elf64): Likewise.
50560 (grub_multiboot_load_elf64): Likewise.
50561 (grub_multiboot_load_elf): Likewise.
50562 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
50563 an ELF32 or ELF64 file.
50564 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
50566 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
50567 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
50568 NULL before calling FS->LABEL.
50569 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
50570 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
50571 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
50572 before calling FS->LABEL.
50574 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
50576 * util/i386/pc/grub-install.in (datadir): New variable.
50578 (pkgdatadir): New variable.
50579 (pkglibdir): Removed.
50581 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
50583 * DISTLIST: Added util/i386/pc/grub-install.in.
50585 * util/i386/pc/grub-install.in: New file.
50587 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
50588 (grub_install_SOURCES): Likewise.
50590 * genmk.rb: Added support for scripts.
50591 (Script): New class.
50592 (scripts): New variable.
50594 * Makefile.in (install-local): Install sbin_SCRIPTS by
50596 (uninstall): Remove sbin_SCRIPTS.
50598 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
50599 device, try to get a GRUB device by
50600 grub_util_biosdisk_get_grub_dev.
50603 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
50604 description for --device-map.
50606 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50608 Change the semantics of variable hooks. They now return strings
50609 instead of error values.
50611 * util/i386/pc/grub-setup.c: Include grub/env.h.
50612 (setup): Use grub_device_set_root instead of grub_env_set.
50614 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
50615 grub_env_get instead of grub_device_set_root and
50616 grub_device_get_root, respectively.
50618 * kern/main.c (grub_env_write_root): New function.
50619 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
50620 grub_env_set instead of grub_device_set_root.
50622 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
50624 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
50625 rather than calling ENV->WRITE_HOOK afterwards.
50626 (grub_env_get): Return the result of ENV->READ_HOOK rather than
50627 passing a pointer of a pointer.
50628 (grub_register_variable_hook): Change the types of "read_hook" and
50629 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
50631 Allocate the default empty string on the heap, because this string
50632 may be freed later.
50634 * kern/device.c: Include grub/env.h.
50635 (grub_device_set_root): Removed.
50636 (grub_device_get_root): Likewise.
50637 (grub_device_open): Use grub_env_get instead of
50638 grub_device_get_root.
50640 * include/grub/env.h (grub_env_read_hook_t): New type.
50641 (grub_env_write_hook_t): Likewise.
50642 (grub_env_var): Change the types of "read_hook" and "write_hook"
50643 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
50644 (grub_register_variable_hook): Likewise.
50646 * include/grub/device.h (grub_device_set_root): Removed.
50647 (grub_device_set_root): Likewise.
50649 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
50650 make sure that DIRNAME terminates with '/', so that
50651 grub_fat_find_dir will fail if PATH is not a directory.
50653 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
50655 Use the qualifier auto for print_files and print_files_long.
50656 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
50658 Put a newline only if there is no error.
50659 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
50662 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
50664 * kern/partition.c (grub_partition_probe): Initialize PART to
50665 NULL. Otherwise, when no partition map is registered, this returns
50668 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
50670 * partmap/apple.c (apple_partition_map_iterate): Check if POS
50671 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
50674 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
50676 * commands/ls.c (grub_ls_list_disks): Print the filesystem
50677 information on each device, if it does not have partitions. Print
50678 "Device" instead of "Disk", because this function is not specific
50681 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
50682 static to ensure that it is put on the memory rather than a
50685 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50687 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
50688 (grub_cat_init): Likewise.
50689 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
50690 (options): Likewise.
50691 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
50692 (grub_configfile_init): Likewise.
50693 * font/manager.c (GRUB_MOD_INIT): Likewise.
50694 * commands/help.c (GRUB_MOD_INIT): Likewise.
50695 (grub_help_init): Likewise.
50696 * normal/command.c (grub_command_init): Likewise.
50697 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
50698 * disk/loopback.c (grub_loop_init): Likewise.
50699 (GRUB_MOD_INIT): Likewise.
50700 * commands/ls.c (grub_ls_init): Likewise.
50701 (GRUB_MOD_INIT): Likewise.
50702 (options): Likewise.
50703 * commands/boot.c (grub_boot_init): Likewise.
50704 (GRUB_MOD_INIT): Likewise.
50705 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
50706 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
50707 (GRUB_MOD_INIT): Likewise.
50708 * commands/cmp.c (grub_cmp_init): Likewise.
50709 (GRUB_MOD_INIT): Likewise.
50711 * normal/arg.c: Use <> instead of "" to include header files.
50712 (SHORT_ARG_HELP): New macro.
50713 (SHORT_ARG_USAGE): Likewise.
50714 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
50715 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
50717 (find_short): Check if C is 'h' or 'u' explicitly.
50718 (grub_arg_show_help): Use space characters instead of tabs. Treat
50719 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
50720 are shown with --help and --usage only if they are not used for
50721 the command itself.
50722 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
50725 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
50726 const into "longarg". Change the type of "shortarg" to int.
50728 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50730 * boot/i386/pc/boot.S (boot_drive_check): New label.
50732 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
50735 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
50736 which do not pass a boot drive correctly. Copied from GRUB Legacy.
50738 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50740 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
50741 When turning off Gate A20, skip the check and return immediately,
50742 because this is not fatal usually.
50744 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
50746 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
50747 be 0x7C00 instead of 0x8000.
50749 * boot/i386/pc/pxeboot.S: Rewritten.
50751 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
50753 (gate_a20_check_state): Read a byte from 0x108000. Invert the
50756 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
50758 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
50759 robustness. This routine now supports a BIOS call and System
50760 Control Port A to modify the gate A20.
50762 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
50763 Increased to 0x440.
50765 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
50767 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
50768 device path and resulting ihandle.
50769 (grub_ofdisk_close): dprintf the ihandle being closed.
50770 (grub_ofdisk_read): dprintf function parameters.
50771 * kern/mm.c (grub_mm_init_region): Likewise.
50772 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
50773 (grub_linux_boot): dprintf the Linux entry point, initrd address and
50774 size, and boot arguments.
50775 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
50776 before loading into memory.
50777 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
50778 before loading into memory.
50780 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
50782 * kern/mm.c: Added much documentation.
50783 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
50784 8, set to 5 instead of 8.
50786 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50788 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
50790 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
50791 (grub_mkdevicemap_SOURCES): New variable.
50793 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
50794 lib/device.c of GRUB Legacy.
50796 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
50798 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
50799 instead of PATH is NULL.
50801 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
50803 * commands/cmp.c (BUFFER_SIZE): New macro.
50804 (grub_cmd_cmp): Close the right file at the right time. Compare
50805 only data just read. Don't report files of different size as
50806 identical. Dynamically allocate buffers. Move variable
50807 declarations at the beginning of function.
50809 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
50811 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
50814 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
50816 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
50817 when backspace is pressed at beginning of line.
50819 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
50821 * DISTLIST: Added genfslist.sh.
50823 * normal/main.c (fs_module_list): New variable.
50824 (autoload_fs_module): New function.
50825 (read_fs_list): Likewise.
50826 (grub_normal_execute): Call read_fs_list.
50828 * kern/fs.c (grub_fs_autoload_hook): New variable.
50829 (grub_fs_probe): Added support for auto-loading.
50831 * include/grub/normal.h (struct grub_fs_module_list): New struct.
50832 (grub_fs_module_list_t): New type.
50834 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
50835 (grub_fs_autoload_hook): New prototype.
50837 * genfslist.sh: New file.
50839 * genmk.rb: Added a rule to generate a filesystem list.
50841 2005-06-30 Marco Gerards <metgerards@student.han.nl>
50843 * configure.ac: Fix the test for cross-compiling.
50845 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
50846 define GRUB_UTIL anymore.
50848 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
50849 so this function works on other systems than just big endian.
50850 (load_modules): Likewise.
50851 (add_segments): Likewise.
50853 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
50855 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
50856 contains `l' modifier, get a long from va_arg().
50858 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
50860 * kern/mm.c (grub_free): If the next free block which is being
50861 merged is the first free block, set the first block to the block
50863 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
50865 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50867 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
50868 `grub_ieee1275_chosen'.
50870 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
50872 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
50873 (grub_ieee1275_chosen): New variable.
50874 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
50876 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
50877 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
50878 Rename first argument to `phandle' for consistency.
50879 (grub_ieee1275_get_property_length): Likewise.
50880 (grub_ieee1275_next_property): Likewise. Change type of first argument
50881 to grub_ieee1275_phandle_t.
50882 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
50883 Move export next to declaration.
50884 (grub_ieee1275_chosen): New variable.
50885 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
50886 Correct cosmetic typo.
50887 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
50888 `grub_ieee1275_chosen'.
50889 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
50890 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
50891 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
50892 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
50893 `grub_ieee1275_chosen'.
50895 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
50897 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
50899 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
50900 /chosen/bootargs as "variable=value" pairs.
50902 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
50904 * include/grub/misc.h (grub_dprintf): New macro.
50905 (grub_real_dprintf): New prototype.
50906 (grub_strword): Likewise.
50907 (grub_iswordseparator): Likewise.
50908 * kern/misc.c (grub_real_dprintf): New function.
50909 (grub_strword): Likewise.
50910 (grub_iswordseparator): Likewise.
50912 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
50914 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
50915 (roundup): Remove macro.
50916 (grub_ieee1275_flags): Make static.
50917 (grub_ieee1275_realmode): Remove.
50918 (grub_ieee1275_test_flag): New function.
50919 (grub_ieee1275_set_flag): Likewise.
50920 (find_options): Rename to `grub_ieee1275_find_options'; update
50921 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
50922 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
50923 (cmain): New prototype.
50924 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
50925 `grub_ieee1275_flags' directly.
50926 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
50927 machine/biosdisk.h.
50928 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
50929 Don't include grub/machine/init.h.
50930 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
50931 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
50933 (grub_ieee1275_realmode): Likewise.
50934 (grub_ieee1275_flag): New enum.
50935 (grub_ieee1275_test_flag): New prototype.
50936 (grub_ieee1275_set_flag): New prototype.
50937 * include/grub/powerpc/ieee1275/init.h: Remove file.
50938 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
50939 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
50940 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
50941 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
50943 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
50944 `grub_ieee1275_test_flag'.
50945 (grub_ieee1275_encode_devname): Likewise.
50947 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
50949 * include/grub/powerpc/ieee1275/ieee1275.h
50950 (grub_ieee1275_encode_devname): New prototype.
50951 (grub_ieee1275_get_filename): Likewise.
50952 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
50954 (grub_set_prefix): Likewise.
50955 (grub_machine_init): Call grub_set_prefix.
50956 * kern/powerpc/ieee1275/openfw.c: Fix typos.
50957 (grub_parse_type): New enum.
50958 (grub_ieee1275_get_devargs): New function.
50959 (grub_ieee1275_get_devname): Likewise.
50960 (grub_ieee1275_parse_args): Likewise.
50961 (grub_ieee1275_get_filename): Likewise.
50962 (grub_ieee1275_encode_devname): Likewise.
50964 2005-03-30 Marco Gerards <metgerards@student.han.nl>
50966 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
50967 `grub_loader_unset'.
50969 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
50971 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
50972 instead of grub_ieee1275_interpret.
50973 (grub_halt_init): New function.
50974 (grub_halt_fini): Likewise.
50975 (GRUB_MOD_INIT): Correct message grammar.
50976 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
50977 instead of grub_ieee1275_interpret.
50978 (grub_reboot_init): New function.
50979 (grub_reboot_fini): Likewise.
50980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
50981 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
50982 util/i386/pc/misc.c with commands/ieee1275/halt.c,
50983 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
50984 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
50986 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
50988 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
50990 (grub_halt): Likewise.
50991 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
50992 (cmain): Remove __attribute__((unused)).
50993 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
50994 (grub_heap_len): Likewise.
50995 (grub_machine_fini): New function.
50996 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
50997 (grub_halt): Likewise.
50998 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
51000 * util/powerpc/ieee1275/misc.c: New file.
51002 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
51004 * DISTLIST: New file.
51005 * gendistlist.sh: Likewise.
51007 * Makefile.in (COMMON_DISTFILES): Removed.
51008 (BOOT_DISTFILES): Likewise.
51009 (CONF_DISTFILES): Likewise.
51010 (DISK_DISTFILES): Likewise.
51011 (FS_DISTFILES): Likewise.
51012 (INCLUDE_DISTFILES): Likewise.
51013 (KERN_DISTFILES): Likewise.
51014 (LOADER_DISTFILES): Likewise.
51015 (TERM_DISTFILES): Likewise.
51016 (UTIL_DISTFILES): Likewise.
51017 (DISTFILES): Likewise.
51018 (uninstall): Uninstall files in $(pkgdata_DATA).
51019 (DISTLIST): New target.
51020 (distdir): Use the contents of the file DISTLIST to get a list of
51023 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
51025 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
51026 descriptor. This is ported from GRUB Legacy.
51028 * gencmdlist.sh: Added an extra semicolon to make it work with
51029 old sed versions. Reported by Robert Bihlmeyer
51030 <robbe@orcus.priv.at>.
51032 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
51034 Automatic loading of commands is supported.
51036 * normal/main.c (read_command_list): New function.
51037 (grub_normal_execute): Call read_command_list.
51039 * normal/command.c (grub_register_command): Return zero or CMD.
51040 Allocate CMD->NAME from the heap.
51041 Initialize CMD->MODULE_NAME to zero.
51042 Find the same name as well. If the same command is found and it is
51043 a dummy command, overwrite members. If it is not a dummy command,
51045 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
51046 (grub_command_find): If a dummy command is found, load a module
51047 and retry to find a command only once.
51049 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
51050 make sure that each command is loaded.
51052 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
51054 (struct grub_command): Remove const from the member `name'.
51055 Add a new member `module_name'.
51056 (grub_register_command): Return grub_command_t.
51058 * commands/help.c (grub_cmd_help): Call grub_command_find to make
51059 sure that each command is loaded.
51061 * genmk.rb (PModule::rule): Specify a module name without the
51062 suffix ".mod" to gencmdlist.sh.
51064 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51066 * gencmdlist.sh: New file.
51068 * genmk.rb (PModule::rule): Generate a rule for a command list.
51070 Generate command.lst from $(COMMANDFILES).
51072 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
51073 (DATA): Added $(pkgdata_DATA).
51074 (install-local): Install files in $(pkgdata_DATA).
51076 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
51078 * term/i386/pc/vga.c (debug_command): Removed.
51079 (GRUB_MOD_INIT): Do not register the command "debug".
51081 From Hollis Blanchard:
51082 * commands/configfile.c: New file.
51083 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51084 commands/configfile.c.
51085 (pkgdata_MODULES): Added configfile.mod.
51086 (configfile_mod_SOURCES): New variable.
51087 (configfile_mod_CFLAGS): Likewise.
51088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
51089 commands/configfile.c.
51090 (pkgdata_MODULES): Added configfile.mod.
51091 (configfile_mod_SOURCES): New variable.
51092 (configfile_mod_CFLAGS): Likewise.
51093 * util/grub-emu.c (main): Call grub_configfile_init and
51094 grub_configfile_fini.
51095 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
51097 [GRUB_UTIL] (grub_configfile_fini): Likewise.
51099 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51101 * normal/arg.c (grub_arg_show_help): Do not show the bug report
51104 * commands/help.c (grub_cmd_help): Do not print newlines after
51105 the last command in print_command_help.
51107 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
51109 * commands/default.h: New file.
51110 * commands/timeout.h: Likewise.
51111 * normal/context.c: Likewise.
51113 * util/misc.c: Do not include sys/times.h.
51114 Include sys/time.h and grub/machine/time.h.
51115 (grub_get_rtc): Rewritten with gettimeofday.
51117 * util/grub-emu.c (main): Call grub_default_init and
51118 grub_timeout_init before grub_normal_init, and call
51119 grub_timeout_fini and grub_default_fini after grub_main.
51121 * util/console.c (grub_ncurses_checkkey): Return the read
51124 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
51127 * normal/main.c (read_config_file): Push MENU. If this fails,
51128 print an error and wait for a user input.
51129 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
51130 If a menu is empty or an error occurs, pop MENU.
51131 (grub_normal_execute): Pop and free MENU after grub_menu_run
51134 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
51136 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
51138 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51140 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
51142 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
51145 * include/grub/normal.h (struct grub_menu_list): New struct.
51146 (grub_menu_list_t): New type.
51147 (struct grub_context): New struct.
51148 (grub_context_t): New type.
51149 (grub_register_command): Got rid of EXPORT_FUNC.
51150 (grub_unregister_command): Likewise.
51151 (grub_context_get): New prototype.
51152 (grub_context_get_current_menu): Likewise.
51153 (grub_context_push_menu): Likewise.
51154 (grub_context_pop_menu): Likewise.
51155 [GRUB_UTIL] (grub_default_init): Likewise.
51156 [GRUB_UTIL] (grub_default_fini): Likewise.
51157 [GRUB_UTIL] (grub_timeout_init): Likewise.
51158 [GRUB_UTIL] (grub_timeout_fini): Likewise.
51160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
51161 commands/timeout.c and normal/context.c.
51162 (pkgdata_MODULES): Added default.mod and timeout.mod.
51163 (normal_mod_SOURCES): Added normal/context.c.
51164 (default_mod_SOURCES): New variable.
51165 (default_mod_CFLAGS): Likewise.
51166 (timeout_mod_SOURCES): Likewise.
51167 (timeout_mod_CFLAGS): Likewise.
51168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
51170 (pkgdata_MODULES): Added default.mod and timeout.mod.
51171 (normal_mod_SOURCES): Added normal/context.c.
51172 (default_mod_SOURCES): New variable.
51173 (default_mod_CFLAGS): Likewise.
51174 (timeout_mod_SOURCES): Likewise.
51175 (timeout_mod_CFLAGS): Likewise.
51177 * Makefile.in (all-local): Added $(MKFILES).
51179 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
51181 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
51182 (grub_emu_SOURCES): Likewise.
51183 (pkgdata_MODULES): Add `sun.mod'.
51184 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51185 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51187 (pkgdata_MODULES): Add `sun.mod'.
51188 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
51189 * include/grub/partition.h (grub_sun_partition_map_init): New
51191 (grub_sun_partition_map_fini): Likewise.
51192 * partmap/sun.c: New file.
51193 * util/grub-emu.c (main): Initialize and de-initialize the sun
51194 partitionmap support.
51196 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
51198 This implements an Emacs-like menu entry editor.
51200 * normal/menu_entry.c: New file.
51202 * util/console.c (grub_ncurses_putchar): Translate some Unicode
51203 characters to ASCII.
51204 (saved_char): New variable.
51205 (grub_ncurses_checkkey): Rewritten completely.
51206 (grub_ncurses_getkey): Likewise.
51207 (grub_ncurses_init): Call raw instead of cbreak.
51209 * normal/menu.c (print_entry): Do not put a space.
51210 (init_page): Renamed to ...
51211 (grub_menu_init_page): ... this. All callers changed.
51212 (edit_menu_entry): Removed.
51213 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
51215 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
51217 * kern/misc.c (grub_vprintf): Call grub_refresh.
51219 * normal/menu.c (DISP_LEFT): Renamed to ...
51220 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
51221 * normal/menu.c (DISP_UP): Renamed to ...
51222 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
51223 * normal/menu.c (DISP_RIGHT): Renamed to ...
51224 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
51225 * normal/menu.c (DISP_DOWN): Renamed to ...
51226 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
51227 * normal/menu.c (DISP_HLINE): Renamed to ...
51228 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
51229 * normal/menu.c (DISP_VLINE): Renamed to ...
51230 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
51231 * normal/menu.c (DISP_UL): Renamed to ...
51232 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
51233 * normal/menu.c (DISP_UR): Renamed to ...
51234 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
51235 * normal/menu.c (DISP_LL): Renamed to ...
51236 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
51237 * normal/menu.c (DISP_LR): Renamed to ...
51238 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
51239 * normal/menu.c (TERM_WIDTH): Renamed to ...
51240 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
51241 * normal/menu.c (TERM_HEIGHT): Renamed to ...
51242 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
51243 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
51244 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
51245 * normal/menu.c (TERM_MARGIN): Renamed to ...
51246 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
51247 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
51248 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
51249 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
51250 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
51251 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
51252 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
51253 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
51254 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
51255 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
51256 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
51257 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
51258 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
51259 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
51260 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
51261 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
51262 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
51263 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
51264 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
51265 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
51266 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
51267 All callers changed.
51269 * include/grub/normal.h: New prototype.
51271 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51272 normal/menu_entry.c.
51273 (normal_mod_SOURCES): Likewise.
51274 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
51275 (normal_mod_SOURCES): Likewise.
51277 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
51279 * include/grub/normal.h (grub_halt_init): New prototype.
51280 (grub_halt_fini): Likewise.
51281 (grub_reboot_init): Likewise.
51282 (grub_reboot_fini): Likewise.
51284 * util/grub-emu.c: Include signal.h.
51285 (main_env): New global variable.
51286 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
51288 (grub_machine_fini): New function.
51289 (main): Call grub_halt_init and grub_reboot_init before
51290 grub_main, and grub_reboot_fini and grub_halt_fini after it.
51291 Call setjmp with MAIN_ENV to go back afterwards.
51292 Call grub_machine_fini right before return.
51294 * include/grub/util/misc.h: Include setjmp.h.
51295 (main_env): New prototype.
51297 * include/grub/kernel.h (grub_machine_fini): New prototype.
51298 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
51299 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
51301 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
51302 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
51303 * term/i386/pc/console.c (grub_console_fini): Likewise.
51305 * util/i386/pc/misc.c: New file.
51307 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
51308 util/i386/pc/misc.c, commands/i386/pc/halt.c and
51309 commands/i386/pc/reboot.c.
51311 2005-02-14 Guillem Jover <guillem@hadrons.org>
51313 * include/grub/dl.h (grub_dl_check_header): New prototype.
51314 (grub_arch_dl_check_header): Change return type to grub_err_t,
51315 remove size parameter and export function. Update all callers.
51316 * kern/dl.c (grub_dl_check_header): New function.
51317 (grub_dl_load_core): Use `grub_dl_check_header' instead of
51318 `grub_arch_dl_check_header'. Check ELF type. Check if sections
51319 are inside the core.
51320 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
51321 independent ELF header checks.
51322 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51323 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
51324 `grub_dl_check_header' instead of explicit checks. Check for the
51326 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
51327 `grub_dl_check_header' instead of explicit checks. Remove arch
51328 specific ELF header checks.
51330 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
51333 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
51335 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
51336 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
51338 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
51340 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
51341 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
51342 (part_map_iterate): Clear `grub_errno' and return 0 if
51343 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
51344 * partmap/amiga.c (amiga_partition_map_iterate): Return
51345 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
51346 * partmap/apple.c (apple_partition_map_iterate): Likewise.
51348 2005-02-01 Guillem Jover <guillem@hadrons.org>
51350 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
51353 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51355 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
51357 (grub_rescue_cmd_linux): New prototype.
51358 (grub_rescue_cmd_initrd): Likewise.
51359 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
51361 (grub_linux_release_mem): Release the memory for the initrd.
51362 (grub_load_linux): Renamed from this...
51363 (grub_rescue_cmd_linux): ...To this. Changed all callers.
51364 Changed `entry' not to be static. Loop over memory regions to
51365 find another one when the default fails.
51366 (grub_rescue_cmd_initrd): New function.
51367 (grub_linux_init): Remove function.
51368 (grub_linux_fini): Likewise.
51369 (GRUB_MOD_INIT): Register `initrd'.
51370 (GRUB_MOD_FINI): Unregister `initrd'.
51371 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
51373 (grub_linux_normal_fini): Likewise.
51374 (GRUB_MOD_INIT): Register `initrd'.
51375 (GRUB_MOD_FINI): Unregister `initrd'.
51377 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51379 * commands/help.c: New file.
51380 * normal/arg.c (show_help): Renamed to...
51381 (grub_arg_show_help): ... this.
51382 * commands/i386/pc/halt.c: New file.
51383 * commands/i386/pc/reboot.c: Likewise.
51384 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
51385 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
51386 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
51387 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
51389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51391 (pkgdata_MODULES): Add `help.mod'.
51392 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
51393 * grub/i386/pc/init.h (grub_reboot): New prototype.
51394 (grub_halt): Likewise.
51395 * include/grub/normal.h (grub_arg_show_help): New prototype.
51396 (grub_help_init): Likewise.
51397 (grub_help_fini): Likewise.
51398 * util/grub-emu.c (main): Initialize and deinitialize the help
51401 * normal/cmdline.c (grub_cmdline_get): Doc fix.
51403 * normal/command.c (grub_command_init): Fixed the description of
51404 the `set' and `unset' commands.
51406 2005-01-31 Marco Gerards <metgerards@student.han.nl>
51408 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
51410 * commands/ieee1275/halt.c: New file.
51411 * commands/ieee1275/reboot.c: Likewise.
51412 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
51413 `__attribute__ ((unused))'. Some GCS related fixed.
51414 (grub_suspend_init) [GRUB_UTIL]: Function removed.
51415 (grub_suspend_fini): Likewise.
51416 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
51418 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
51419 (halt_mod_CFLAGS): New variables.
51420 * include/grub/powerpc/ieee1275/ieee1275.h
51421 (grub_ieee1275_interpret): New prototype.
51423 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
51425 * include/grub/misc.h (memmove): New prototype.
51426 (memcpy): Likewise.
51428 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
51430 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
51431 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
51433 2005-01-22 Marco Gerards <metgerards@student.han.nl>
51435 * kern/misc.c (grub_strndup): Function rewritten.
51437 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
51439 * normal/menu.c (TERM_WIDTH): Macro redefined.
51440 (TERM_TOP_BORDER_Y): Likewise.
51441 (draw_border): Replaced while-loop by a for-loop. Make the number
51442 of lines consistent with the number of lines displayed in
51443 print_entries. Added a margin below the rectangle.
51444 (print_entry): Make the entry fit in the rectangle.
51445 (print_entries): Display the scroll arrows next to the right
51448 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51450 * fs/minix.c (grub_minix_find_file): Reserve more space for
51451 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
51452 `grub_strncpy' to copy `path' into it.
51454 2005-01-21 Marco Gerards <metgerards@student.han.nl>
51456 Add the loopback device, a device via which files can be accessed
51459 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
51460 (pkgdata_MODULES): Add loopback.mod.
51461 (loopback_mod_SOURCES): New variable.
51462 (loopback_mod_CFLAGS): Likewise.
51463 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
51465 (pkgdata_MODULES): Add loopback.mod.
51466 (loopback_mod_SOURCES): New variable.
51467 (loopback_mod_CFLAGS): Likewise.
51468 * disk/loopback.c: new file.
51469 * include/grub/normal.h (grub_loop_init): New prototype.
51470 (grub_loop_fini): New prototype.
51471 * util/grub-emu.c (main): Initialize and de-initialize loopback
51473 * include/grub/disk.h (grub_disk_dev_id): Add
51474 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
51476 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
51478 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
51480 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
51481 (suspend_mod_SOURCES): New variable.
51482 (suspend_mod_CFLAGS): Likewise.
51483 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
51485 * commands/ieee1275/suspend.c: New file.
51487 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
51489 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
51490 ((unused))' to `__attribute__ ((used))'.
51491 (GRUB_MOD_FINI): Likewise.
51492 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
51493 * genmk.rb (PModule): Assign space to common symbols when linking
51496 2005-01-20 Marco Gerards <metgerards@student.han.nl>
51498 * include/grub/mm.h (grub_mm_init_region): Change the type of the
51499 `unsigned' arguments to `grub_size_t'.
51500 (grub_malloc): Likewise.
51501 (grub_realloc): Likewise.
51502 (grub_memalign): Likewise.
51503 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
51504 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
51505 * util/misc.c (grub_malloc): Likewise.
51506 (grub_realloc): Likewise.
51507 * kern/mm.c (get_header_from_pointer): Change the casts to
51508 `unsigned' into a cast to `grub_size_t'.
51510 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
51511 point to `currnode' when `currnode' is changed.
51513 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
51514 Schottelius <nico-linux@schottelius.org>.
51516 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
51518 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
51519 (note_path): Remove variable.
51520 (GRUB_IEEE1275_NOTE_NAME): New macro.
51521 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
51522 (grub_ieee1275_note_hdr): New structure.
51523 (grub_ieee1275_note_desc): Likewise.
51524 (grub_ieee1275_note): Likewise.
51525 (load_note): Remove `dir' argument. All callers updated. Remove
51526 `note_img' and `path'. Do not load a file from `note_path'.
51527 Initialize a struct grub_ieee1275_note and write that to `out'.
51528 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
51530 2005-01-05 Marco Gerards <metgerards@student.han.nl>
51532 * util/misc.c (grub_util_read_image): Revert last change. It
51533 called `grub_util_read_at', which seeks from the beginning of the
51536 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
51538 * TODO: Add note about endianness in grub-mkimage.
51539 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
51541 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
51542 (grub_mkimage_SOURCES): New target.
51543 * include/grub/kernel.h (grub_start_addr): Remove variable.
51544 (grub_end_addr): Likewise.
51545 (grub_total_module_size): Likewise.
51546 (grub_kernel_image_size): Likewise.
51547 (GRUB_MODULE_MAGIC): New constant.
51548 (grub_module_info): New structure.
51549 (grub_arch_modules_addr): New prototype.
51550 (grub_get_end_addr): Remove prototype.
51551 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
51552 * include/grub/powerpc/ieee1275/kernel.h: New file.
51553 * include/grub/util/misc.h (grub_util_get_fp_size): New
51555 (grub_util_read_at): Likewise.
51556 (grub_util_write_image_at): Likewise.
51557 * kern/main.c (grub_get_end_addr): Remove function.
51558 (grub_load_modules): Call grub_arch_modules_addr instead of using
51559 grub_end_addr. Look for a grub_module_info struct in memory. Use
51560 the grub_module_info fields instead of calling grub_get_end_addr
51561 as loop conditions. Move grub_add_unused_region code here.
51562 (grub_add_unused_region): Remove function.
51563 * kern/i386/pc/init.c: Include grub/cache.h.
51564 (grub_machine_init): Remove call to grub_get_end_addr. Remove
51565 one call to add_mem_region.
51566 (grub_arch_modules_addr): New function.
51567 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
51568 (grub_total_module_size): Likewise.
51569 Include grub/machine/kernel.h.
51570 (grub_arch_modules_addr): New function.
51571 * util/grub-emu.c (grub_end_addr): Remove variable.
51572 (grub_total_module_size): Likewise.
51573 (grub_arch_modules_addr): New function.
51574 * util/misc.c: Include unistd.h.
51575 (grub_util_get_fp_size): New function.
51576 (grub_util_read_at): Likewise.
51577 (grub_util_write_image_at): Likewise.
51578 (grub_util_read_image): Call grub_util_read_at.
51579 (grub_util_write_image): Call grub_util_write_image_at.
51580 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
51581 additional memory in kernel_img for a struct grub_module_info.
51582 Fill in that grub_module_info.
51583 * util/powerpc/ieee1275/grub-mkimage.c: New file.
51585 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51587 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
51589 * include/grub/powerpc/ieee1275/ieee1275.h
51590 (grub_ieee1275_milliseconds): New prototype.
51591 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
51593 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
51594 grub_ieee1275_milliseconds.
51596 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
51598 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
51600 (find_options): New function.
51601 (cmain): Call find_options.
51602 * include/grub/powerpc/ieee1275/ieee1275.h
51603 (grub_ieee1275_realmode): New extern variable.
51604 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
51605 grub_map if grub_ieee1275_realmode is false.
51607 2004-12-29 Marco Gerards <metgerards@student.han.nl>
51609 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
51610 lines are inserted and make it work like readline. Reported by
51611 Vincent Pelletier <subdino2004@yahoo.fr>.
51613 2004-12-28 Marco Gerards <metgerards@student.han.nl>
51615 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
51617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
51618 `kern/powerpc/cache.S'.
51620 2004-12-27 Marco Gerards <metgerards@student.han.nl>
51622 * genmk.rb: Handle the `Program' class in the main loop. Written
51623 by Johan Rydberg <jrydberg@gnu.org>.
51624 (Program): New class.
51625 (programs): New variable.
51626 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
51627 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
51628 instead of "grub/kernel.h". Include <grub/machine/init.h>.
51629 (help_arch): Function removed.
51630 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
51631 `powerpc/libgcc.h' and `loader.h'.
51632 (pkgdata_PROGRAMS): New variable.
51633 (sbin_UTILITIES): Variable removed.
51634 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
51635 (grubof_SOURCES): Variable re-defined so it only includes the
51636 core functionality.
51637 (grubof_CFLAGS): Remove `-DGRUBOF'.
51638 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
51639 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
51640 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
51641 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
51642 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
51643 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
51644 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
51645 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
51646 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
51647 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
51648 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
51649 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
51650 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
51651 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
51652 (pc_mod_CFLAGS): New variables.
51653 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
51654 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
51655 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
51656 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
51658 * include/grub/i386/pc/init.h (grub_os_area_addr)
51659 (rub_os_area_size): ... to here.
51660 * include/grub/powerpc/ieee1275/ieee1275.h
51661 (grub_ieee1275_entry_fn): Export symbol.
51662 * include/grub/powerpc/ieee1275/init.h: New file.
51663 * include/grub/powerpc/libgcc.h: Likewise.
51664 * include/grub/cache.h: Likewise.
51665 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
51666 <hollis@penguinppc.org>.
51667 * kern/dl.c: Include <grub/cache.h>.
51668 (grub_dl_flush_cache): New function.
51669 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
51671 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
51672 (grub_console_init): Removed prototypes.
51673 (grub_machine_init): Don't initialize the modules anymore.
51674 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
51676 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
51677 Macro undef removed.
51678 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
51679 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
51680 relocation `R_PPC_REL32'. Return an error when the relocation is
51682 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
51683 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
51684 * util/misc.c (grub_arch_sync_caches): Likewise.
51686 2004-12-19 Marco Gerards <metgerards@student.han.nl>
51688 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
51689 `symlist.c', add `grubof_symlist.c'.
51690 (symlist.c): Variable removed.
51691 (grubof_HEADERS): Variable added.
51692 (grubof_symlist.c): New target.
51693 (kernel_syms.lst): Use `grubof_HEADERS' instead of
51694 `kernel_img_HEADERS'.
51695 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
51696 * kern/powerpc/dl.c: New file.
51697 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
51699 (grub_arch_dl_relocate_symbols): Likewise.
51700 (grub_register_exported_symbols): Likewise.
51702 2004-12-13 Marco Gerards <metgerards@student.han.nl>
51704 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
51705 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
51706 to fail instead. Reported by Vincent Pelletier
51707 <subdino2004@yahoo.fr>.
51709 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
51710 it is not allocated. Reported by Vincent Pelletier
51711 <subdino2004@yahoo.fr>.
51713 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
51714 output so the output looks better.
51716 2004-12-04 Marco Gerards <metgerards@student.han.nl>
51718 Modulize the partition map support and add support for the amiga
51721 * commands/ls.c: Include <grub/partition.h> instead of
51722 <grub/machine/partition.h>.
51723 * kern/disk.c: Likewise.
51724 * kern/rescue.c: Likewise.
51725 * loader/i386/pc/chainloader.c: Likewise.
51726 * normal/cmdline.c: Likewise.
51727 * kern/powerpc/ieee1275/init.c: Likewise.
51728 (grub_machine_init): Call `grub_pc_partition_map_init',
51729 `grub_amiga_partition_map_init' and
51730 `grub_apple_partition_map_init'.
51731 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
51732 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
51733 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
51734 `partition.h' and `pc_partition.h'.
51735 (grub_setup_SOURCES): Remove
51736 `disk/i386/pc/partition.c'. Add `kern/partition.c',
51737 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51738 (grub_emu_SOURCES): Likewise.
51739 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
51740 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
51741 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
51742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51743 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
51744 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
51745 (grubof_SOURCES): Likewise.
51746 * disk/i386/pc/partition.c: File removed.
51747 * disk/powerpc/ieee1275/partition.c: Likewise.
51748 * include/grub/powerpc/ieee1275/partition.h: Likewise.
51749 * include/grub/i386/pc/partition.h: Likewise.
51750 * kern/partition.c: New file.
51751 * partmap/amiga.c: Likewise.
51752 * partmap/apple.c: Likewise.
51753 * partmap/pc.c: Likewise.
51754 * include/grub/partition.h: Likewise..
51755 * include/grub/pc_partition.h: Likewise.
51756 * util/grub-emu.c: Include <grub/partition.h> instead of
51757 <grub/machine/partition.h>.
51758 (main): Call `grub_pc_partition_map_init',
51759 `grub_amiga_partition_map_init' and
51760 `grub_apple_partition_map_init' and deinitialize afterwards.
51761 * util/i386/pc/biosdisk.c: Include `#include
51762 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51763 `<grub/machine/partition.h>'.
51764 * util/i386/pc/grub-setup.c: Likewise.
51765 * util/i386/pc/biosdisk.c: Likewise.
51766 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
51767 partition information in case of a PC partition.
51768 * util/i386/pc/grub-setup.c: Include `#include
51769 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
51770 `<grub/machine/partition.h>'.
51771 (setup): Only access the PC specific partition information in case
51774 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
51776 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
51777 (grub_longjmp): Likewise.
51778 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
51780 * normal/powerpc/setjmp.S: New file.
51781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
51782 `normal/powerpc/setjmp.S'.
51783 (grubof_CFLAGS): Add `-DGRUBOF'.
51784 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
51785 [GRUB_UTIL && !GRUBOF].
51787 2004-11-16 Marco Gerards <metgerards@student.han.nl>
51789 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
51790 property named `name'. Correctly handle the error returned by
51791 `grub_ieee1275_finddevice' if a device can not be opened.
51793 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
51795 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
51796 `actual' for negativity.
51797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
51800 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51802 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
51803 (PAGE_OFFSET): New macro.
51804 (CRTC_ADDR_PORT): Likewise.
51805 (CRTC_DATA_PORT): Likewise.
51806 (START_ADDR_HIGH_REGISTER): Likewise.
51807 (START_ADDR_LOW_REGISTER): Likewise.
51808 (GRAPHICS_ADDR_PORT): Likewise.
51809 (GRAPHICS_DATA_PORT): Likewise.
51810 (READ_MAP_REGISTER): Likewise.
51811 (INPUT_STATUS1_REGISTER): Likewise.
51812 (INPUT_STATUS1_VERTR_BIT): Likewise.
51813 (page): New variable.
51814 (wait_vretrace): New function.
51815 (set_read_map): Likewise.
51816 (set_start_address): Likewise.
51817 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
51819 (check_vga_mem): Take the page into account.
51820 (write_char): Likewise.
51821 (write_cursor): Likewise.
51822 (scroll_up): Likewise. Copy the page to the page that is not
51823 shown and switch between both pages.
51824 (grub_vga_putchar): Fix off by one error.
51825 (grub_vga_cls): Wait for the vertical retrace. Take the page into
51828 2004-11-01 Marco Gerards <metgerards@student.han.nl>
51830 Add support for iso9660 (including rockridge).
51832 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51833 (iso9660_mod_SOURCES): New variable.
51834 (iso9660_mod_CFLAGS): Likewise.
51835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
51836 * include/grub/fs.h (grub_iso9660_init): New prototype.
51837 * util/grub-emu.c (main): Call `grub_iso9660_init'.
51838 * fs/iso9660.c: New file.
51840 * include/grub/misc.h (grub_strncat): New prototype.
51841 * kern/misc.c (grub_strncat): New function.
51843 * fs/hfs.c (grub_hfs_mount): Translate the error
51844 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
51845 * fs/jfs.c (grub_jfs_mount): Likewise.
51846 * fs/ufs.c (grub_ufs_mount): Likewise.
51848 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
51850 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
51851 which initialized BAT registers.
51852 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
51853 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51855 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
51856 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
51858 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
51859 (grub_mapclaim): Likewise.
51860 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
51861 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
51864 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
51866 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
51867 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
51868 -ffreestanding and -msoft-float.
51870 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
51872 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
51873 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
51874 set in grub_ieee1275_flags.
51876 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
51878 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
51880 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
51881 grub_console_init first.
51882 Change the memory range used for grub_ieee1275_claim and
51883 grub_mm_init_region.
51884 Print an error message if the claim fails.
51885 Include <grub/misc.h>.
51887 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
51889 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
51890 Call grub_children_iterate for device nodes of type `scsi',
51892 (grub_ofdisk_open): Remove manual device alias resolution.
51893 Fix memory leak when device cannot be opened.
51894 * include/grub/powerpc/ieee1275/ieee1275.h
51895 (grub_children_iterate): New prototype.
51896 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
51898 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
51899 Return -1 if args.size was -1.
51901 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51903 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
51904 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
51905 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
51906 Open Firmware's memory for it; claim memory from _start to _end.
51907 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
51908 (_end): New extern.
51909 (_start): Zero BSS from __bss_start to _end.
51910 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
51912 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
51914 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
51916 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
51917 -1 if args.base was -1.
51919 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
51921 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
51922 escape sequence instead of a literal ^L. Also call
51923 grub_ofconsole_gotoxy.
51925 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
51927 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
51928 void * arguments to grub_addr_t. All callers updated. Also make
51929 the `result' argument optional.
51930 (grub_ieee1275_release): change void * arguments to grub_addr_t.
51931 All callers updated.
51933 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
51935 * commands/ls.c (grub_ls_list_files): Use the string following the
51936 initial ')', if present, as the filesystem path.
51937 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
51939 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
51941 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
51943 Make the source code of the menu interface more readable.
51945 * normal/menu.c: Include grub/mm.h.
51946 (TERM_WIDTH): New macro.
51947 (TERM_HEIGHT): Likewise.
51948 (TERM_INFO_HEIGHT): Likewise.
51949 (TERM_MARGIN): Likewise.
51950 (TERM_SCROLL_WIDTH): Likewise.
51951 (TERM_TOP_BORDER_Y): Likewise.
51952 (TERM_LEFT_BORDER_X): Likewise.
51953 (TERM_BORDER_WIDTH): Likewise.
51954 (TERM_MESSAGE_HEIGHT): Likewise.
51955 (TERM_BORDER_HEIGHT): Likewise.
51956 (TERM_NUM_ENTRIES): Likewise.
51957 (TERM_FIRST_ENTRY_Y): Likewise.
51958 (TERM_ENTRY_WIDTH): Likewise.
51959 (TERM_CURSOR_X): Likewise.
51960 (draw_border): Use macros instead of magic numbers.
51961 (print_entry): Likewise.
51962 (print_entries): Likewise.
51963 (run_menu): Likewise. Also, handle the key 'e'.
51964 (run_menu_entry): Ignore empty command lines.
51965 (print_message): Added a new argument EDIT. If EDIT is true,
51966 print a different message.
51967 (init_page): Likewise.
51968 (edit_menu_entry): New function. Not implemented yet.
51970 2004-09-17 Marco Gerards <metgerards@student.han.nl>
51972 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
51973 can be loaded from normal mode.
51975 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
51977 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
51978 (multiboot_mod_CFLAGS): New variables.
51979 * loader/i386/pc/linux_normal.c: New file.
51980 * loader/i386/pc/multiboot_normal.c: Likewise.
51982 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
51983 attribute `unused'.
51985 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
51986 `fdiro' to read the mode information from instead of `diro'.
51988 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
51989 looking up a symlink.
51991 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
51993 * normal/command.c (grub_command_execute): Don't parse the
51994 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
51995 flags of the command.
51997 * normal/menu.c (grub_menu_run): Fix typo.
51999 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
52001 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
52003 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
52004 `y + 1' instead of `y - 1'.
52006 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
52008 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
52010 From Hollis Blanchard <hollis@penguinppc.org>:
52011 * kern/misc.c (memmove): New alias for grub_memmove.
52012 (memcmp): New alias for grub_memcmp.
52013 (memset): New alias for grub_memset.
52014 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
52015 Change "int handle" to "grub_ieee1275_phandle_t handle".
52016 * include/grub/powerpc/ieee1275/ieee1275.h
52017 (grub_ieee1275_get_property): Likewise.
52019 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
52021 Added normal mode command `chainloader' as module chain.mod, which
52022 depends on normal.mod and _chain.mod.
52024 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
52025 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
52026 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
52028 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
52029 but arguments parsing moved to ...
52030 (grub_chainloader_cmd): ... here. New function.
52031 * include/grub/i386/pc/chainloader.h: New file.
52032 * loader/i386/pc/chainloader_normal.c: Likewise.
52034 2004-09-11 Marco Gerards <metgerards@student.han.nl>
52036 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
52037 (grub_mkimage_LDFLAGS): Likewise.
52038 (grub_emu_SOURCES): Likewise.
52039 (kernel_img_HEADERS): Added fshelp.h.
52040 * fs/ext2.c: Include <grub/fshelp.h>.
52041 (FILETYPE_REG): New macro.
52042 (FILETYPE_INO_REG): Likewise.
52043 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
52045 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
52047 (grub_fshelp_node): New struct.
52048 (grub_ext2_data): Added member `diropen'. Changed member `inode'
52050 (grub_ext2_get_file_block): Removed function.
52051 (grub_ext2_read_block): New function.
52052 (grub_ext2_read_file): Replaced parameter `data' by `node'.
52053 This function was written.
52054 (grub_ext2_mount): Read the root inode. Create a diropen struct.
52055 (grub_ext2_find_file): Removed function.
52056 (grub_ext2_read_symlink): New function.
52057 (grub_ext2_iterate_dir): Likewise.
52058 (grub_ext2_open): Rewritten.
52059 (grub_ext2_dir): Rewritten.
52060 * include/grub/fshelp.h: New file.
52061 * fs/fshelp.c: Likewise.
52063 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
52065 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
52066 (print_message): Add a missing newline.
52067 (run_menu): Added timeout support.
52068 (run_menu_entry): New local function.
52069 (grub_menu_run): Added support for booting.
52071 * kern/loader.c (grub_loader_is_loaded): New function.
52073 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
52074 (grub_get_rtc): Exported.
52076 * include/grub/i386/pc/time.h: Include grub/symbol.h.
52077 (grub_get_rtc): Exported.
52079 * include/grub/normal.h (struct grub_command_list): Remove
52080 constant from the member `command'.
52082 * include/grub/loader.h (grub_loader_is_loaded): Declared.
52084 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
52086 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
52088 2004-08-28 Marco Gerards <metgerards@student.han.nl>
52090 Add support for the JFS filesystem.
52092 * fs/jfs.c: New file.
52093 * include/grub/fs.h (grub_jfs_init): New prototype.
52094 (grub_jfs_fini): New prototype.
52095 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
52096 (grub_emu_SOURCES): Likewise.
52097 (pkgdata_MODULES): Add jfs.mod.
52098 (jfs_mod_SOURCES): New variable.
52099 (jfs_mod_CFLAGS): Likewise.
52100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
52101 (grubof_SOURCES): Likewise.
52102 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
52104 * fs/fat.c (grub_fat_find_dir): Convert the filename little
52105 endian to the host endian.
52106 (grub_fat_utf16_to_utf8): Move function from there...
52107 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
52108 the endianness of the source string anymore.
52109 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
52111 2004-08-24 Marco Gerards <metgerards@student.han.nl>
52113 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
52114 (grub_boot_fini) [GRUB_UTIL]: Likewise.
52115 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
52116 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
52118 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
52119 (grub_hfs_iterate_dir): Make the function static. Add prototypes
52120 for `node_found' and `it_dir'.
52121 (grub_hfs_dir): Add prototype for `dir_hook'.
52123 * fs/minix.c (grub_minix_get_file_block): Add prototype for
52124 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
52125 and `indir32' to silence a gcc warning.
52127 * include/grub/fs.h (grub_hfs_init): New prototype.
52128 (grub_hfs_fini): Likewise.
52131 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
52133 Each disk device has its own id now. This is useful to make use
52134 of multiple disk devices.
52136 * include/grub/disk.h (grub_disk_dev_id): New enum.
52137 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
52138 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
52140 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
52141 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52143 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
52144 GRUB_DISK_DEVICE_OFDISK_ID as an id.
52146 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
52147 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
52149 * include/grub/disk.h (struct grub_disk_dev): Added a new member
52150 "id" which is used by the cache manager.
52152 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
52155 2004-08-18 Marco Gerards <metgerards@student.han.nl>
52157 * fs/hfs.c: New file.
52158 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
52159 (grub_emu_SOURCES): Likewise.
52160 (pkgdata_MODULES): Add hfs.mod.
52161 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
52162 (grubof_SOURCES): Likewise.
52163 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
52165 * include/grub/misc.h (grub_strncasecmp): Add prototype.
52166 * kern/misc.c (grub_strncasecmp): Add function.
52168 2004-08-14 Marco Gerards <metgerards@student.han.nl>
52170 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
52173 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
52174 (grub_ext2_dir): In case the directory entry type is unknown, read
52177 2004-08-02 Peter Bruin <pjbruin@dds.nl>
52179 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
52180 grub_load_linux instead of grub_rescue_cmd_linux as second
52181 argument of grub_rescue_register_command.
52183 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
52185 2004-07-27 Marco Gerards <metgerards@student.han.nl>
52187 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
52189 * commands/boot.c: Remove the check for `GRUB_UTIL'.
52190 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
52191 `loader/powerpc/ieee1275/linux.c',
52192 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
52193 * include/grub/powerpc/ieee1275/ieee1275.h
52194 (grub_ieee1275_release): New prototype.
52195 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
52196 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
52197 normal, boot, linux and linux_normal.
52198 * loader/powerpc/ieee1275/linux.c: New file.
52199 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
52201 2004-07-12 Marco Gerards <metgerards@student.han.nl>
52203 * normal/arg.c (grub_arg_parse): Correct error handling after
52204 reallocating the argumentlist (check if `argl' is not null instead
52205 of checking if `args' is not null).
52206 * kern/mm.c (grub_realloc): Return the same pointer when using the
52207 same region, instead of returning the header address.
52209 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52211 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
52212 one block instead of two when looking for the initial partition.
52213 (grub_partition_probe): Initialize the local variable `p' with 0.
52214 Use base 10 for the grub_strtoul call.
52215 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
52216 need for one local variable.
52217 (grub_strtoul): Don't add the new value to `num', instead of that
52220 2004-07-11 Marco Gerards <metgerards@student.han.nl>
52222 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
52223 (pxeboot_img_SOURCES): New variable.
52224 (pxeboot_img_ASFLAGS): Likewise.
52225 (pxeboot_img_LDFLAGS): Likewise.
52226 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
52227 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
52228 <lode_leroy@hotmail.com>.
52230 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52232 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
52233 there was no input.
52235 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52237 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
52238 the history buffer logic.
52240 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
52242 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
52243 (FILETYPE_INO_SYMLINK): New macros.
52244 (grub_ext2_find_file): Check if the node is a directory using the
52245 inode stat information instead of using the filetype in the
52246 dirent. Exclude the first character of an absolute symlink.
52247 (grub_ext2_dir): Mask out the filetype part of the mode member of
52250 2004-05-24 Marco Gerards <metgerards@student.han.nl>
52252 Add support for UFS version 1 and 2. Add support for the minix
52253 filesystem version 1 and 2, both the variants with 14 and 30 long
52256 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
52258 (grub_emu_SOURCES): Likewise.
52259 (pkgdata_MODULES): Add ufs.mod and minix.mod.
52260 (ufs_mod_SOURCES): New variable.
52261 (ufs_mod_CFLAGS): Likewise.
52262 (minix_mod_SOURCES): Likewise.
52263 (minix_mod_CFLAGS): Likewise.
52264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
52266 (grubof_SOURCES): Likewise.
52267 * fs/ufs.c: New file.
52268 * fs/minix.c: New file.
52269 * include/grub/fs.h (grub_ufs_init): New prototype.
52270 (grub_ufs_fini): Likewise.
52271 (grub_minix_init): Likewise.
52272 (grub_minix_fini): Likewise.
52273 * util/grub-emu.c (main): Initialize and deinitialize UFS and
52276 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
52278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
52279 commands/ls.c, commands/terminal.c, commands/boot.c,
52280 commands/cmp.c and commands/cat.c.
52281 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
52283 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
52286 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52288 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
52289 and grub_, respectively. Because the conversion is trivial and
52290 mechanical, I omit the details here. Please refer to the CVS
52291 if you need more information.
52293 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
52295 * include/pupa: Renamed to ...
52296 * include/grub: ... this.
52297 * util/i386/pc/pupa-mkimage.c: Renamed to ...
52298 * util/i386/pc/grub-mkimage.c: ... this.
52299 * util/i386/pc/pupa-setup.c: Renamed to ...
52300 * util/i386/pc/grub-setup.c: ... this.
52301 * util/pupa-emu.c: Renamed to ...
52302 * util/grub-emu.c: ... this.
52304 2004-03-29 Marco Gerards <metgerards@student.han.nl>
52306 Add support for the newworld apple macintosh (PPC). This has been
52307 tested on the powerbook 2000 only. It only adds support for
52308 generic ieee1275 functions, console and disk support. This should
52309 be easy to port to other architectures with support for Open
52312 * configure.ac: Accept the powerpc as host_cpu. In the case of
52313 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
52314 specific tests are only executed while building for the i386.
52315 Inverse test for crosscompile.
52316 * genmk.rb (Utility): Allow assembler files.
52317 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
52318 * conf/powerpc-ieee1275.rmk: New file.
52319 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
52320 * disk/powerpc/ieee1275/partition.c: Likewise.
52321 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
52322 * include/pupa/powerpc/ieee1275/console.h: Likewise.
52323 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
52324 * include/pupa/powerpc/ieee1275/time.h: Likewise.
52325 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
52326 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
52327 * include/pupa/powerpc/ieee1275/loader.h
52328 * include/pupa/powerpc/setjmp.h: Likewise.
52329 * include/pupa/powerpc/types.h: Likewise.
52330 * kern/powerpc/ieee1275/init.c: Likewise.
52331 * kern/powerpc/ieee1275/openfw.c: Likewise.
52332 * term/powerpc/ieee1275/ofconsole.c: Likewise.
52334 These files were written by Johan Rydberg
52335 (jrydberg@night.trouble.net) and I only modified them slightly.
52337 * boot/powerpc/ieee1275/cmain.c: New file.
52338 * boot/powerpc/ieee1275/crt0.S: Likewise.
52339 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
52340 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
52342 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
52344 * Makefile.in: Update copyright.
52345 * genmodsrc.sh: Likewise.
52346 * gensymlist.sh: Likewise.
52347 * term/i386/pc/vga.c: Indent correctly.
52349 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
52350 bugreporting address.
52351 * util/i386/pc/pupa-setup.c (usage): Likewise,
52352 (main): Call pupa_ext2_init and pupa_ext2_fini.
52354 * fs/fat.c (log2): Renamed to ...
52355 (fat_log2): ... this.
52356 All callers changed.
52357 * kern/misc.c (memcpy): Alias to pupa_memmove.
52358 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
52360 * util/console.c (pupa_ncurses_fini): Return 0.
52362 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
52363 Move fail label here.
52364 [__GNU__]: Don't warn when using stat.
52365 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
52366 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
52367 long int. Use strtol instead of strtoul.
52369 2004-03-14 Marco Gerards <metgerards@student.han.nl>
52371 * commands/boot.c: New file.
52372 * commands/cat.c: Likewise.
52373 * commands/cmp.c: Likewise.
52374 * commands/ls.c: Likewise.
52375 * commands/terminal.c: Likewise.
52376 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
52377 (pupa_register_command): Changed interface to match the new
52379 (pupa_command_execute): Changed (almost rewritten) so it uses
52380 pupa_split_command. Added support for setting variables using the
52382 (rescue_command): Changed to work with the new argument parser.
52383 (terminal_command): Moved from here to commands/terminal.c.
52384 (set_command): New function.
52385 (unset_command): New function.
52386 (insmod_command): New function.
52387 (rmmod_command): New function.
52388 (lsmod_command): New function.
52389 (pupa_command_init): Don't initialize the command terminal
52390 anymore. Initialize the commands set, unset, insmod, rmmod and
52392 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
52393 (kernel_img_HEADERS): Add arg.h and env.h.
52394 (pupa_mkimage_LDFLAGS): Add kern/env.c.
52395 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
52396 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
52398 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
52400 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
52401 (boot_mod_SOURCES): New variable.
52402 (terminal_mod_SOURCES): Likewise.
52403 (ls_mod_SOURCES): Likewise.
52404 (cmp_mod_SOURCES): Likewise.
52405 (cat_mod_SOURCES): Likewise.
52407 * normal/arg.c: New file.
52408 * kern/env.c: Likewise.
52409 * include/pupa/arg.h: Likewise.
52410 * include/pupa/env.h: Likewise.
52411 * font/manager.c (font_command): Changed to match argument parsing
52413 (PUPA_MOD_INIT): Likewise.
52414 * hello/hello.c (pupa_cmd_hello): Likewise.
52415 (PUPA_MOD_INIT): Likewise.
52416 * include/pupa/disk.h: Include <pupa/device.h>.
52417 (pupa_print_partinfo): New prototype.
52418 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
52419 (pupa_dl_get_prefix): Likewise.
52420 * include/pupa/misc.h: Include <pupa/err.h>.
52421 (pupa_isgraph): New prototype.
52422 (pupa_isdigit): Likewise.
52423 (pupa_split_cmdline): Likewise.
52424 * include/pupa/normal.h: Include <pupa/arg.h>.
52425 (pupa_command): Changed the prototype of the member `func' to
52426 match the argument parsing interface. Added member `options'.
52427 (pupa_register_command): Updated to match function.
52428 (pupa_arg_parse): New prototype.
52429 (pupa_hello_init) [PUPA_UTIL]: New prototype.
52430 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
52431 (pupa_ls_init) [PUPA_UTIL]: Likewise.
52432 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
52433 (pupa_cat_init) [PUPA_UTIL]: Likewise.
52434 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
52435 (pupa_boot_init) [PUPA_UTIL]: Likewise.
52436 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
52437 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
52438 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
52439 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
52440 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
52441 * kern/disk.c: Include <pupa/file.h>.
52442 (pupa_print_partinfo): New function.
52443 * kern/dl.c: Include <pupa/env.h>.
52444 (pupa_dl_dir): Variable removed.
52445 (pupa_dl_load): Use the environment variable `prefix' instead of
52446 the variable pupa_dl_dir.
52447 (pupa_dl_set_prefix): Function removed.
52448 (pupa_dl_get_prefix): Likewise.
52449 * kern/i386/pc/init.c: Include <pupa/env.h>.
52450 (pupa_machine_init): Use the environment variable `prefix' instead of
52451 using pupa_dl_set_prefix to set the prefix.
52452 * kern/main.c: Include <pupa/env.h>.
52453 (pupa_set_root_dev): Use the environment variable `prefix' instead of
52454 using pupa_dl_get_prefix to get the prefix.
52455 * kern/misc.c: Include <pupa/env.h>.
52456 (pupa_isdigit): New function.
52457 (pupa_isgraph): Likewise.
52458 (pupa_ftoa): Likewise.
52459 (pupa_vsprintf): Added support for printing values of the type
52460 `double'. Make it possible to format variable output when using
52461 formatting like `%1.2%f'.
52462 (pupa_split_cmdline): New function.
52463 * kern/rescue.c: Include <pupa/env.h>.
52464 (next_word): Removed function.
52465 (pupa_rescue_cmd_prefix): Likewise.
52466 (pupa_rescue_cmd_set): New function.
52467 (pupa_rescue_cmd_unset): New function.
52468 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
52469 split the command line instead of splitting it here. Added
52470 support for setting variables using the syntax `foo=bar'. Don't
52471 initialize the prefix command anymore. Initialized the set and
52473 * normal/cmdline.c: Include <pupa/env.h>.
52474 (pupa_tab_complete): Added prototypes for print_simple_completion,
52475 print_partition_completion, add_completion, iterate_commands,
52476 iterate_dev, iterate_part and iterate_dir. Moved code to print
52477 partition information from here to kern/disk.c.
52478 (pupa_cmdline_run): Don't check if the function exists anymore.
52479 * normal/main.c: Include <pupa/env.h>.
52480 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
52481 instead of using pupa_dl_get_prefix to get the prefix.
52482 * term/i386/pc/vga.c: Include <pupa/arg.h>.
52483 (check_vga_mem): Cast pointers to `void *' to silence a gcc
52485 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
52486 (pupa_vga_setcolor): Declare unused variables with `__attribute__
52487 ((unused))' to silence a gcc warning.
52488 (pupa_vga_setcolor): Likewise.
52489 (debug_command): Changed to match argument parsing
52491 * util/pupa-emu.c: Include <pupa/env.h>.
52492 (options): Added 0's for unused fields to silence a gcc warning.
52494 (main): Use the environment variable `prefix' instead of using
52495 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
52496 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
52499 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
52500 * util/misc.c: Include <malloc.h>.
52501 (pupa_malloc): Rewritten so errors are correctly reported.
52502 (pupa_realloc): Likewise.
52503 (pupa_memalign): Likewise.
52504 (pupa_mm_init_region): Declare unused variables with
52505 `__attribute__ ((unused))' to silence a gcc warning.
52506 * normal/i386/setjmp.S: Remove tab at the end of the file to
52507 silence a gcc warning.
52508 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
52509 variables with `__attribute__ ((unused))' to silence a gcc
52511 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
52512 local variable i unsigned to silence a gcc warning.
52514 * kern/term.c: Include <pupa/misc.h>.
52515 (pupa_more_lines): New variable.
52516 (pupa_more): Likewise.
52517 (pupa_putcode): When the pager is active pause at the end of every
52519 (pupa_set_more): New function.
52520 * include/pupa/term.h (pupa_set_more): New prototype.
52523 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
52525 Now this project is GRUB 2 rather than PUPA. The location of
52526 the CVS repository was moved to GRUB's.
52528 * configure.ac: Use bug-grub as the reporting address.
52529 Use GRUB instead of PUPA.
52530 Change the version number to 1.90.
52532 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
52534 * genkernsyms.sh: Updated copyright information.
52535 * genmk.rb: Likewise.
52536 * genmodsrc.sh: Likewise.
52537 * gensymlist.sh: Likewise.
52538 * boot/i386/pc/boot.S: Likewise.
52539 * boot/i386/pc/diskboot.S: Likewise.
52540 * disk/i386/pc/biosdisk.c: Likewise.
52541 * disk/i386/pc/partition.c: Likewise.
52542 * font/manager.c: Likewise.
52543 * fs/ext2.c: Likewise.
52544 * fs/fat.c: Likewise.
52545 * include/pupa/boot.h: Likewise.
52546 * include/pupa/device.h: Likewise.
52547 * include/pupa/disk.h: Likewise.
52548 * include/pupa/dl.h: Likewise.
52549 * include/pupa/elf.h: Likewise.
52550 * include/pupa/err.h: Likewise.
52551 * include/pupa/file.h: Likewise.
52552 * include/pupa/font.h: Likewise.
52553 * include/pupa/fs.h: Likewise.
52554 * include/pupa/kernel.h: Likewise.
52555 * include/pupa/loader.h: Likewise.
52556 * include/pupa/misc.h: Likewise.
52557 * include/pupa/mm.h: Likewise.
52558 * include/pupa/net.h: Likewise.
52559 * include/pupa/normal.h: Likewise.
52560 * include/pupa/rescue.h: Likewise.
52561 * include/pupa/setjmp.h: Likewise.
52562 * include/pupa/symbol.h: Likewise.
52563 * include/pupa/term.h: Likewise.
52564 * include/pupa/types.h: Likewise.
52565 * include/pupa/i386/setjmp.h: Likewise.
52566 * include/pupa/i386/types.h: Likewise.
52567 * include/pupa/i386/pc/biosdisk.h: Likewise.
52568 * include/pupa/i386/pc/boot.h: Likewise.
52569 * include/pupa/i386/pc/console.h: Likewise.
52570 * include/pupa/i386/pc/init.h: Likewise.
52571 * include/pupa/i386/pc/kernel.h: Likewise.
52572 * include/pupa/i386/pc/linux.h: Likewise.
52573 * include/pupa/i386/pc/loader.h: Likewise.
52574 * include/pupa/i386/pc/memory.h: Likewise.
52575 * include/pupa/i386/pc/multiboot.h: Likewise.
52576 * include/pupa/i386/pc/partition.h: Likewise.
52577 * include/pupa/i386/pc/time.h: Likewise.
52578 * include/pupa/i386/pc/vga.h: Likewise.
52579 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
52580 * include/pupa/util/getroot.h: Likewise.
52581 * include/pupa/util/misc.h: Likewise.
52582 * include/pupa/util/resolve.h: Likewise.
52583 * kern/device.c: Likewise.
52584 * kern/disk.c: Likewise.
52585 * kern/dl.c: Likewise.
52586 * kern/err.c: Likewise.
52587 * kern/file.c: Likewise.
52588 * kern/fs.c: Likewise.
52589 * kern/loader.c: Likewise.
52590 * kern/main.c: Likewise.
52591 * kern/misc.c: Likewise.
52592 * kern/mm.c: Likewise.
52593 * kern/rescue.c: Likewise.
52594 * kern/term.c: Likewise.
52595 * kern/i386/dl.c: Likewise.
52596 * kern/i386/pc/init.c: Likewise.
52597 * kern/i386/pc/lzo1x.S: Likewise.
52598 * kern/i386/pc/startup.S: Likewise.
52599 * loader/i386/pc/chainloader.c: Likewise.
52600 * loader/i386/pc/linux.c: Likewise.
52601 * loader/i386/pc/multiboot.c: Likewise.
52602 * normal/cmdline.c: Likewise.
52603 * normal/command.c: Likewise.
52604 * normal/main.c: Likewise.
52605 * normal/menu.c: Likewise.
52606 * normal/i386/setjmp.S: Likewise.
52607 * term/i386/pc/console.c: Likewise.
52608 * term/i386/pc/vga.c: Likewise.
52609 * util/console.c: Likewise.
52610 * util/genmoddep.c: Likewise.
52611 * util/misc.c: Likewise.
52612 * util/pupa-emu.c: Likewise.
52613 * util/resolve.c: Likewise.
52614 * util/unifont2pff.rb: Likewise.
52615 * util/i386/pc/biosdisk.c: Likewise.
52616 * util/i386/pc/getroot.c: Likewise.
52617 * util/i386/pc/pupa-mkimage.c: Likewise.
52618 * util/i386/pc/pupa-setup.c: Likewise.
52620 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
52622 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
52623 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
52624 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
52625 reading and reset it after reading.
52626 (pupa_ext2_close): Return PUPA_ERR_NONE.
52628 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
52630 (struct linux_kernel_header): Add kernel_version and
52632 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
52633 pupa_file_read succeeds.
52634 (pupa_rescue_cmd_initrd): Implement.
52636 2003-12-03 Marco Gerards <metgerards@student.han.nl>
52638 * fs/ext2.c (pupa_ext2_label): New function.
52639 (pupa_ext2_fs): Added label.
52640 * fs/fat.c (pupa_fat_label): New function.
52641 (pupa_fat_fs): Added label.
52642 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
52644 * kern/misc.c (pupa_strndup): New function.
52645 * include/pupa/misc.h (pupa_strndup): New prototype.
52647 * include/pupa/normal.h: Include <pupa/err.h>.
52648 (pupa_set_history): New prototype.
52649 (pupa_iterate_commands): New prototype.
52650 * normal/cmdline.c: Include <pupa/machine/partition.h>,
52651 <pupa/disk.h>, <pupa/file.h>.
52652 (hist_size): New variable.
52653 (hist_lines): Likewise.
52654 (hist_end): Likewise.
52655 (hist_used): Likewise.
52656 (pupa_set_history): New function.
52657 (pupa_history_get): Likewise.
52658 (pupa_history_add): Likewise.
52659 (pupa_history_replace): Likewise.
52660 (pupa_tab_complete): Likewise.
52661 (pupa_cmdline_run): Added tab completion and history buffer. Tab
52662 completion shows partitionnames while completing partitions, this
52663 feature was suggested by Jeff Bailey.
52664 * normal/command.c (pupa_iterate_commands): New function.
52665 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
52666 (pupa_normal_init): Initialize history buffer.
52667 (PUPA_MOD_INIT): Likewise.
52668 (pupa_normal_fini): Free the history buffer.
52669 (PUPA_MOD_FINI): Likewise.
52671 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
52674 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
52675 * configure.ac [i386]: Check for regparam bug.
52676 (NESTED_FUNC_ATTR) [! i386]: Defined.
52678 2003-11-17 Marco Gerards <metgerards@student.han.nl>
52680 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
52681 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
52682 (pupa_emu_SOURCES): New variable.
52683 (pupa_emu_LDFLAGS): Likewise.
52684 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
52685 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
52686 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
52687 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52688 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
52689 (pupa_jmp_buf): New typedef.
52690 (pupa_setjmp) [PUPA_UTIL]: New macro.
52691 (pupa_longjmp) [PUPA_UTIL]: Likewise.
52692 * include/pupa/term.h (struct pupa_term): New member `refresh'.
52693 (pupa_refresh): New prototype.
52694 * include/pupa/util/getroot.h: New file.
52695 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
52697 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
52698 (pupa_rescue_cmd_cat): Likewise.
52699 (pupa_rescue_cmd_ls): Likewise.
52700 (pupa_rescue_cmd_testload): Likewise.
52701 (pupa_rescue_cmd_lsmod): Likewise.
52702 * normal/cmdline.c (pupa_cmdline_get): Likewise.
52703 * normal/menu.c (run_menu): Likewise.
52704 * kern/term.c (pupa_cls): Likewise.
52705 (pupa_refresh): New function.
52706 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
52707 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
52708 * util/console.c: New file.
52710 * util/i386/pc/getroot.c: New file.
52711 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
52712 (pupa_putchar): New function.
52713 (pupa_refresh): Likewise.
52714 (xgetcwd): Function moved to ...
52715 (strip_extra_slashes): Likewise.
52716 (get_prefix): Likewise.
52717 * util/i386/pc/getroot.c: ... here.
52718 (find_root_device): Function moved and renamed to...
52719 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
52720 Changed all callers.
52721 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
52723 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
52724 Changed all callers.
52725 * util/misc.c (pupa_memalign): New function.
52726 (pupa_mm_init_region): Likewise.
52727 (pupa_register_exported_symbols): Likewise.
52728 (pupa_putchar): Function removed.
52729 * util/pupa-emu.c: New file.
52731 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
52733 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
52734 (_multiboot_mod_SOURCES): New variable.
52735 (_multiboot_mod_CFLAGS): Likewise.
52736 * loader/i386/pc/multiboot.c: New file.
52737 * include/pupa/i386/pc/multiboot.h: Likewise.
52738 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
52739 (pupa_multiboot_real_boot): New function.
52740 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
52741 (pupa_multiboot_real_boot): New prototype.
52742 (pupa_rescue_cmd_multiboot): Likewise
52743 (pupa_rescue_cmd_module): Likewise.
52745 * kern/loader.c (pupa_loader_set): Continue when
52746 pupa_loader_unload_func() fails.
52747 (pupa_loader_unset): New function.
52748 * include/pupa/loader.h (pupa_loader_unset): New prototype.
52750 * kern/misc.c (pupa_stpcpy): New function.
52751 * include/pupa/misc.h (pupa_stpcpy): New prototype.
52753 2003-11-12 Marco Gerards <metgerards@student.han.nl>
52755 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
52756 for available extensions.
52758 * include/pupa/i386/pc/time.h: New file.
52759 * kern/disk.c: Include <pupa/machine/time.h>.
52760 (PUPA_CACHE_TIMEOUT): New macro.
52761 (pupa_last_time): New variable.
52762 (pupa_disk_open): Flush the cache when there was a timeout.
52763 (pupa_disk_close): Reset the timer.
52764 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
52766 * util/misc.c: Include <sys/times.h>
52767 (pupa_get_rtc): New function.
52769 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
52771 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
52773 (pupa_ext2_get_file_block): Use blocks member.
52775 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
52776 first block. Return -1 instead of pupa_errno on error.
52778 2003-10-27 Marco Gerards <metgerards@student.han.nl>
52780 * README: In the pupa-mkimage example use _chain instead of chain
52781 and ext2 instead of fat.
52782 * TODO: Replace ext2fs with jfs as an example. Add an item for
52783 adding journal playback for ext2fs.
52784 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
52785 (pkgdata_MODULES): Added ext2.mod.
52786 (ext2_mod_SOURCES): New variable.
52787 (ext2_mod_CFLAGS): Likewise.
52788 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
52789 * include/pupa/misc.h (pupa_strncpy): New prototype.
52790 (pupa_strcat): Likewise.
52791 (pupa_strncmp): Likewise.
52792 * kern/misc.c (pupa_strcat): Enable function.
52793 (pupa_strncpy): New function.
52794 (pupa_strncmp): Likewise.
52795 * fs/ext2.c: New file.
52797 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
52798 when the read failed before retrying.
52799 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
52800 (_FILE_OFFSET_BITS): Likewise.
52801 * configure.ac: Added AC_SYS_LARGEFILE.
52803 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52805 * genmk.rb (PModule#rule): Make sure to get only symbol names
52806 from the output of nm.
52807 Reported by Robert Millan <rmh.grub@aybabtu.com>.
52809 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
52811 I forgot to check in these changes for a long time. This adds
52812 incomplete support for VGA console, and this is still very
52813 buggy. Also, a lot of consideration is required for I18N,
52814 UNICODE, and VGA font issues. Therefore, assume that this is
52815 such that "better than nothing".
52817 * font/manager.c: New file.
52818 * include/pupa/font.h: Likewise.
52819 * include/pupa/i386/pc/vga.h: Likewise.
52820 * term/i386/pc/vga.c: Likewise.
52821 * util/unifont2pff.rb: Likewise.
52823 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
52824 (pkgdata_MODULES): Added vga.mod and font.mod.
52825 (vga_mod_SOURCES): New variables.
52826 (vga_mod_CFLAGS): Likewise.
52827 (font_mod_SOURCES): Likewise.
52828 (font_mod_CFLAGS): Likewise.
52830 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
52832 * include/pupa/term.h: Include pupa/err.h.
52833 (struct pupa_term): Added init and fini.
52834 Changed the argument of putchar to pupa_uint32_t.
52836 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
52837 (pupa_console_real_putchar): New prototype.
52838 (pupa_console_putchar): Removed.
52839 (pupa_console_checkkey): Exported.
52840 (pupa_console_getkey): Likewise.
52842 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
52845 * kern/term.c (pupa_term_set_current): Rewritten.
52846 (pupa_putchar): Likewise.
52847 (pupa_putcode): New function.
52849 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
52850 (pupa_console_real_putchar): ... this.
52851 (pupa_vga_set_mode): New function.
52852 (pupa_vga_get_font): Likewise.
52854 * normal/command.c: Include pupa/term.h.
52855 (terminal_command): New function.
52856 (pupa_command_init): Register the command "terminal".
52858 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
52859 (DISP_UP): Likewise.
52860 (DISP_RIGHT): Likewise.
52861 (DISP_DOWN): Likewise.
52862 (DISP_HLINE): Likewise.
52863 (DISP_VLINE): Likewise.
52864 (DISP_UL): Likewise.
52865 (DISP_UR): Likewise.
52866 (DISP_LL): Likewise.
52867 (DISP_LR): Likewise.
52869 * term/i386/pc/console.c (pupa_console_putchar): New function.
52871 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
52873 * util/resolve.c (pupa_util_resolve_dependencies): BUG
52874 FIX. Reverse the path_list.
52876 * include/pupa/normal.h: Export pupa_register_command and
52877 pupa_unregister_command.
52879 * hello/hello.c (pupa_cmd_hello): New module.
52880 * conf/i386-pc.rmk: Added hello.mod.
52882 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
52884 * kern/i386/pc/lzo1x.S: New file.
52886 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
52887 (compress_kernel): New variable.
52888 (generate_image): Heavily modified to support compressing a
52889 large part of the core image.
52891 * util/misc.c (pupa_util_read_image): Fix a file descriptor
52893 (pupa_util_load_image): New function.
52895 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
52896 (pupa_compressed_size): New variable.
52897 (codestart): Enable Gate A20 here.
52898 Decompress the compressed part of the core image.
52899 Rearrange the code to put functions and variables which are
52900 required for initialization in the non-compressed part.
52903 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
52906 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
52908 * include/pupa/i386/pc/kernel.h
52909 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
52910 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
52911 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
52912 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
52913 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
52915 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
52917 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
52918 (Utility#rule): Likewise.
52920 * configure.ac: Check if LZO is available.
52922 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
52924 * include/pupa/normal.h: New file.
52925 * include/pupa/setjmp.h: Likewise.
52926 * include/pupa/i386/setjmp.h: Likewise.
52927 * normal/cmdline.c: Likewise.
52928 * normal/command.c: Likewise.
52929 * normal/main.c: Likewise.
52930 * normal/menu.c: Likewise.
52931 * normal/i386/setjmp.S: Likewise.
52933 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
52934 (pupa_rescue_cmd_initrd): Likewise.
52936 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
52939 * kern/i386/pc/startup.S (translation_table): New variable.
52940 (translate_keycode): New function.
52941 (pupa_console_getkey): Call translate_keycode.
52943 * kern/rescue.c (attempt_normal_mode): New function.
52944 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
52945 it failed, print a message.
52947 * kern/mm.c (pupa_real_malloc): Print more information when a
52948 free magic is broken.
52949 (pupa_free): If the first free header is not free actually, set
52952 * kern/main.c (pupa_load_normal_mode): Just load the module
52954 (pupa_main): Don't print the message
52955 "Entering into rescue mode..." here.
52957 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
52959 (pupa_rescue_cmd_initrd): Likewise.
52960 (pupa_rescue_cmd_initrd): Likewise.
52962 * include/pupa/symbol.h (FUNCTION): Specify the type.
52963 (VARIABLE): Likewise.
52965 * include/pupa/err.h (pupa_err_t): Added
52966 PUPA_ERR_UNKNOWN_COMMAND.
52968 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
52969 (pupa_dl_get_prefix): Likewise.
52971 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
52972 Added _chain.mod and _linux.mod instead of chain.mod and
52974 (chain_mod_SOURCES): Renamed to ...
52975 (_chain_mod_SOURCES): ... this.
52976 (chain_mod_CFLAGS): Renamed to ...
52977 (_chain_mod_CFLAGS): ... this.
52978 (linux_mod_SOURCES): Renamed to ...
52979 (_linux_mod_SOURCES): ... this.
52980 (linux_mod_CFLAGS): Renamed to ...
52981 (_linux_mod_CFLAGS): ... this.
52982 (normal_mod_SOURCES): New variable.
52983 (normal_mod_CFLAGS): Likewise.
52984 (normal_mod_ASFLAGS): Likewise.
52986 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
52988 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
52991 * kern/dl.c (pupa_dl_ref): Refer depending modules
52993 (pupa_dl_unref): Unrefer depending modules recursively.
52994 Don't call pupa_dl_unload implicitly, because PUPA can crash if
52995 a module is unloaded before one depending on that module is
52997 (pupa_dl_unload): Unload depending modules explicitly,
53000 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
53002 * include/pupa/i386/pc/linux.h: New file.
53003 * loader/i386/pc/linux.c: Likewise.
53005 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
53007 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
53008 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
53009 of PUPA_CHAINLOADER_BOOT_SECTOR.
53011 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
53012 (pupa_linux_prot_size): New variable.
53013 (pupa_linux_tmp_addr): Likewise.
53014 (pupa_linux_real_addr): Likewise.
53015 (pupa_linux_boot_zimage): New function.
53016 (pupa_linux_boot_bzimage): Likewise.
53018 * kern/i386/pc/init.c (struct mem_region): New structure.
53019 (MAX_REGIONS): New macro.
53020 (mem_regions): New variable.
53021 (num_regions): Likewise.
53022 (pupa_os_area_addr): Likewise.
53023 (pupa_os_area_size): Likewise.
53024 (pupa_lower_mem): Likewise.
53025 (pupa_upper_mem): Likewise.
53026 (add_mem_region): New function.
53027 (compact_mem_regions): Likewise.
53028 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
53029 the size of the conventional memory and that of so-called upper
53030 memory (before the first memory hole).
53031 Instead of adding each found region to free memory, use
53032 add_mem_region and add them after removing overlaps.
53033 Also, add only 1/4 of the upper memory to free memory. The rest
53034 is used for loading OS images. Maybe this is ad hoc, but this
53035 makes it much easier to relocate OS images when booting.
53037 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
53038 (pupa_enter_rescue_mode): Don't register initrd and module.
53040 * kern/mm.c: Include pupa/dl.h.
53042 * kern/main.c: Include pupa/file.h and pupa/device.h.
53044 * kern/loader.c (pupa_loader_load_module_func): Removed.
53045 (pupa_loader_load_module): Likewise.
53047 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
53050 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
53051 (pupa_linux_tmp_addr): Likewise.
53052 (pupa_linux_real_addr): Likewise.
53053 (pupa_linux_boot_zimage): Likewise.
53054 (pupa_linux_boot_bzimage): Likewise.
53056 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
53057 (pupa_upper_mem): Likewise.
53058 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
53059 module is too dangerous.
53061 * include/pupa/loader.h (pupa_os_area_addr): Declared.
53062 (pupa_os_area_size): Likewise.
53063 (pupa_loader_set): Remove the first argument. Loader doesn't
53064 manage modules or initrd any longer.
53065 (pupa_loader_load_module): Removed.
53067 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
53068 (linux_mod_SOURCES): New variable.
53069 (linux_mod_CFLAGS): Likewise.
53071 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
53073 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
53074 the length of a blocklist correctly.
53076 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
53077 Use ioctl only if the OS file is a block device.
53078 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
53079 not very useful for normal files.
53081 * kern/main.c (pupa_set_root_dev): New function.
53082 (pupa_load_normal_mode): Likewise.
53083 (pupa_main): Call those above.
53085 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
53088 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
53090 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
53092 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
53093 (setup): Configure the installed partition information and the
53096 * loader/i386/pc/chainloader.c (my_mod): New variable.
53097 (pupa_chainloader_unload): New function.
53098 (pupa_rescue_cmd_chainloader): Refer itself.
53099 (PUPA_MOD_INIT): Save its own module in MY_MOD.
53101 * kern/i386/pc/startup.S (install_partition): Removed.
53102 (version_string): Likewise.
53103 (config_file): Likewise.
53104 (pupa_install_dos_part): New variable.
53105 (pupa_install_bsd_part): Likewise.
53106 (pupa_prefix): Likewise.
53107 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
53109 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
53111 (make_install_device): New function.
53112 (pupa_machine_init): Set the dl prefix.
53114 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
53115 (buf): Renamed to ...
53116 (linebuf): ... this.
53117 (pupa_rescue_cmd_prefix): New function.
53118 (pupa_rescue_cmd_insmod): Likewise.
53119 (pupa_rescue_cmd_rmmod): Likewise.
53120 (pupa_rescue_cmd_lsmod): Likewise.
53121 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
53124 * kern/mm.c (pupa_memalign): If failed even after invalidating
53125 disk caches, unload unneeded modules and retry.
53127 * kern/misc.c (pupa_memmove): New function.
53128 (pupa_memcpy): Removed.
53129 (pupa_strcpy): New function.
53130 (pupa_itoa): Made static.
53132 * kern/dl.c (pupa_dl_iterate): New function.
53133 (pupa_dl_ref): Likewise.
53134 (pupa_dl_unref): Likewise.
53135 (pupa_dl_unload): Return if succeeded or not.
53136 (pupa_dl_unload_unneeded): New function.
53137 (pupa_dl_unload_all): Likewise.
53138 (pupa_dl_init): Renamed to ...
53139 (pupa_dl_set_prefix): ... this.
53140 (pupa_dl_get_prefix): New function.
53142 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
53143 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
53144 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
53145 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
53146 (pupa_install_dos_part): Declared.
53147 (pupa_install_bsd_part): Likewise.
53148 (pupa_prefix): Likewise.
53149 (pupa_boot_drive): Likewise.
53151 * include/pupa/types.h: Fix a typo.
53153 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
53155 (pupa_memmove): Declared.
53156 (pupa_strcpy): Likewise.
53158 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
53159 pupa_mod_init takes one argument, its own module.
53160 (pupa_dl_unload_unneeded): Declared.
53161 (pupa_dl_unload_all): Likewise.
53162 (pupa_dl_ref): Likewise.
53163 (pupa_dl_unref): Likewise.
53164 (pupa_dl_iterate): Likewise.
53165 (pupa_dl_init): Renamed to ...
53166 (pupa_dl_set_prefix): ... this.
53167 (pupa_dl_get_prefix): Declared.
53169 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
53170 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
53172 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
53173 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
53175 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
53176 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
53178 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53180 * util/i386/pc/pupa-setup.c (setup): Define the internal
53181 function find_first_partition_start at the top level, because GCC
53182 3.0.x cannot compile internal functions in deeper scopes
53184 (find_root_device): Use lstat instead of stat.
53185 Don't follow symbolic links.
53186 Fix the path-constructing code.
53188 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
53189 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
53190 by a BLKGETSIZE ioctl first, because block devices don't fill
53191 the member st_mode of the structure stat on Linux.
53192 [__linux__] (linux_find_partition): Use a temporary buffer
53193 REAL_DEV for the working space. Copy it to DEV before returning.
53194 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
53195 buffer cache consistent.
53196 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
53197 strncmp. The previous value was merely wrong.
53198 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
53200 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
53201 FAT size is 12. The previous value was merely wrong.
53203 * kern/main.c (pupa_main): Don't split the starting message from
53206 * kern/term.c (pupa_putchar): Put CR after LF instead of before
53207 LF, because BIOS goes crazy about character attributes in this
53210 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
53212 * include/i386/pc/util/biosdisk.h: New file.
53213 * util/i386/pc/biosdisk.c: Likewise.
53214 * util/i386/pc/pupa-setup.c: Likewise.
53216 * Makefile.in (INCLUDE_DISTFILES): Added
53217 include/pupa/i386/pc/util/biosdisk.h.
53218 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
53219 directory util/i386/pc.
53220 (install-local): Added a rule for sbin_UTILITIES.
53221 (uninstall): Likewise.
53223 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
53225 * util/misc.c (xrealloc): New function.
53226 (pupa_malloc): Likewise.
53227 (pupa_free): Likewise.
53228 (pupa_realloc): Likewise.
53229 (pupa_stop): Likewise.
53230 (pupa_putchar): Likewise.
53232 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
53234 * include/pupa/util/misc.h (xrealloc): Declared.
53236 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
53238 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
53239 (PUPA_BOOT_MACHINE_BPB_END): ... this.
53241 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
53242 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53244 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
53245 way should be implemented.
53246 [PUPA_UTIL] (pupa_fat_fini): Likewise.
53248 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
53249 the size of NAME for safety.
53250 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
53253 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
53254 (pupa_setup_SOURCES): Likewise.
53256 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
53258 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53260 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
53261 bunch of pushl's from pusha, because this destroys the return
53264 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
53266 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
53267 This means that any missing prototypes could be fatal. Also, you
53268 must take care when writing assembly code. See the comments at
53269 the beginning of startup.S, for more details.
53271 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
53272 compilation mechanism.
53273 (pupa_chainloader_real_boot): Likewise.
53274 (pupa_biosdisk_rw_int13_extensions): Likewise.
53275 (pupa_biosdisk_rw_standard): Likewise.
53276 (pupa_biosdisk_check_int13_extensions): Likewise.
53277 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
53278 (pupa_biosdisk_get_diskinfo_standard): Likewise.
53279 (pupa_get_memsize): Likewise.
53280 (pupa_get_mmap_entry): Likewise.
53281 (pupa_console_putchar): Likewise.
53282 (pupa_console_setcursor): Likewise.
53283 (pupa_getrtsecs): Use pushl instead of push.
53285 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
53286 memory instead of the stack for a mmap entry, because some
53287 BIOSes may ignore the maximum size and overflow.
53289 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
53291 * genmk.rb (PModule#rule): Compile automatically generated
53292 sources with module-specific CFLAGS as well as other sources.
53294 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53296 * configure.ac: Check ld.
53297 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
53298 respectively, before checking endianness and sizes.
53300 * Makefile.in (LD): New variable.
53302 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53304 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
53306 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
53308 * Changelog: New file.